[PD] PD 0.48-0 test3 segfaults with Jack and rt on Linux

Max abonnements at revolwear.com
Fri Jul 21 23:17:54 CEST 2017


On 2017년 07월 21일 21:21, IOhannes m zmölnig wrote:
> On 07/21/2017 08:19 PM, Max wrote:
>> On 2017년 07월 21일 18:47, Dan Wilcox wrote:
>>> In this case it might have been better to build jack itself from
>>> source and then tell pd to link it instead. I believe there is a
>>> configure option for this, IOhannes will know for sure.
>>
>> I'm willing to try this :)
> 
> there's basically two options.
> none of them includes any special flags to compile Pd.
> 
> first i'd probably restore the old jack configuration, so you can have
> audio again.
> 
> #1 rebuild the (proper, working) libjack packages with debugging symbols.
> there's a description how to build your package with debug symbols if
> you cannot obtain them otherwise on [1] (in retrospect, this would have
> been the better choice).
> this will create a number of packages, you only need to install the
> newly created libjack-jackd2-0 (which ought to have the exact same
> version as the original package).

Cool, thanks for holding my hand.

I think the rebuilding with debug symbols was successful.

(gdb) run
Starting program: /home/max/Code/pd-0.48-0test3/bin/pd
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff7f32700 (LWP 8921)]
[New Thread 0x7ffff7eb1700 (LWP 8923)]

Thread 3 "pd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7eb1700 (LWP 8923)]
0x00007ffff78b8f96 in Jack::JackLinuxFutex::Connect (this=0x76a990, 
name=name at entry=0x7ffff7eb0be4 "system", 
server_name=server_name at entry=0x784610 "default") at 
../linux/JackLinuxFutex.cpp:181
181	    if (! fPrivate && fFutex->wasInternal)

(gdb) thread apply all bt

Thread 3 (Thread 0x7ffff7eb1700 (LWP 8966)):
#0  0x00007ffff78b8f96 in Jack::JackLinuxFutex::Connect (this=0x76a990, 
name=name at entry=0x7ffff7eb0be4 "system", 
server_name=server_name at entry=0x784610 "default")
     at ../linux/JackLinuxFutex.cpp:181
#1  0x00007ffff78b99c5 in Jack::JackLibClient::ClientNotifyImp 
(this=0x7844e0, refnum=0, name=0x7ffff7eb0be4 "system", notify=0, 
sync=<optimized out>, message=<optimized out>, value1=0, value2=0)
     at ../common/JackLibClient.cpp:169
#2  0x00007ffff7893fc8 in Jack::JackClient::ClientNotify (this=0x7844e0, 
refnum=0, name=0x7ffff7eb0be4 "system", notify=<optimized out>, sync=1, 
message=0x7ffff7eb0c3c "", value1=0, value2=0)
     at ../common/JackClient.cpp:210
#3  0x00007ffff78bbb6a in Jack::JackSocketClientChannel::Execute 
(this=0x764970) at ../posix/JackSocketClientChannel.cpp:143
#4  0x00007ffff78b6aa0 in Jack::JackPosixThread::ThreadHandler 
(arg=0x764a98) at ../posix/JackPosixThread.cpp:59
#5  0x00007ffff766c6ba in start_thread (arg=0x7ffff7eb1700) at 
pthread_create.c:333
#6  0x00007ffff6e953dd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7ffff7f32700 (LWP 8964)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at 
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff78b78cc in Jack::JackPosixProcessSync::Wait 
(this=this at entry=0x784458) at ../posix/JackPosixProcessSync.cpp:81
#2  0x00007ffff78aa828 in Jack::JackMessageBuffer::Execute 
(this=0x77c220) at ../common/JackMessageBuffer.cpp:104
#3  0x00007ffff78b6aa0 in Jack::JackPosixThread::ThreadHandler 
(arg=0x784438) at ../posix/JackPosixThread.cpp:59
#4  0x00007ffff766c6ba in start_thread (arg=0x7ffff7f32700) at 
pthread_create.c:333
#5  0x00007ffff6e953dd in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7f348c0 (LWP 8955)):
#0  0x00007ffff767551d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff78b81f5 in read (__nbytes=4, __buf=<optimized out>, 
__fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2  Jack::JackClientSocket::Read (this=0x764950, data=<optimized out>, 
len=4) at ../posix/JackSocket.cpp:187
#3  0x00007ffff78a1e4b in Jack::JackResult::Read (trans=0x764950, 
this=0x7fffffffd6e0) at ../common/JackRequest.h:143
#4  Jack::JackClientOpenResult::Read (trans=0x764950, 
this=0x7fffffffd6e0) at ../common/JackRequest.h:294
#5  Jack::JackGenericClientChannel::ServerSyncCall 
(result=0x7fffffffd7dc, res=0x7fffffffd6e0, req=0x7fffffffd700, 
this=0x764970) at ../common/JackGenericClientChannel.cpp:68
#6  Jack::JackGenericClientChannel::ClientOpen (this=0x764970, 
name=name at entry=0x7fffffffd7e0 "pure_data", pid=8955, 
uuid=uuid at entry=-1, shared_engine=shared_engine at entry=0x7fffffffd7d0,
     shared_client=shared_client at entry=0x7fffffffd7d4, 
shared_graph=0x7fffffffd7d8, result=0x7fffffffd7dc) at 
../common/JackGenericClientChannel.cpp:113
#7  0x00007ffff78b9aff in Jack::JackLibClient::Open (this=0x7844e0, 
server_name=0x7ffff78bcb9f "default", name=<optimized out>, uuid=-1, 
options=JackNoStartServer, status=0x7fffffffd9fc)
     at ../common/JackLibClient.cpp:114
#8  0x00007ffff78bb0da in jack_client_open_aux (ap=0x7fffffffd8b8, 
status=0x7fffffffd9fc, options=JackNoStartServer, client_name=0x763200 
"pure_data") at ../common/JackLibAPI.cpp:155
#9  jack_client_open (ext_client_name=0x763200 "pure_data", 
options=JackNoStartServer, status=<optimized out>) at 
../common/JackLibAPI.cpp:176
#10 0x00000000004d9a28 in jack_open_audio (inchans=2, outchans=2, 
rate=48000, callback=0x0) at s_audio_jack.c:341
#11 0x000000000048b591 in sys_reopen_audio () at s_audio.c:452
#12 0x0000000000492e20 in sys_main (argc=1, argv=0x7fffffffdc98) at 
s_main.c:384
#13 0x000000000048cc98 in main (argc=1, argv=0x7fffffffdc98) at s_entry.c:32





More information about the Pd-list mailing list