Bug 640142 - [abrt] jack-audio-connection-kit-0.118.0-1.fc13: Process /usr/bin/jackd was killed by signal 6 (SIGABRT)
Summary: [abrt] jack-audio-connection-kit-0.118.0-1.fc13: Process /usr/bin/jackd was k...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: jack-audio-connection-kit
Version: 13
Hardware: i686
OS: Linux
low
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:7a4ec3de87cd507e09eb1f962b1...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-10-04 23:32 UTC by tim
Modified: 2011-06-28 11:59 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-28 11:59:13 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: backtrace (19.25 KB, text/plain)
2010-10-04 23:32 UTC, tim
no flags Details

Description tim 2010-10-04 23:32:27 UTC
abrt version: 1.1.13
architecture: i686
Attached file: backtrace
cmdline: /usr/bin/jackd -P60 -p128 -dalsa -r48000 -p128 -n4 -D -Chw:1,0 -Phw:2 -Xraw -zs
component: jack-audio-connection-kit
executable: /usr/bin/jackd
kernel: 2.6.34.7-56.fc13.i686
package: jack-audio-connection-kit-0.118.0-1.fc13
rating: 4
reason: Process /usr/bin/jackd was killed by signal 6 (SIGABRT)
release: Fedora release 13 (Goddard)
time: 1286234540
uid: 500

comment
-----
I'm trying to get the input from my UA-25EX to the output of my Creative X-FI Elite Pro card,
but I'm not experienced with JACK, so if these settings are odd, that's the reason why..

Maybe this is a bit of a user error, but I'd still not expect the application to hang or the jack
server to die with a core dump)

Anyway, this is what happens when I enter the line from the log in a console: (I've also tried 4
buffers in stead of 2, but that does not seem to make a difference)

[tim@novastar ~]$ jackd -P60 -p128 -dalsa -r48000 -p128 -n2 -D -Chw:1,0 -Phw:2 -Xraw -zs
jackd 0.118.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


Memory locking is unlimited - this is dangerous. You should probably alter the line:
     @audio   -  memlock    unlimited
in your /etc/limits.conf to read:
     @audio   -  memlock    1545678
JACK compiled with System V SHM support.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:2|hw:1,0|128|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:2
configuring for 48000Hz, period = 128 frames (2.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 24bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
Noise-shaped dithering at 16 bits
scan: added port hw:1,0,0 in-hw-1-0-0-UA-25EX-MIDI-1
scan: added port hw:1,0,0 out-hw-1-0-0-UA-25EX-MIDI-1
scan: opened port hw:1,0,0 in-hw-1-0-0-UA-25EX-MIDI-1
scan: opened port hw:1,0,0 out-hw-1-0-0-UA-25EX-MIDI-1
jackd watchdog: timeout - killing jackd
Aborted (core dumped)

How to reproduce
-----
1. Experiment with Jack. Trying to figure out how it works.
2. Having lots of xruns.
3. Suddenly, after a few lines of xrun callbacks have been reported (lines like "01:14:09.622 XRUN Callback (249 skipped)"
4. Then the log seems to go quiet again, but shortly after, the window turns gray and does not respond anymore.
5. Sometimes also this crash occurs.

Comment 1 tim 2010-10-04 23:32:29 UTC
Created attachment 451556 [details]
File: backtrace

Comment 2 Orcan Ogetbil 2010-10-04 23:46:18 UTC
Hi tim, for configuring Jack, did you follow the steps at 

/usr/share/doc/jack-audio-connection-kit-*/README.Fedora

Comment 3 tim 2010-10-07 20:50:09 UTC
Hi Orcan,

actually, no I didn't. I didn't know it was there. But I had a look and this document only seems to help when configuring jackd to use pulseaudio and I'm telling jackd to use alsa. The document also mentions alsa, but directs the reader to a website that no longer seems to exist. (I'd be happy to use pulseaudio though, but I suspect this might be a lot more work to set up. But if that would give better performance / lower latency, then maybe I should try it anyway)

Meanwhile, I have been able to get the system sort of working and haven't had a crash or freeze the past couple of days. I am having periodic noise though. After a few minutes a kind of mixture between analog and digital noise starts to swell (maybe I'm imagining it, but this period seems to shorten when jackd, or some component that is connected to the jack framework, has more to process). This noise is only audible when some audio is fed to the jackd input, though it doesn't seem to make a difference if this is a virtual or hardware input.
Then after a few seconds while the noise is swelling, the jackd log shows something like this (numbers are different each time) :
22:11:38.937 XRUN callback (1).
delay of 6474.000 usecs exceeds estimated spare time of 1130.000; restart ...
22:11:39.789 XRUN callback (1 skipped).

And it seems this 'restart' that the log shows then fixes the noise in the audio. Obviously, this noise is not acceptable to me, but maybe I need to configure some things differently (though I'm not sure what is relevant to list here). Also, I don't know if this noise is only in the hardware output (playback to the system output) or if it follows the entire signal path (and could thus mess up an audio recording).

When using ZynAddSubFX, I can hear some clicks and pops too, but that may be an issue with the synth, as the audio seems clean when I use the input from my Edirol UA-25EX (except for the static I mentioned earlier in this post).

The way I'm starting jackd now is thus (though, the input and output hardware addresses seem to change on system boot, restart and/or shutdown):

22:03:10.955 /usr/bin/jackd -P89 -p128 -dalsa -r96000 -p128 -n16 -D -Chw:2 -Phw:1 -Xseq
22:03:10.959 JACK was started with PID=2446.
jackd 0.118.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 ..
apparent rate = 96000
creating alsa driver ... hw:1|hw:2|128|16|96000|0|0|nomon|swmeter|-|32bit
control device hw:1
configuring for 96000Hz, period = 128 frames (1.3 ms), buffer = 16 periods
ALSA: final selected sample format for capture: 24bit little-endian
ALSA: use 16 periods for capture
ALSA: final selected sample format for playback: 32bit float little-endian
ALSA: use 16 periods for playback

Comment 4 Orcan Ogetbil 2010-10-07 21:19:09 UTC
Hi tim, 
The noise and cracks may be happening because you don't run jack in realtime mode.

In order to run jack in realtime mode, you need to add yourself to the jackuser group. This can be done via (as root)
   # usermod -a -G jackuser "<your username>"
where the "<your username>" is the username you want to run the jack with,
and then log out of your session and log back in (or just restart).

This is explained in the README.Fedora file, but it is kind of blended into the pulseaudio configuration guide. I admit that this file needs a hand*. 

Afterwards, you should be able to start jackd with a higher priority (which means lower -P value), e.g. -P20 instead of -P89

Let me know if this works for you.


*If you have time, you can just edit the "USING ALSA DIRECTLY" section and send us the file. I will make sure the next RPM build contains the correct instructions.

Comment 5 tim 2010-10-07 22:24:24 UTC
Hi Orcan,

Thanks for your quick response! I'm not sure I understand fully though. I'm using QjackCtl (so I don't know all the jackd command line options) but I've checked the 'Realtime' box in the setup dialog and I'm in both the audio and jackuser groups:

[tim@novastar ~]$ groups
tim audio jackuser

Also, I've set these values according to some examples I've encountered:

[tim@novastar ~]$ cat /etc/security/limits.d/99-jack.conf | grep rtprio
@audio - rtprio 100
@jackuser - rtprio 100
@pulse-rt - rtprio 80

But from your explanation, I understand that a lower P (for Priority I assume) value means a higher priority. Could it be that the rtprio uses this principle too, and that the 100 is therefore making it impossible to use realtime mode?

[tim@novastar ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 16003
max locked memory       (kbytes, -l) 1048576
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 100
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

So I think that I am (or at least I've tried) running in realtime mode. Should it say in the log when realtime mode has succeeded perhaps? Because I don't see any errors or warnings about that, but perhaps I'm looking in the wrong place. :)

Comment 6 tim 2010-10-07 23:17:45 UTC
I've changed the -P value to 20 and this seems to help somewhat. And changing it to 10 seems even better. I've still got the more-or-less digital noise though. But it does seem to sound less 'aggressive' and to take longer for it to occur. The volume is lower and it's less irritating, but it's still quite clearly present.

I could try setting it to prio 1. But I'm not sure if it's wise to do that with a server that has proven to me to be able of crashes and freezes and producing heaps of messages. If anything goes wrong with it and it doesn't offend the kernel enough, I would like to be able to kill it manually without doing a hard reset, because I'm quite sure that will offend all processes in the system :)

Comment 7 Orcan Ogetbil 2010-10-08 03:55:50 UTC
(In reply to comment #5)
> 
> [tim@novastar ~]$ cat /etc/security/limits.d/99-jack.conf | grep rtprio
> @audio - rtprio 100
> @jackuser - rtprio 100
> @pulse-rt - rtprio 80
> 

Hmm, this is not the default file that comes with the jack RPM. Did you modify it by hand? The default file reads

# Default limits for users of jack-audio-connection-kit

@jackuser - rtprio 20
@jackuser - memlock 4194304

@pulse-rt - rtprio 20
@pulse-rt - nice -20


I don't think setting -P1 is a good idea as it might render your system unstable.

Did you try the rt (realtime) kernel from PlanetCCRMA? If you didn't do so, I recommend you to check out the PlanetCCRMA and subscribe to the mailing list. There are many pro audio Fedora users over there whom you may want to talk to. They even have a 3rd party repo with packages we don't have yet at Fedora, including jack2. (well, we will have jack2 officially in Fedora 14)

Fernando at PlanetCCRMA (who is also a former jack developer) might give you a better explanation than me to explain what these settings mean.

> But from your explanation, I understand that a lower P (for Priority I assume)
> value means a higher priority. Could it be that the rtprio uses this principle
> too, and that the 100 is therefore making it impossible to use realtime mode?
> 
> [tim@novastar ~]$ ulimit -a
> core file size          (blocks, -c) 0
> data seg size           (kbytes, -d) unlimited
> scheduling priority             (-e) 0
> file size               (blocks, -f) unlimited
> pending signals                 (-i) 16003
> max locked memory       (kbytes, -l) 1048576
> max memory size         (kbytes, -m) unlimited
> open files                      (-n) 1024
> pipe size            (512 bytes, -p) 8
> POSIX message queues     (bytes, -q) 819200
> real-time priority              (-r) 100
> stack size              (kbytes, -s) 10240
> cpu time               (seconds, -t) unlimited
> max user processes              (-u) 1024
> virtual memory          (kbytes, -v) unlimited
> file locks                      (-x) unlimited
> 
> So I think that I am (or at least I've tried) running in realtime mode. 

No, see the "real-time priority (-r) 100" line?  That is because your priority is set to 100 in your /etc/security/limits.d/99-jack.conf. This is too high. Please revert to the default value I gave above and retry.

Comment 8 Fedora Admin XMLRPC Client 2010-10-10 16:38:18 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 9 Orcan Ogetbil 2010-10-10 18:43:37 UTC
This was assigned to me accidentally.

Comment 10 Bug Zapper 2011-05-31 11:59:20 UTC
This message is a reminder that Fedora 13 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 13.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '13'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 13's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 13 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 11 Bug Zapper 2011-06-28 11:59:13 UTC
Fedora 13 changed to end-of-life (EOL) status on 2011-06-25. Fedora 13 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.