[Jack-Devel] jack alsa midi segfault

Tobias Hoffmann lfile-list at thax.hardliners.org
Tue Jun 23 16:42:22 CEST 2015


Hi,

I using debian's
   jackd version 0.124.1  tmpdir /dev/shm protocol 25

started via
   jackd -t1500 -dalsa -dhw:2 -r44100 -p128 -n4 -s -Xseq
(or "jackd -Xalsa_midi ...")

Then jackd segfaults shortly after
   creating alsa_midi driver ...
- every time, e.g:
   jackd[25175]: segfault at 0 ip           (null) sp 00000000ffb828ac 
error 14 in jackd[8048000+5000]

It does not segfault when -Xseq (-Xalsa_midi) is removed from the 
argument list.
The very same invocation (same jackd version!) used to work until now, 
but I did update quite a few packages (e.g. libc, ...) in the mean time.
I did try a reinstall of the jackd1-package, but it did not help.
But I have not restarted the computer yet...

Analysis:
Starting jackd in gdb yields:

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()

without any backtrace left.
But with some single-stepping I managed to get to this point:

#0  0xf7f960d7 in jack_client_handle_latency_callback () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#1  0xf7f89466 in jack_deliver_event () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#2  0xf7f8b5ca in ?? () from /usr/lib/i386-linux-gnu/libjackserver.so.0
#3  0xf7f8bec1 in jack_sort_graph () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#4  0xf7f8f792 in jack_client_activate () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#5  0xf7f8d662 in ?? () from /usr/lib/i386-linux-gnu/libjackserver.so.0
#6  0xf7f8e50a in internal_client_request () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#7  0xf7f9563e in jack_client_deliver_request () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#8  0xf7f9868b in jack_activate () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#9  0xf6b47456 in ?? () from /usr/lib/i386-linux-gnu/jack/jack_alsa_midi.so
#10 0xf7f88faa in jack_add_slave_driver () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#11 0xf7f89097 in jack_engine_load_slave_driver () from 
/usr/lib/i386-linux-gnu/libjackserver.so.0
#12 0x0804a6d4 in ?? ()
#13 0xf7bc8a63 in __libc_start_main

The very next instruction crashes:
   0xf7f960db <jack_client_handle_latency_callback+459>    call   
*0x10f4(%eax)
because *(eax+0x10f4)==0

Starting jackd in valgrind:
[...]
ALSA: use 4 periods for playback
creating alsa_midi driver ...
==25829== Conditional jump or move depends on uninitialised value(s)
==25829==    at 0x406EFAC: jack_client_handle_latency_callback (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4062465: jack_deliver_event (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x40645C9: ??? (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4064EC0: jack_sort_graph (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4068791: jack_client_activate (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4066661: ??? (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x1: ???
==25829==
==25829== Conditional jump or move depends on uninitialised value(s)
==25829==    at 0x406EFAC: jack_client_handle_latency_callback (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4062465: jack_deliver_event (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4064629: ??? (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4064EC0: jack_sort_graph (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4068791: jack_client_activate (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x4066661: ??? (in 
/usr/lib/i386-linux-gnu/libjackserver.so.0.0.28)
==25829==    by 0x1: ???
==25829==

Does this make sense to anyone?

   Tobias



More information about the Jackaudio mailing list