View Issue Details

IDCategoryLast Update
0007744bugs2019-11-01 00:51
ReporterschessmanAssigned Tox42 
Reproducibilityalways 
Status resolvedResolutionfixed 
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/editor_timefx.cc
DescriptionThe POSIX documentation says that pthread_join() should not be used on a thread that has been pthread_detach().
In gtk2_ardour/editor_timefx.cc,
          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/ld-musl-armhf.so.1
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/libcanvas.so.0
#7 0x763f18c0 in ArdourCanvas::GtkCanvas::on_button_release_event(_GdkEventButton*) () at /usr/local/lib/ardour5/libcanvas.so.0
0000008 0x759394c0 in Gtk::Widget_Class::button_release_event_callback(_GtkWidget*, _GdkEventButton*) () at /usr/lib/libgtkmm-2.4.so.1
0000009 0x75d588cc in () at /usr/lib/libgtk-x11-2.0.so.0
TagsNo tags attached.

Activities

x42

2019-11-01 00:51

administrator   ~0020805

This was fixed in 6.0-pre0-1592 https://github.com/Ardour/ardour/commit/1776939dd357a

Issue History

Date Modified Username Field Change
2019-03-24 02:06 schessman New Issue
2019-11-01 00:51 x42 Assigned To => x42
2019-11-01 00:51 x42 Status new => resolved
2019-11-01 00:51 x42 Resolution open => fixed
2019-11-01 00:51 x42 Note Added: 0020805