View Issue Details

IDCategoryLast Update
0007744bugs2019-03-24 02:06
ReporterschessmanAssigned To 
Status newResolutionopen 
PlatformRaspberry PiOSAlpine Linux ARM LibMuslOS Version4.19.30-0-rpi2
Product Version5.12 
Fixed in Version 
Summary0007744: unnecessary pthread_join after pthread_detach in gtk2_ardour/
DescriptionThe POSIX documentation says that pthread_join() should not be used on a thread that has been pthread_detach().
In gtk2_ardour/,
          pthread_detach (current_timefx->request.thread);
          pthread_join (current_timefx->request.thread, 0);

The pthread_join call causes libmusl to crash, as intended, because detached threads should not be joined.
Commenting out the pthread_join() call allows the stretch facility to succeed. otherwise SIGILL is generated.
Steps To ReproduceRaspberry PI running Alpine LInux, Ardour 5.1.12 compiled with libmusl.
Attempt to stretch an audio segment, generates SIGILL
(gdb) where
#0 0x76f96840 in pthread_timedjoin_np () at /lib/
0000001 0x00804aac in Editor::time_fx(std::__cxx11::list<boost::shared_ptr<ARDOUR::Region>, std::allocator<boost::shared_ptr<ARDOUR::Region> > >&, float, bool) ()
#2 0x00805530 in Editor::time_stretch(RegionSelection&, float) ()
#3 0x0073e2fc in TimeFXDrag::finished(_GdkEvent*, bool) ()
0000004 0x0073e760 in DragManager::end_grab(_GdkEvent*) ()
0000005 0x0077f520 in Editor::button_release_handler(ArdourCanvas::Item*, _GdkEvent*, ItemType) ()
#6 0x763f162c in ArdourCanvas::GtkCanvas::deliver_event(_GdkEvent*) ()
    at /usr/local/lib/ardour5/
#7 0x763f18c0 in ArdourCanvas::GtkCanvas::on_button_release_event(_GdkEventButton*) () at /usr/local/lib/ardour5/
0000008 0x759394c0 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) () at /usr/lib/
0000009 0x75d588cc in () at /usr/lib/
TagsNo tags attached.


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-03-24 02:06 schessman New Issue