Bug#580262: idjc: Mixer reports segmentation fault

Gabriel M. Beddingfield gabrbedd at gmail.com
Wed May 5 01:34:07 UTC 2010



On Tue, 4 May 2010, Stefan Bischoff wrote:

> "Mixer reports a segmentation fault
> mixer crashed
> something bad happened and IDJC could not continue"

Unfortunately, if /anything/ crashes in idjcmixer... you get 
this same error message.  So, some manner of backtrace is 
really necc. in order to isolate the cause.

However, I've observed this crash some weeks ago, and the 
backtrace (going from memory) was something like:

     #0 shutdown()
     #1 JackClientSocket::Close()
     ....
     #x jack_client_open()
     #y main() (in ijcjmixer.c)

At execution time, the symbol `shutdown' is null... which 
causes the segfault.  The symbol should have resolved to the 
BSD socket shutdown() function.

However, there is a global variable `int shutdown' in 
idjcmixer.c, and it is initialized to 0.  For some reason it 
is masking shutdown() so that the Jack library is trying to 
execute a plain integer.

Whatever causes the bug, it appears to be in the binary.
When compiled on Ubuntu/Jaunty and executed in either Jaunty 
or Karmic -- the bug persisted.  When recompiled on Karmic, 
the bug went away.

I don't know if this is a bug in idjc, gcc, libc, ld, 
ld.so, or even jack... but the attached patch works around 
the issue by renaming the global variable.  I suspect it's 
an ld bug, though.  I can't create a reproducable test 
case, though.

> Other programs using jack still work great. So I think its not a problem in
> jack but in idjc.

This happened for me with Jack2.

FYI, I reported the issue to upstream, but did not receive a 
response.

-gabriel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: idjc_mixer_segfault_at_startup_with_jack.diff
Type: text/x-diff
Size: 1642 bytes
Desc: 
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20100504/996ca078/attachment-0005.diff>


More information about the pkg-multimedia-maintainers mailing list