View Issue Details

IDProjectCategoryView StatusLast Update
0002319ardourbugspublic2020-04-19 20:13
Reporternowhiskey Assigned Tocth103  
PrioritynormalSeveritycrashReproducibilityrandom
Status closedResolutionfixed 
Product VersionSVN/2.0-ongoing 
Summary0002319: crash while trying to reconnect to jack
Descriptionongoing@3484

-running a 15 track session, ardour went disconnected from jack
-trying to reconnect via menu->jack->reconnect, ardour crashed

backtrace:

nowhiskey@murija2:~/software/ardour2/2.0-ongoing/gtk2_ardour$
LANG=en_US.UTF-8 ./ardbg
GNU gdb 6.7.1-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program:
/home/nowhiskey/software/ardour2/2.0-ongoing/gtk2_ardour/ardour-2.4.1
[Thread debugging using libthread_db enabled]

(process:3507): Gdk-WARNING **: locale not supported by C library
Ardour/GTK 2.4.1
   (built using 3343 and GCC version 4.2.4 (Debian 4.2.4-2+b1))
Copyright (C) 1999-2008 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel
Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.

(ardour-2.4.1:3507): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.
[New Thread 0xb5f3e740 (LWP 3507)]
theme_init() called from internal clearlooks engine
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc:67: error: unexpected identifier
`colorize_scrollbar', expected character `}'
loading default ui configuration file gtk2_ardour/ardour2_ui_default.conf
loading user ui configuration file /home/nowhiskey/.ardour2/ardour2_ui.conf
Loading ui configuration file gtk2_ardour/ardour2_ui_dark.rc
theme_init() called from internal clearlooks engine
ardour: [INFO]: Ardour will be limited to 1024 open files
loading system configuration file ./ardour_system.rc
loading user configuration file /home/nowhiskey/.ardour2/ardour.rc
ardour: [INFO]: Using SSE optimized routines
[New Thread 0xb5e6cb90 (LWP 3510)]
[New Thread 0xb566cb90 (LWP 3511)]
[New Thread 0xb4e6cb90 (LWP 3512)]
RemoteVSTClient: all cache files are up-to-date, not running scanner
ardour: [INFO]: looking for control protocols in
/home/nowhiskey/.ardour2/surfaces/:/usr/local/lib/ardour2/surfaces/
ardour: [INFO]: Control surface protocol discovered: "Generic MIDI"
[New Thread 0xb4047b90 (LWP 3514)]
SSE2 detected
[Thread 0xb4047b90 (LWP 3514) exited]
[New Thread 0xb4047b90 (LWP 3516)]
SSE2 detected
loading bindings from /home/nowhiskey/.ardour2/ardour.bindings
[New Thread 0xb2641b90 (LWP 3518)]
[New Thread 0xb1e0bcb0 (LWP 3519)]
Loading session /home/nowhiskey/Ardour2/rockets/sputnik using snapshot
sputnik (1)
[New Thread 0xb1d0ecb0 (LWP 3520)]
[New Thread 0xb1c93cb0 (LWP 3521)]
Loading history from
'/home/nowhiskey/Ardour2/rockets/sputnik/sputnik.history'.
[Thread 0xb1e0bcb0 (LWP 3519) exited]
[Thread 0xb2641b90 (LWP 3518) exited]
SSE2 detected
[New Thread 0xae10db90 (LWP 3523)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb5f3e740 (LWP 3507)]
0xb6dcda17 in jack_client_deliver_request (client=0x0, req=0xbf8ad14c) at
client.c:276
276 return client->control->deliver_request
(client->control->deliver_arg,
Current language: auto; currently c
(gdb) thread apply all bt

Thread 11 (Thread 0xae10db90 (LWP 3523)):
#0 __gnu_cxx::new_allocator<boost::shared_ptr<ARDOUR::Region> >::allocate
(this=0xae10cbf4, __n=0) at /usr/include/c++/4.2/ext/new_allocator.h:86
0000001 0xb7d53cd8 in std::_Vector_base<boost::shared_ptr<ARDOUR::Region>,
std::allocator<boost::shared_ptr<ARDOUR::Region> > >::_M_allocate
#(this=0xae10cbf4, __n=0)
    at /usr/include/c++/4.2/bits/stl_vector.h:128
#2 0xb7d53d15 in _Vector_base (this=0xae10cbf4, __n=0, __a=@0xae10cc00) at
/usr/include/c++/4.2/bits/stl_vector.h:114
#3 0xb7d54950 in vector (this=0xae10cbf4, __x=@0xae10cc00) at
#/usr/include/c++/4.2/bits/stl_vector.h:229
0000004 0xb7d54a01 in pair (this=0xae10cbf0, __a=@0xae10ccd4, __b=@0xae10cc00)
#at /usr/include/c++/4.2/bits/stl_pair.h:85
0000005 0xb7d5865e in std::map<unsigned int,
#std::vector<boost::shared_ptr<ARDOUR::Region>,
#std::allocator<boost::shared_ptr<ARDOUR::Region> > >, std::less<unsigned
#int>, std::allocator<std::pair<unsigned int const,
#std::vector<boost::shared_ptr<ARDOUR::Region>,
#std::allocator<boost::shared_ptr<ARDOUR::Region> > > > > >::operator[] (
    this=0xae10ccac, __k=@0xae10ccd4) at
#/usr/include/c++/4.2/bits/stl_map.h:350
#6 0xb7d4d674 in ARDOUR::AudioPlaylist::read (this=0x9ff2f20,
#buf=0xb0c7f008, mixdown_buffer=0x12a36be0, gain_buffer=0x12a76be8,
#start=67268736, cnt=65536, chan_n=0)
    at libs/ardour/audio_playlist.cc:168
#7 0xb7d277ca in ARDOUR::AudioDiskstream::read (this=0xa06f428,
buf=0xb0c7f008, mixdown_buffer=0x12a36be0, gain_buffer=0x12a76be8,
#start=@0xae10d044, cnt=65536,
    channel_info=0xa06f5c0, channel=0, reversed=false) at
#libs/ardour/audio_diskstream.cc:1095
0000008 0xb7d28354 in ARDOUR::AudioDiskstream::_do_refill (this=0xa06f428,
#mixdown_buffer=0x12a36be0, gain_buffer=0x12a76be8) at
#libs/ardour/audio_diskstream.cc:1345
0000009 0xb7d2850d in ARDOUR::AudioDiskstream::do_refill_with_alloc
#(this=0xa06f428) at libs/ardour/audio_diskstream.cc:1160
0000010 0xb7d266e1 in ARDOUR::AudioDiskstream::seek (this=0xa06f428,
#frame=67268736, complete_refill=false) at
#libs/ardour/audio_diskstream.cc:991
0000011 0xb7ee4f5c in ARDOUR::Session::non_realtime_stop (this=0x8faf230,
#abort=false, on_entry=0, finished=@0xae10d233) at
#libs/ardour/session_transport.cc:417
0000012 0xb7ee5b76 in ARDOUR::Session::engine_halted (this=0x8faf230) at
#libs/ardour/session_transport.cc:1228
0000013 0xb7e87f19 in sigc::bound_mem_functor0<void,
#ARDOUR::Session>::operator() (this=0xa135e5c) at
#libs/sigc++2/sigc++/functors/mem_fun.h:1787
0000014 0xb7e87f40 in sigc::adaptor_functor<sigc::bound_mem_functor0<void,
#ARDOUR::Session> >::operator() (this=0xa135e58)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#15 0xb7e87f6c in sigc::internal::slot_call0<sigc::bound_mem_functor0<void,
ARDOUR::Session>, void>::call_it (rep=0xa135e40) at
#libs/sigc++2/sigc++/functors/slot.h:103
0000016 0x084280b1 in sigc::internal::signal_emit0<void, sigc::nil>::emit
#(impl=0x8d99128) at libs/sigc++2/sigc++/signal.h:772
#17 0x08428166 in sigc::signal0<void, sigc::nil>::emit (this=0x8a27070) at
#libs/sigc++2/sigc++/signal.h:2667
0000018 0x08428179 in sigc::signal0<void, sigc::nil>::operator()
#(this=0x8a27070) at libs/sigc++2/sigc++/signal.h:2675
0000019 0xb7d3908c in ARDOUR::AudioEngine::halted (arg=0x8a27048) at
#libs/ardour/audioengine.cc:809
0000020 0xb6dd0dca in jack_client_thread (arg=0xb6af3d0) at client.c:1288
0000021 0xb6db5fd3 in start_thread () from /lib/libpthread.so.0
0000022 0xb6708a8e in clone () from /lib/libc.so.6

Thread 10 (Thread 0xb1c93cb0 (LWP 3521)):
#0 0xb66ff62d in poll () from /lib/libc.so.6
0000001 0xb7eb8c92 in ARDOUR::Session::midi_thread_work (this=0x8faf230) at
#libs/ardour/session_midi.cc:1220
#2 0xb7eb91e5 in ARDOUR::Session::_midi_thread_work (arg=0x8faf230) at
#libs/ardour/session_midi.cc:1141
#3 0xb6db5fd3 in start_thread () from /lib/libpthread.so.0
0000004 0xb6708a8e in clone () from /lib/libc.so.6
Current language: auto; currently c++

Thread 9 (Thread 0xb1d0ecb0 (LWP 3520)):
#0 0xb6db81a4 in pthread_mutex_lock () from /lib/libpthread.so.0
0000001 0xb76f877d in Glib::Mutex::lock (this=0x8faf534) at
#libs/glibmm2/glibmm/thread.cc:213
#2 0x084a9656 in Lock (this=0xb1d0e360, mutex=@0x8faf534) at
#libs/glibmm2/glibmm/thread.h:795
#3 0xb7e5c18a in ARDOUR::Session::butler_thread_work (this=0x8faf230) at
#libs/ardour/session_butler.cc:362
0000004 0xb7e5c323 in ARDOUR::Session::_butler_thread_work (arg=0x8faf230) at
#libs/ardour/session_butler.cc:159
0000005 0xb6db5fd3 in start_thread () from /lib/libpthread.so.0
#6 0xb6708a8e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xb4047b90 (LWP 3516)):
#0 0xb6dba550 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
0000001 0xb6dd1642 in mb_thread_func (arg=0x0) at messagebuffer.c:70
#2 0xb6db5fd3 in start_thread () from /lib/libpthread.so.0
#3 0xb6708a8e in clone () from /lib/libc.so.6
Thread 4 (Thread 0xb4e6cb90 (LWP 3512)):
#0 0xb6dba550 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
0000001 0xb76f898d in Glib::Cond::wait (this=0x8af2738, mutex=@0xb7f937a8) at
#libs/glibmm2/glibmm/thread.cc:362
#2 0xb7d1853f in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3 0xb7d1868b in analyser_work () at libs/ardour/analyser.cc:49
0000004 0x08758033 in sigc::pointer_functor0<void>::operator() (this=0x8af27ac)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000005 0x0875804a in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8af27a8) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x08758066 in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8af2790) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x083f2f8c in sigc::slot0<void>::operator() (this=0x8af2780) at
#libs/sigc++2/sigc++/functors/slot.h:440
0000008 0xb76f9521 in call_thread_entry_slot (data=0x8af2780) at
#libs/glibmm2/glibmm/thread.cc:43
0000009 0xb77704ff in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
0000010 0x08af2780 in ?? ()
0000011 0x08af27b8 in ?? ()
0000012 0x00000000 in ?? ()

Thread 3 (Thread 0xb566cb90 (LWP 3511)):
#0 0xb6dba550 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
0000001 0xb76f898d in Glib::Cond::wait (this=0x8ae0130, mutex=@0xb7f93c80) at
#libs/glibmm2/glibmm/thread.cc:362
#2 0xb7ef380b in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x08758033 in sigc::pointer_functor0<void>::operator() (this=0x8aebde4)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0875804a in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8aebde0) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x08758066 in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8aebdc8) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x083f2f8c in sigc::slot0<void>::operator() (this=0x8aebdb8) at
#libs/sigc++2/sigc++/functors/slot.h:440
#7 0xb76f9521 in call_thread_entry_slot (data=0x8aebdb8) at
#libs/glibmm2/glibmm/thread.cc:43
0000008 0xb77704ff in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
0000009 0x08aebdb8 in ?? ()
0000010 0x08aebdf0 in ?? ()
0000011 0x00000000 in ?? ()

Thread 2 (Thread 0xb5e6cb90 (LWP 3510)):
#0 0xb6dba550 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/libpthread.so.0
0000001 0xb76f898d in Glib::Cond::wait (this=0x8ae0130, mutex=@0xb7f93c80) at
#libs/glibmm2/glibmm/thread.cc:362
#2 0xb7ef380b in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x08758033 in sigc::pointer_functor0<void>::operator() (this=0x8aebaa4)
#at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0875804a in sigc::adaptor_functor<sigc::pointer_functor0<void>
#>::operator() (this=0x8aebaa0) at
#>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x08758066 in sigc::internal::slot_call0<sigc::pointer_functor0<void>,
#void>::call_it (rep=0x8aeba88) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x083f2f8c in sigc::slot0<void>::operator() (this=0x8aebb40) at
#libs/sigc++2/sigc++/functors/slot.h:440
#7 0xb76f9521 in call_thread_entry_slot (data=0x8aebb40) at
#libs/glibmm2/glibmm/thread.cc:43
0000008 0xb77704ff in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0
0000009 0x08aebb40 in ?? ()
0000010 0x08aebb50 in ?? ()
0000011 0x00014080 in ?? ()
0000012 0x00000005 in ?? ()
0000013 0xb664cb9c in ?? () from /lib/libc.so.6
0000014 0xb6dc4ff4 in ?? () from /lib/libpthread.so.0
#15 0xb6db8140 in ?? () from /lib/libpthread.so.0
0000016 0xb6dc4ff4 in ?? () from /lib/libpthread.so.0
#17 0x00000000 in ?? ()

Thread 1 (Thread 0xb5f3e740 (LWP 3507)):
#0 0xb6dcda17 in jack_client_deliver_request (client=0x0, req=0xbf8ad14c)
at client.c:276
0000001 0xb6dce0c4 in jack_connect (client=0x0, source_port=0xa1cb16c
"ardour:auditioner/out 2", destination_port=0xa1cb7c4 "system:playback_2")
#at client.c:2157
#2 0xb7d38e2e in ARDOUR::AudioEngine::reconnect_to_jack (this=0x8a27048) at
#libs/ardour/audioengine.cc:1231
#3 0x0841375f in ARDOUR_UI::reconnect_to_jack (this=0x898fb20) at
#gtk2_ardour/ardour_ui.cc:3085
0000004 0x0840429f in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator()
#(this=0x8ecfdac) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
0000005 0x084042b6 in sigc::adaptor_functor<sigc::bound_mem_functor0<void,
#ARDOUR_UI> >::operator() (this=0x8ecfda8) at
#libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x084042d2 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void,
#ARDOUR_UI>, void>::call_it (rep=0x8ecfd90) at
#libs/sigc++2/sigc++/functors/slot.h:103
#7 0x083f2f8c in sigc::slot0<void>::operator() (this=0x8ecfb54) at
#libs/sigc++2/sigc++/functors/slot.h:440
0000008 0xb76faccd in Glib::SignalProxyNormal::slot0_void_callback
#(self=0x8ecd678, data=0x8ecfb50) at libs/glibmm2/glibmm/signalproxy.cc:95
0000009 0xb77ee9bf in g_cclosure_marshal_VOID__VOID () from
#/usr/share/qt4/lib/libgobject-2.0.so.0
0000010 0xb77e16f9 in g_closure_invoke () from
#/usr/share/qt4/lib/libgobject-2.0.so.0
0000011 0xb77f5fc3 in ?? () from /usr/share/qt4/lib/libgobject-2.0.so.0
0000012 0x08ecfdc0 in ?? ()
0000013 0x00000000 in ?? ()
Current language: auto; currently c


...

cheers,
doc
TagsNo tags attached.

Activities

paul

2008-06-23 15:58

administrator   ~0005073

this appears to be caused by JACK disconnecting ardour during the reconnection process, which is why this is difficult to reproduce. i have added a fix that should stop this particular crash (rev 3486), but there is still the general issue that AudioEngine::_jack can be reset to null from the JACK thread, asynchronously with respect to everything else. Hence, use of this pointer really needs to be made thread safe.

cth103

2010-04-26 23:01

administrator   ~0007610

I believe appropriate changes have been made to stop this bug happening. Any confirmation welcome.

nowhiskey

2010-05-06 11:31

reporter   ~0007803

confirmed, ardour reconnects to jack w/out problems.

cheers,
doc

cth103

2010-05-06 11:41

administrator   ~0007810

Great, thanks.

system

2020-04-19 20:13

developer   ~0021763

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2008-06-21 12:35 nowhiskey New Issue
2008-06-23 15:58 paul Note Added: 0005073
2010-04-24 10:28 cth103 Category bugs => bugs2
2010-04-24 10:32 cth103 Category bugs2 => bugs
2010-04-26 23:01 cth103 Note Added: 0007610
2010-04-26 23:01 cth103 Status new => feedback
2010-05-06 11:31 nowhiskey Note Added: 0007803
2010-05-06 11:41 cth103 cost => 0.00
2010-05-06 11:41 cth103 Note Added: 0007810
2010-05-06 11:41 cth103 Status feedback => resolved
2010-05-06 11:41 cth103 Resolution open => fixed
2010-05-06 11:41 cth103 Assigned To => cth103
2020-04-19 20:13 system Note Added: 0021763
2020-04-19 20:13 system Status resolved => closed