Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002709 [ardour] bugs crash random 2009-06-04 02:03 2012-07-03 04:56
Reporter daemonic_myst View Status public  
Assigned To
Priority normal Resolution open  
Status confirmed   Product Version 2.8
Summary 0002709: Ardour crashes very often while zooming
Description Hello!

I'd like to report an issue which I have experienced in all versions of
Arodur (since 2.2 or something). At the moment I use 2.8.
My hardware/OS are: Edirol FA-66, AMD x64 6400+, 4 GB RAM, motherboard Asus
M2N32WS Pro, nVidia gr. card; 64studio upgraded to Debian (unstable),
realtime patched kernel 2.6.26.8-rt16 (a few weeks ago I used
2.6.24.7-rt17, and several months ago had used a different Debian distribution - no difference, the issue has remained all the time), self compiled Ardour
(some months ago I had used distribution provided Ardour, but there was no
difference too)

And the only problem I have encountered so far is frequent crashing while
trying to zoom in (haven't noticed any crash while zooming out). And no
matter if I use the 'Z' shortcut, and try to zoom with my mouse or just
click the '+' button to zoom, Ardour will crash eventually (more less once
per ten zooms).
Yesterday I had a two hour Ardour session where I needed to 'concatenate'
several audio regions (move them, and zoom in to attach them as close as
possible to each other), and I had about 10 crashes which was really
annoying.

I am willing to donate some noticeable amount of bucks especially for this purpose (or just support Ardour generally) if that could help developers to pay closer attention to that problem. Ardour is extraordinary software, and I want to use it with my home recordings, but would like to have the environment stable.

Below I am attaching the bug report Ardour generated yesterday. If it's not
enough, please let me know what I should do to provide you with more
details about the problem.

Thank you very much for you great work & software!
B. Regards,
Tomasz Grzelak
Additional Information Attached the bug report generated by Ardour.
Tags No tags attached.
Attached Files txt file icon ardour-2.8-bugreport.txt [^] (11,411 bytes) 2009-06-04 02:03 [Show Content]
txt file icon ardour-2.8.2-bugreport.txt [^] (20,797 bytes) 2009-10-06 23:18 [Show Content]
txt file icon ardour-2.8.2-bugreport_2.txt [^] (21,817 bytes) 2009-10-06 23:18 [Show Content]

Sponsor -  Users sponsoring this issue
Sponsors List Total Sponsorship = US$ 30

2009-06-04 02:04: daemonic_myst (US$ 25)
2009-07-20 13:33: cemeterysunshine (US$ 5)

- Relationships
has duplicate 0002865assignedpaul OSX V 2.8.3 random crash caused during scroll and/or zoom-out action 

-  Notes
(0006146)
realhangman (reporter)
2009-06-20 15:13
edited on: 2009-06-20 15:15

Yes. Ardour 2.8 crashes randomly while zooming out (!) here. I do it via CTRL-scrollmouse.

-> segmentation fault (in the console)

Ardour just disappears.
Appears ca. every 10 minutes while working (and recording with people...)

linux 2.6.30 (appeared also with 2.6.29 and 2.6.28), fluxbox, debian testing, self-compiled Ardour 2.8, 2 monitor setup (randr), AMD quadcore 64bit.

!Please update to priority high!

(0006152)
daemonic_myst (reporter)
2009-06-21 22:28

For me it crashes while zooming in... Haven't noticed a crash while zooming out.

Any way, how can I update the priority to high? I cannot see an option to edit my request or just change its prio level.
(0006381)
seablade (manager)
2009-07-05 20:31

This was confirmed by Ben on IRC at one point, we are looking into it but it is difficult to track down. We really could use some backtraces that are from Ardour when built with DEBUG=1 as described in the debugging ardour page on the website. Thanks.
(0006435)
daemonic_myst (reporter)
2009-07-17 00:09

Sorry for late response.
I'll try to recompile ardour with debug enabled, and attach a trace this weekend.
(0006442)
daemonic_myst (reporter)
2009-07-20 04:08

OK, I've checked it but now I'm totally confused...
I downloaded and compiled Ardour 2.8.1, and did not have a single crash during a few tens of zooms in & out!
What's more interesting, next I run ardour 2.8 (which had crashed so many times during my last project it had inspired me to log the bug), and I didn't have any crash in there neither! So now I'm wondering what the hell happened...?????

During last few weeks I changed my hardware (switched from AMD to Intel; replaced motherboard, CPU, RAM and a graphics card), but the system and software are almost the same - I have not touched any single component of the system besides kernel (I compiled it with the same config but with support for Intel and my new chipset), I even used the same jack/ffado + hydrogen + ardour compiled on my old AMD.

Could the issue be somehow hardware related? Or AMD related??? I really don't know what to think about this now...

I'm preparing for recording another composition soon, so it will give me deeper possibilities for testing, and confirming the situation, but at the moment the bug seems to have disappeared magically :/
(0006539)
nettings (manager)
2009-08-14 19:42

can the other reporters still reproduce this issue with 2.8.2 or current svn?
i doubt that it's hardware-related, but maybe the issue got fixed in passing...
(0006545)
seablade (manager)
2009-08-14 20:06

nettings it is still an issue. It is a aknown bug and I believe a priority to knock out before 2.8.3 It is just very tough to track down.

     Seablade
(0006549)
realhangman (reporter)
2009-08-15 03:37

Yes, here too. It is very hard to reproduce though.
I'm currently editing some drums very heavily and Ardour crashes pretty often.
What I do:

Zoom in, cut a region on two locations, move the region, set the playhead in front of the new crossfades, playback, zoom out, listen again to that piece, maybe have a look at it again with some zooming, then zoom in to the next beat and repeat the whole thing.
This happens very quickly, and after some minutes or sometimes quarter to half an hour of work, Ardour crashes when I want to zoom out (CTRL-Mousewheel).
(0006690)
daemonic_myst (reporter)
2009-10-06 23:18

Hello,

finally, some fresh info regarding the problem.
Several days ago I managed to upgrade to Ardour 2.8.2, and spend some time with recording.

The first warning I got when starting Ardour was this:
---
WARNING: Your system has a limit for maximum amount of locked memory!
         This might cause Ardour to run out of memory before your system runs
         out of memory. You can view the memory limit with 'ulimit -l', and it
         is normally controlled by /etc/security/limits.conf
---
ulimit -l gives me 3072000

I'm not sure if this is related to those crashes...
But any way, now I think I know how to reproduce the problem (at least in my environment).

First I'll describe when the problem does not happen - e.g. I open an already saved session, and I can zoom in and out without crashes. At least during tens of zooms I had no crash.

And now, crashes happen when I work with Ardour for a longer time, and make some (many) recordings. After that, when I want to zoom particular regions to move them as close as possible to each other,
Ardour crashes quite frequently.
I've attached files with debug messages from two different crashes (ardour-2.8.2-bugreport.txt and ardour-2.8.2-bugreport_2.txt). I hope they will help to find out what's wrong.
And if there's anything more I could test from my side, just let me know...
(0006827)
realhangman (reporter)
2009-10-21 04:36

Hi,

Ardour 2.8.3 just crashed again while zooming.
Here is the backtrace:

--

Thread 9 (Thread 7819):
#0 0x00007f9e9d00db89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007f9e9f8b72ba in Glib::Cond::wait (this=0x303e5a0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f9ea1c0abcb in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x303eb08) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x303eb00) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x303ead0) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x303eab0) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007f9e9f8b7be4 in call_thread_entry_slot (data=0x303eab0) at libs/glibmm2/glibmm/thread.cc:43
#8 0x00007f9e9fb44f84 in ?? () from /lib/libglib-2.0.so.0
#9 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#10 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 8 (Thread 7881):
#0 0x00007f9e99843d36 in poll () from /lib/libc.so.6
#1 0x00007f9ea1b67e4b in ARDOUR::Session::butler_thread_work (this=0x3ac2000) at libs/ardour/session_butler.cc:179
#2 0x00007f9ea1b68e21 in ARDOUR::Session::_butler_thread_work (arg=0x3ac2000) at libs/ardour/session_butler.cc:159
#3 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#4 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()

Thread 7 (Thread 7818):
#0 0x00007f9e9d00db89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007f9e9f8b72ba in Glib::Cond::wait (this=0x303e5a0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f9ea1c0abcb in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x303e908) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x303e900) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x303e8d0) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x303e8b0) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007f9e9f8b7be4 in call_thread_entry_slot (data=0x303e8b0) at libs/glibmm2/glibmm/thread.cc:43
#8 0x00007f9e9fb44f84 in ?? () from /lib/libglib-2.0.so.0
#9 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#10 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 6 (Thread 7872):
#0 0x00007f9e9d00db89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007f9e9d227ccb in ?? () from /usr/lib/libjack.so.0
#2 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#3 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#4 0x0000000000000000 in ?? ()

Thread 5 (Thread 7882):
#0 0x00007f9e99843d36 in poll () from /lib/libc.so.6
#1 0x00007f9ea1bcba44 in ARDOUR::Session::midi_thread_work (this=0x3ac2000) at libs/ardour/session_midi.cc:1223
#2 0x00007f9ea1bcbfcf in ARDOUR::Session::_midi_thread_work (arg=0x3ac2000) at libs/ardour/session_midi.cc:1141
#3 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#4 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()

Thread 4 (Thread 7877):
#0 0x00007f9e9d010eb1 in nanosleep () from /lib/libpthread.so.0
#1 0x00007f9e9fb471b8 in g_usleep () from /lib/libglib-2.0.so.0
#2 0x00007f9e9f8af265 in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68
#3 0x00007f9ea1a1f0ec in ARDOUR::AudioEngine::meter_thread (this=0x2eb5bd0) at libs/ardour/audioengine.cc:453
#4 0x00007f9ea1a237f9 in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x3ab15b8) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#5 0x00007f9ea1a23815 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x3ab15b0) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007f9ea1a23838 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x3ab1580) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x2f35300) at libs/sigc++2/sigc++/functors/slot.h:440
#8 0x00007f9e9f8b7be4 in call_thread_entry_slot (data=0x2f35300) at libs/glibmm2/glibmm/thread.cc:43
#9 0x00007f9e9fb44f84 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#11 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 7876):
#0 0x00007f9e99843d36 in poll () from /lib/libc.so.6
#1 0x00007f9e9d226616 in ?? () from /usr/lib/libjack.so.0
#2 0x00007f9e9d226a4b in jack_thread_wait () from /usr/lib/libjack.so.0
#3 0x00007f9e9d226bea in ?? () from /usr/lib/libjack.so.0
#4 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#5 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#6 0x0000000000000000 in ?? ()

Thread 2 (Thread 7820):
#0 0x00007f9e9d00db89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007f9e9f8b72ba in Glib::Cond::wait (this=0x303ecb0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f9ea19fea18 in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3 0x00007f9ea19feb78 in analyser_work () at libs/ardour/analyser.cc:49
#4 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x303ed68) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#5 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x303ed60) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x303ed30) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x303ed10) at libs/sigc++2/sigc++/functors/slot.h:440
#8 0x00007f9e9f8b7be4 in call_thread_entry_slot (data=0x303ed10) at libs/glibmm2/glibmm/thread.cc:43
#9 0x00007f9e9fb44f84 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007f9e9d009f9a in start_thread () from /lib/libpthread.so.0
#11 0x00007f9e9984c56d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 7799):
#0 0x00007f9e9d00b30a in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x00007f9e9f8b70df in Glib::Mutex::lock (this=0x7f9e71628658) at libs/glibmm2/glibmm/thread.cc:213
#2 0x00000000008ea9e9 in Lock (this=0x7fffb334f170, mutex=...) at libs/glibmm2/glibmm/thread.h:795
#3 0x00000000008eaa41 in ARDOUR::AutomationList::apply_to_points<AutomationLine> (this=0x7f9e716285d8, obj=..., method=0x8e4d0a <AutomationLine::reset_callback(ARDOUR::AutomationList const&)>)
    at libs/ardour/ardour/automation_event.h:165
#4 0x00000000008df46f in AutomationLine::reset (this=0x7f9e725969d0) at gtk2_ardour/automation_line.cc:1245
#5 0x00000000008edc4d in AutomationTimeAxisView::set_samples_per_unit (this=0x7f9e72590800, spu=95.207726134865084) at gtk2_ardour/automation_time_axis.cc:379
#6 0x0000000000cce2b0 in TimeAxisView::set_samples_per_unit (this=0x7f9e72577e80, spu=95.207726134865084) at gtk2_ardour/time_axis_view.cc:668
#7 0x0000000000c4b4de in RouteTimeAxisView::set_samples_per_unit (this=0x7f9e72577dd0, spu=95.207726134865084) at gtk2_ardour/route_time_axis.cc:824
#8 0x0000000000c47be1 in RouteTimeAxisView::reset_samples_per_unit (this=0x7f9e72577dd0) at gtk2_ardour/route_time_axis.cc:808
#9 0x0000000000c61d2d in sigc::bound_mem_functor0<void, RouteTimeAxisView>::operator() (this=0x7f9e7258bda8) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#10 0x0000000000c61d49 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, RouteTimeAxisView> >::operator() (this=0x7f9e7258bda0) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#11 0x0000000000c61d6c in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, RouteTimeAxisView>, void>::call_it (rep=0x7f9e7258bd70) at libs/sigc++2/sigc++/functors/slot.h:103
#12 0x0000000000844b89 in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x2f01900) at libs/sigc++2/sigc++/signal.h:772
#13 0x0000000000844c6d in sigc::signal0<void, sigc::nil>::emit (this=0x37b6ba8) at libs/sigc++2/sigc++/signal.h:2667
#14 0x0000000000844c85 in sigc::signal0<void, sigc::nil>::operator() (this=0x37b6ba8) at libs/sigc++2/sigc++/signal.h:2675
#15 0x000000000094ee3a in Editor::post_zoom (this=0x37b6b40) at gtk2_ardour/editor.cc:4506
#16 0x000000000094ef88 in Editor::set_frames_per_unit (this=0x37b6b40, fpu=95.207726134865084) at gtk2_ardour/editor.cc:4470
#17 0x000000000094efe5 in Editor::idle_visual_changer (this=0x37b6b40) at gtk2_ardour/editor.cc:4565
#18 0x000000000094f089 in Editor::_idle_visual_changer (arg=0x37b6b40) at gtk2_ardour/editor.cc:4554
#19 0x00007f9e9fb1c12a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#20 0x00007f9e9fb1f988 in ?? () from /lib/libglib-2.0.so.0
#21 0x00007f9e9fb1fe5d in g_main_loop_run () from /lib/libglib-2.0.so.0
#22 0x00007f9e9f396c07 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#23 0x00007f9e9d9955d9 in Gtk::Main::run_impl (this=0x2dd38f0) at libs/gtkmm2/gtk/gtkmm/main.cc:503
#24 0x00007f9e9d995476 in Gtk::Main::run () at libs/gtkmm2/gtk/gtkmm/main.cc:450
#25 0x00007f9e9d4e9535 in Gtkmm2ext::UI::run (this=0x2dce0e0, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:226
#26 0x0000000000b5066d in main (argc=1, argv=0x7fffb334f9b8) at gtk2_ardour/main.cc:388

--

Best
realhangmsn
(0006828)
realhangman (reporter)
2009-10-21 04:47

Hey,

and to second the "very often" : Just another one while zooming in (last report is about zooming out):

--

Thread 9 (Thread 9293):
#0 0x00007fa86efd7eb1 in nanosleep () from /lib/libpthread.so.0
#1 0x00007fa871b0e1b8 in g_usleep () from /lib/libglib-2.0.so.0
#2 0x00007fa871876265 in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68
#3 0x00007fa8739e60ec in ARDOUR::AudioEngine::meter_thread (this=0x28d3230) at libs/ardour/audioengine.cc:453
#4 0x00007fa8739ea7f9 in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x34c1d78) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#5 0x00007fa8739ea815 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x34c1d70) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007fa8739ea838 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x34c1d40) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x34c18a0) at libs/sigc++2/sigc++/functors/slot.h:440
#8 0x00007fa87187ebe4 in call_thread_entry_slot (data=0x34c18a0) at libs/glibmm2/glibmm/thread.cc:43
#9 0x00007fa871b0bf84 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#11 0x00007fa86b81356d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 8 (Thread 9259):
#0 0x00007fa86efd4b89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007fa87187e2ba in Glib::Cond::wait (this=0x2a5ccb0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa8739c5a18 in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3 0x00007fa8739c5b78 in analyser_work () at libs/ardour/analyser.cc:49
#4 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x2a5cd68) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#5 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x2a5cd60) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x2a5cd30) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x2a5cd10) at libs/sigc++2/sigc++/functors/slot.h:440
#8 0x00007fa87187ebe4 in call_thread_entry_slot (data=0x2a5cd10) at libs/glibmm2/glibmm/thread.cc:43
#9 0x00007fa871b0bf84 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#11 0x00007fa86b81356d in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 7 (Thread 9295):
#0 0x00007fa86b80ad36 in poll () from /lib/libc.so.6
#1 0x00007fa873b92a44 in ARDOUR::Session::midi_thread_work (this=0x34d2270) at libs/ardour/session_midi.cc:1223
#2 0x00007fa873b92fcf in ARDOUR::Session::_midi_thread_work (arg=0x34d2270) at libs/ardour/session_midi.cc:1141
#3 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#4 0x00007fa86b81356d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()

Thread 6 (Thread 9257):
#0 0x00007fa86efd4b89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007fa87187e2ba in Glib::Cond::wait (this=0x2a5c5a0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa873bd1bcb in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x2a5c908) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x2a5c900) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x2a5c8d0) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x2a5c8b0) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007fa87187ebe4 in call_thread_entry_slot (data=0x2a5c8b0) at libs/glibmm2/glibmm/thread.cc:43
#8 0x00007fa871b0bf84 in ?? () from /lib/libglib-2.0.so.0
#9 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#10 0x00007fa86b81356d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 9289):
#0 0x00007fa86efd4b89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007fa86f1eeccb in ?? () from /usr/lib/libjack.so.0
#2 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#3 0x00007fa86b81356d in clone () from /lib/libc.so.6
#4 0x0000000000000000 in ?? ()

Thread 4 (Thread 9258):
#0 0x00007fa86efd4b89 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1 0x00007fa87187e2ba in Glib::Cond::wait (this=0x2a5c5a0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa873bd1bcb in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000c1903f in sigc::pointer_functor0<void>::operator() (this=0x2a5cb08) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
#4 0x0000000000c1905b in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x2a5cb00) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#5 0x0000000000c1907e in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x2a5cad0) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x000000000080eae9 in sigc::slot0<void>::operator() (this=0x2a5cab0) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007fa87187ebe4 in call_thread_entry_slot (data=0x2a5cab0) at libs/glibmm2/glibmm/thread.cc:43
#8 0x00007fa871b0bf84 in ?? () from /lib/libglib-2.0.so.0
#9 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#10 0x00007fa86b81356d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()
Thread 3 (Thread 9294):
#0 0x00007fa86b80ad36 in poll () from /lib/libc.so.6
#1 0x00007fa873b2ee4b in ARDOUR::Session::butler_thread_work (this=0x34d2270) at libs/ardour/session_butler.cc:179
#2 0x00007fa873b2fe21 in ARDOUR::Session::_butler_thread_work (arg=0x34d2270) at libs/ardour/session_butler.cc:159
#3 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#4 0x00007fa86b81356d in clone () from /lib/libc.so.6
#5 0x0000000000000000 in ?? ()

Thread 2 (Thread 9292):
#0 0x00007fa86b80ad36 in poll () from /lib/libc.so.6
#1 0x00007fa86f1ed616 in ?? () from /usr/lib/libjack.so.0
#2 0x00007fa86f1eda4b in jack_thread_wait () from /usr/lib/libjack.so.0
#3 0x00007fa86f1edbea in ?? () from /usr/lib/libjack.so.0
#4 0x00007fa86efd0f9a in start_thread () from /lib/libpthread.so.0
#5 0x00007fa86b81356d in clone () from /lib/libc.so.6
#6 0x0000000000000000 in ?? ()

Thread 1 (Thread 9239):
#0 0x00007fa86efd230a in pthread_mutex_lock () from /lib/libpthread.so.0
#1 0x00007fa87187e0df in Glib::Mutex::lock (this=0x7fa840559a88) at libs/glibmm2/glibmm/thread.cc:213
#2 0x00000000008ea9e9 in Lock (this=0x7fffbfb47070, mutex=...) at libs/glibmm2/glibmm/thread.h:795
#3 0x00000000008eaa41 in ARDOUR::AutomationList::apply_to_points<AutomationLine> (this=0x7fa840559a08, obj=..., method=0x8e4d0a <AutomationLine::reset_callback(ARDOUR::AutomationList const&)>)
    at libs/ardour/ardour/automation_event.h:165
#4 0x00000000008df46f in AutomationLine::reset (this=0x7fa85cb48a20) at gtk2_ardour/automation_line.cc:1245
#5 0x00000000008edc4d in AutomationTimeAxisView::set_samples_per_unit (this=0x7fa85cb41800, spu=154.04933700000001) at gtk2_ardour/automation_time_axis.cc:379
#6 0x0000000000cce2b0 in TimeAxisView::set_samples_per_unit (this=0x7fa85cb299c0, spu=154.04933700000001) at gtk2_ardour/time_axis_view.cc:668
#7 0x0000000000c4b4de in RouteTimeAxisView::set_samples_per_unit (this=0x7fa85cb29910, spu=154.04933700000001) at gtk2_ardour/route_time_axis.cc:824
#8 0x0000000000c47be1 in RouteTimeAxisView::reset_samples_per_unit (this=0x7fa85cb29910) at gtk2_ardour/route_time_axis.cc:808
#9 0x0000000000c61d2d in sigc::bound_mem_functor0<void, RouteTimeAxisView>::operator() (this=0x7fa85cb3c068) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#10 0x0000000000c61d49 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, RouteTimeAxisView> >::operator() (this=0x7fa85cb3c060) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#11 0x0000000000c61d6c in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, RouteTimeAxisView>, void>::call_it (rep=0x7fa85cb3c030) at libs/sigc++2/sigc++/functors/slot.h:103
#12 0x0000000000844b89 in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x7fa8404f9870) at libs/sigc++2/sigc++/signal.h:772
#13 0x0000000000844c6d in sigc::signal0<void, sigc::nil>::emit (this=0x31c2698) at libs/sigc++2/sigc++/signal.h:2667
#14 0x0000000000844c85 in sigc::signal0<void, sigc::nil>::operator() (this=0x31c2698) at libs/sigc++2/sigc++/signal.h:2675
#15 0x000000000094ee3a in Editor::post_zoom (this=0x31c2630) at gtk2_ardour/editor.cc:4506
#16 0x000000000094ef88 in Editor::set_frames_per_unit (this=0x31c2630, fpu=154.04933700000001) at gtk2_ardour/editor.cc:4470
#17 0x000000000094efe5 in Editor::idle_visual_changer (this=0x31c2630) at gtk2_ardour/editor.cc:4565
#18 0x000000000094f089 in Editor::_idle_visual_changer (arg=0x31c2630) at gtk2_ardour/editor.cc:4554
#19 0x00007fa871ae312a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#20 0x00007fa871ae6988 in ?? () from /lib/libglib-2.0.so.0
#21 0x00007fa871ae6e5d in g_main_loop_run () from /lib/libglib-2.0.so.0
#22 0x00007fa87135dc07 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#23 0x00007fa86f95c5d9 in Gtk::Main::run_impl (this=0x27f18f0) at libs/gtkmm2/gtk/gtkmm/main.cc:503
#24 0x00007fa86f95c476 in Gtk::Main::run () at libs/gtkmm2/gtk/gtkmm/main.cc:450
#25 0x00007fa86f4b0535 in Gtkmm2ext::UI::run (this=0x27ec0e0, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:226
#26 0x0000000000b5066d in main (argc=1, argv=0x7fffbfb478b8) at gtk2_ardour/main.cc:388

--

Best
realhangman
(0007072)
daemonic_myst (reporter)
2009-11-04 03:54

Hello,

a question rather to developers - any news in the topic?
Is the issue being researched?
I'm willing to help and provide more info or test results if needed.

B. Regards!
(0012440)
Campusanis (reporter)
2011-12-22 12:39

I haven't been paying attention to Ardour developments in a while but after just testing the most recent 2.x version (2.8.12), I realized that this bug is still present. Any updates on a possible fix happening?
(0012441)
cth103 (administrator)
2011-12-22 12:52

Are these crashes, or does Ardour hang up?
(0012442)
Campusanis (reporter)
2011-12-22 13:52

Straight crashes, Ardour just exits.
(0012443)
cth103 (administrator)
2011-12-22 14:25

Does anyone have a relatively small session which allows this bug to be reproduced reasonably often?
(0012479)
daemonic_myst (reporter)
2011-12-27 22:46

Because of no response to this case for very long time, I decided to buy Mixbus. Although it is based on Ardour, it does not seem to be affected by the problem. I've been working quite heavily on a new song for a few weeks already, and didn't get the crash even once.
I wonder whether the issue may be related to some system libs and compiling Ardour from source? Although I had used a few different OSes (64studio, Ubuntu Studio in different versions) I had always compiled Ardour from source, and encountered the problem. Mixbus is obviously a binary, and seems to run stable in my environment.
(0012482)
Campusanis (reporter)
2011-12-28 06:01

I've used both binary packages and self-compiled source, and always had this problem. In a typical (large) session where I'm comping tracks (so lots of editing and zooming), I get crashes literally every two minutes. It seems that crashes are much less frequent when I do fewer editing operations, though.
Interesting that Mixbus doesn't seem to be affected. Maybe I'll try it some time...
(0012485)
seablade (manager)
2011-12-28 08:14

You should clarify what you mean by binary packages? Do you mean the self-contained binary that can be downloaded from ardour.org? Or do you mean binaries from your distribution.

Mixbus is pretty well identical to Ardour in this regards for the record, there isn't any code I know of that would fix this in Mixbus but not Ardour.
(0012486)
Campusanis (reporter)
2011-12-28 08:51

I've been using my distribution's (Ubuntu Studio 10.04) binary, Ardour 2.8.6 (revision 6550), for the longest time but have downloaded a self-contained binary of 2.8.12 from ardour.org a few days ago. I'm not noticing any differences in crash frequency between the two so far.
(0013769)
red (reporter)
2012-07-03 03:58
edited on: 2012-07-03 04:14

Is this still going on? I couldn't reproduce this on my Gentoo Linux (will keep trying), but I find this part of the backtrace interesting:

#4 <signal handler called>
#5 0x00007f7cabe2b30a in pthread_mutex_lock () from /lib/libpthread.so.0
#6 0x00007f7cadf7d4d7 in Glib::Mutex::lock (this=0x3785978)
[...]
#8 0x00000000008e1299 in ARDOUR::AutomationList::apply_to_points<AutomationLine> (this=0x37858f8, obj=@0x7f7c8451c210,
    method=0x8db562 <AutomationLine::reset_callback(ARDOUR::AutomationList const&)>) at libs/ardour/ardour/automation_event
.h:165

My ardour 2.8.13 (built from revision 12983) (2.0-ongoing) has this in libs/ardour/ardour/automation_event.h (line 218):

mutable Glib::Mutex lock;

and at line 162 there's this:

template<class T> void apply_to_points (T& obj, void (T::*method)(const AutomationList&)) {
    Glib::Mutex::Lock lm (lock);
    (obj.*method)(*this);
}

Now, the note here:

http://developer.gnome.org/glibmm/unstable/classGlib_1_1Mutex.html [^]

says "Glib::Mutex is not recursive, i.e. a thread will deadlock, if it already has locked the mutex while calling lock(). Use Glib::RecMutex instead, if you need recursive mutexes."

It's theoretically possible that a new zoom request comes in while this one got past the Glib::Mutex::Lock constructor, but not yet past it's destructor, and locks the mutex again (presumably somehow asychronously but in the same thread? - a case covered by a RecMutex).

Since I couldn't reproduce the issue with my build, if somebody else can, could you replace "Mutex" with "RecMutex" in the "mutable Glib::Mutex lock;" line and see if the problem persists (and generally see where the application is better served by recursive mutexes)?

(0013770)
red (reporter)
2012-07-03 04:56

http://pubs.opengroup.org/onlinepubs/007908799/xsh/pthread_mutex_lock.html [^]

"If the mutex type is PTHREAD_MUTEX_DEFAULT, attempting to recursively lock the mutex results in undefined behaviour. Attempting to unlock the mutex if it was not locked by the calling thread results in undefined behaviour. Attempting to unlock the mutex if it is not locked results in undefined behaviour."

- Issue History
Date Modified Username Field Change
2009-06-04 02:03 daemonic_myst New Issue
2009-06-04 02:03 daemonic_myst File Added: ardour-2.8-bugreport.txt
2009-06-04 02:04 daemonic_myst Sponsorship Added daemonic_myst: US$ 25
2009-06-04 02:04 daemonic_myst Sponsorship Total 0 => 25
2009-06-04 02:04 daemonic_myst Issue Monitored: daemonic_myst
2009-06-20 15:13 realhangman Note Added: 0006146
2009-06-20 15:14 realhangman Note Edited: 0006146
2009-06-20 15:15 realhangman Note Edited: 0006146
2009-06-21 22:28 daemonic_myst Note Added: 0006152
2009-07-05 20:31 seablade Note Added: 0006381
2009-07-05 20:31 seablade Status new => confirmed
2009-07-17 00:09 daemonic_myst Note Added: 0006435
2009-07-20 04:08 daemonic_myst Note Added: 0006442
2009-07-20 13:33 cemeterysunshine Sponsorship Added cemeterysunshine: US$ 5
2009-07-20 13:33 cemeterysunshine Sponsorship Total 25 => 30
2009-07-20 13:33 cemeterysunshine Issue Monitored: cemeterysunshine
2009-08-14 19:42 nettings Note Added: 0006539
2009-08-14 19:42 nettings Status confirmed => feedback
2009-08-14 20:06 seablade Note Added: 0006545
2009-08-14 20:06 seablade Status feedback => confirmed
2009-08-15 03:37 realhangman Note Added: 0006549
2009-10-06 23:18 daemonic_myst Note Added: 0006690
2009-10-06 23:18 daemonic_myst File Added: ardour-2.8.2-bugreport.txt
2009-10-06 23:18 daemonic_myst File Added: ardour-2.8.2-bugreport_2.txt
2009-10-21 04:36 realhangman Note Added: 0006827
2009-10-21 04:37 realhangman Issue Monitored: realhangman
2009-10-21 04:47 realhangman Note Added: 0006828
2009-11-04 03:54 daemonic_myst Note Added: 0007072
2009-11-05 07:14 paul Relationship added has duplicate 0002865
2010-04-24 03:28 cth103 Category bugs => bugs2
2010-04-24 03:31 cth103 Category bugs2 => bugs
2011-12-22 12:39 Campusanis Note Added: 0012440
2011-12-22 12:52 cth103 Note Added: 0012441
2011-12-22 13:52 Campusanis Note Added: 0012442
2011-12-22 14:25 cth103 Note Added: 0012443
2011-12-27 22:46 daemonic_myst Note Added: 0012479
2011-12-28 00:30 DLC11 Issue Monitored: DLC11
2011-12-28 06:01 Campusanis Note Added: 0012482
2011-12-28 08:14 seablade Note Added: 0012485
2011-12-28 08:51 Campusanis Note Added: 0012486
2012-07-03 03:58 red Note Added: 0013769
2012-07-03 04:05 red Note Edited: 0013769
2012-07-03 04:14 red Note Edited: 0013769
2012-07-03 04:56 red Note Added: 0013770


Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker