Bug#636231: jackd1: segfault on startup with oss driver

Steven McDonald steven.mcdonald at libremail.me
Mon Aug 1 16:10:44 UTC 2011


Package: jackd1
Version: 1:0.121.0+svn4469-2
Severity: important
Tags: upstream patch

Hello!

When I try to start jackd1 with the oss driver, I receive the following
output:

---
$ /usr/bin/jackd -r -doss -r176400 -p1024 -n2 -w16 -i0
jackd 0.121.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
Segmentation fault (core dumped)
---

gdb backtrace of the core dump:

---
#0  set_period_size (client=0x60b630, params=<value optimized out>)
    at oss_driver.c:184
#1  driver_initialize (client=0x60b630, params=<value optimized out>)
    at oss_driver.c:1244
#2  0x0000000800830812 in jack_engine_load_driver (engine=0x6087b0, 
    driver_desc=0x60f460, driver_params=0x60d300) at engine.c:1112
#3  0x0000000000402b73 in jack_main (argc=<value optimized out>, 
    argv=<value optimized out>) at jackd.c:165
#4  main (argc=<value optimized out>, argv=<value optimized out>)
    at jackd.c:799
---

It looks like the import of upstream version 0.121.0+svn4469 on Jun 23
broke this driver, by trying to use driver->engine->get_microseconds()
before driver->engine had been assigned any value. Before this import,
this line called jack_get_microseconds() directly.

Since driver->engine->get_microseconds() ends up calling the same logic
as jack_get_microseconds(), I have attached a simple patch to revert to
the old behaviour if driver->engine is not defined. I have tested
jackd1 with this fix applied, and it runs without any problems.

This bug appears to still be present in the latest upstream svn, so it
may be worthwhile submitting this fix upstream.

Please contact me if you need any more information, I'd be happy to
revise the logic of the fix I've made if you think it can be improved.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (800, 'unstable'), (700, 'experimental')
Architecture: kfreebsd-amd64 (x86_64)

Kernel: kFreeBSD 8.2-1-amd64
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages jackd1 depends on:
ii  coreutils            8.5-1               GNU core utilities
ii  debconf [debconf-2.0 1.5.41              Debian configuration management sy
ii  libc0.1              2.13-13             Embedded GNU C Library: Shared lib
ii  libcelt0-0           0.7.1-1             The CELT codec runtime library
ii  libjack0             1:0.121.0+svn4469-2 JACK Audio Connection Kit (librari
ii  libreadline6         6.2-2               GNU readline and history libraries
ii  libsamplerate0       0.1.7-3             Audio sample rate conversion libra
ii  libsndfile1          1.0.25-2            Library for reading/writing audio 

Versions of packages jackd1 recommends:
ii  libpam-modules                1.1.3-2    Pluggable Authentication Modules f
ii  qjackctl                      0.3.8-1    User interface for controlling the

Versions of packages jackd1 suggests:
pn  jack-tools                    <none>     (no description available)
pn  meterbridge                   <none>     (no description available)

-- Configuration Files:
/etc/security/limits.d/audio.conf changed [not included]

-- debconf-show failed
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_oss_segfault.patch
Type: text/x-diff
Size: 1084 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20110802/09d60792/attachment.patch>


More information about the pkg-multimedia-maintainers mailing list