FS#45006 - [pd] 0.46.6 Segmentation fault when set to use jack
Attached to Project:
Community Packages
Opened by Raphael Santos (raphaelss) - Monday, 18 May 2015, 19:59 GMT
Last edited by David Runge (dvzrv) - Monday, 04 December 2017, 22:32 GMT
Opened by Raphael Santos (raphaelss) - Monday, 18 May 2015, 19:59 GMT
Last edited by David Runge (dvzrv) - Monday, 04 December 2017, 22:32 GMT
|
Details
Description:
Pure data seems to crash when set to use jack. When it's already set to jack on .pdsettings it crashes on execution. After removing .pdsettings, it crashes when you choose jack on the Media menu. Additional info: package version: 0.46.6 Steps to reproduce: Simply execute pd if you already have it setup for jack on .pdsettings or execute it and choose jack on the Media menu |
This task depends upon
Closed by David Runge (dvzrv)
Monday, 04 December 2017, 22:32 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed with pd 0.48.0
Monday, 04 December 2017, 22:32 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed with pd 0.48.0
Thread 1 (Thread 0x7fe389bdd700 (LWP 2853)):
#0 0x0000000000000000 in ?? ()
#1 0x00000000004bca4b in jack_open_audio ()
#2 0x000000000046b39e in sys_reopen_audio ()
#3 0x000000000046b9cd in glob_audio_setapi ()
#4 0x000000000045452c in pd_typedmess ()
#5 0x000000000045c855 in binbuf_eval ()
#6 0x0000000000463ca4 in socketreceiver_read ()
#7 0x0000000000463125 in ?? ()
#8 0x0000000000460058 in m_mainloop ()
#9 0x00007fe388811790 in __libc_start_main () from /usr/lib/libc.so.6
#10 0x0000000000411a39 in _start ()
[1] https://bbs.archlinux.org/viewtopic.php?pid=1562421#p1562421
pd -jack -d 1
set pd_whichmidiapi 0
pdtk_watchdog
set ::tmp_path {}
set ::sys_searchpath $::tmp_path
set ::tmp_path {}
lappend ::tmp_path {/home/antanas/pd-externals}
lappend ::tmp_path {/usr/local/lib/pd-externals}
lappend ::tmp_path {/usr/lib/pd/extra}
set ::sys_staticpath $::tmp_path
set ::startup_flags {}
set ::startup_libraries {}
pdtk_pd_startup 0 46 7 {} { {OSS 2} {ALSA 1} {jack 5} } { {OSS-MIDI 0} {ALSA-MIDI 1} } {DejaVu Sans Mono} bold
set pd_whichapi 5
set pd_whichmidiapi 0
Segmentation fault (core dumped)
pd is quite useless in a real-time audio/ pro-audio context in this state.
I can also confirm, that the package works, when build with options=('!strip' '!buildflags')
So there are two options: Adding !buildflags to options or adding the global buildflags during build while ommitting CPPFLAGS="-D_FORTIFY_SOURCE=2"
Just added it with !buildflags.
I'm not sure pd will be fixed in time and might even be dropped to AUR, because of lack of maintenance (which I hope it won't).
Since libjack has its functions marked as weak symbols, gcc does not signal an undefined symbol error at link time. However the jack functions receive null addresses at runtime, producing a jump to adress 0 and subsequent crash, as it can be seen in valgrind.
I am not quite sure why --as-needed would remove jack from the link though.