jackaudio / jack2

jack2 codebase
GNU General Public License v2.0
2.22k stars 377 forks source link

alsa backend not starting and clients can not connect #116

Closed mseeber closed 5 years ago

mseeber commented 9 years ago

Probelm: when starting jackd as a normal user with:

jackd -dalsa -dhw:1

clients are unable to connect to jack.

The following output is generated by jack:

[mseeber@t440s-sbr ~]$  jackd -dalsa -dhw:1
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp 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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:1|hw:1|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback

JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
Driver is not running
Cannot create new client
Unknown request 4294967295
CheckSize error size = 0 Size() = 12
CheckRead error
JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
Driver is not running
Cannot create new client
Unknown request 4294967295
CheckSize error size = 0 Size() = 12
CheckRead error
^CJack main caught signal 2
^C
^C

Jack also does not exit normally here. (see the 3 nescessary occurences of CTRL-C to kill it) Cleanup in /dev/shm is note done properly, files are still preset there.

when a client tries to connect to jack (tested with patchage) in this state, it gets froze an and seems to wait for a while.

using the dummy backend does not produce the problem:

jackd -ddummy

clients can connect and work properly in this case. (tested with jack_iodelay)

recording with arecord does not work for the input device:

 arecord -D hw:1 -f S32_LE -r 48000 -c 2
[mseeber@t440s-sbr ~]$ arecord -D hw:1 -f S32_LE -r 48000 -c 2
Recording WAVE 'stdin' : Signed 32 bit Little Endian, Rate 48000 Hz, Stereo
RIFF$�WAVEfmt �� data�^CAborted by signal Interrupt...
^C
^C
^C
^C
^C
arecord: pcm_read:2031: read error: Input/output error

running jack with only a playback device works without problems:

[mseeber@t440s-sbr ~]$ jackd -dalsa -Phw:1
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp 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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10 
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
Acquire audio card Audio1
creating alsa driver ... hw:1|-|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback

System setup:

[mseeber@t440s-sbr ~]$ cat /proc/asound/cards 
 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xe0630000 irq 47
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xe0634000 irq 48

[mseeber@t440s-sbr ~]$ uname -a
Linux t440s-sbr 3.19.3-3-ARCH #1 SMP PREEMPT Wed Apr 8 14:10:00 CEST 2015 x86_64  GNU/Linux

I guess i shall forward this instead to ALSA-DEVEL, as it seems to be related to the Intel driver, or is any more testing for jack required?

seanlynch commented 9 years ago

I'm having the exact same issue on a 2015 Dell XPS 15 Developer Edition. Dummy driver works fine, alsa starts but nothing can connect to it, with precisely the same errors in the log.

seanl@michiru ~ % cat /proc/asound/cards
 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf741c000 irq 50
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7418000 irq 48
seanlynch commented 9 years ago

Compiled from git via the jack2-git AUR package, and I got basically the same error, with some additional details:

23:21:49.218 Statistics reset.
23:21:49.229 ALSA connection change.
23:21:49.303 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
23:21:49.314 ALSA connection graph change.
23:22:18.411 D-BUS: JACK server could not be started. Sorry
Fri Jul 17 23:21:53 2015: Starting jack server...
Fri Jul 17 23:21:53 2015: JACK server starting in realtime mode with priority 89
Fri Jul 17 23:21:53 2015: self-connect-mode is "Don't restrict self connect requests"
Fri Jul 17 23:21:53 2015: Acquired audio card Audio1
Fri Jul 17 23:21:53 2015: creating alsa driver ... hw:PCH,0|hw:PCH,0|64|3|48000|0|0|nomon|swmeter|-|32bit
Fri Jul 17 23:21:53 2015: configuring for 48000Hz, period = 64 frames (1.3 ms), buffer = 3 periods
Fri Jul 17 23:21:53 2015: ALSA: final selected sample format for capture: 32bit integer little-endian
Fri Jul 17 23:21:53 2015: ALSA: use 3 periods for capture
Fri Jul 17 23:21:53 2015: ALSA: final selected sample format for playback: 32bit integer little-endian
Fri Jul 17 23:21:53 2015: ALSA: use 3 periods for playback
Fri Jul 17 23:21:53 2015: port created: Midi-Through:midi/playback_1
Fri Jul 17 23:21:53 2015: port created: Midi-Through:midi/capture_1
Fri Jul 17 23:21:58 2015: ERROR: JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
Fri Jul 17 23:21:58 2015: ERROR: Driver is not running
Fri Jul 17 23:21:58 2015: ERROR: Cannot open client name = dbusapi
Fri Jul 17 23:21:58 2015: ERROR: failed to create dbusapi jack client
Fri Jul 17 23:21:58 2015: ERROR: Unknown request 4294967295
Fri Jul 17 23:21:58 2015: ERROR: CheckSize error size = 0 Size() = 12
Fri Jul 17 23:21:58 2015: ERROR: CheckRead error
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
23:22:18.508 ALSA connection graph change.
23:22:18.519 ALSA connection graph change.
23:22:25.516 Could not connect to JACK server as client. - Overall operation failed. - Server communication error. Please check the messages window for more info.
Cannot read socket fd = 16 err = Success
CheckRes error
JackSocketClientChannel read fail
Cannot open qjackctl client
JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
Fri Jul 17 23:22:25 2015: ERROR: JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
Fri Jul 17 23:22:25 2015: ERROR: Driver is not running
Fri Jul 17 23:22:25 2015: ERROR: Cannot create new client
Fri Jul 17 23:22:25 2015: ERROR: Unknown request 4294967295
Fri Jul 17 23:22:25 2015: ERROR: CheckSize error size = 0 Size() = 12
Fri Jul 17 23:22:25 2015: ERROR: CheckRead error
karllinden commented 9 years ago

Have you reported this to the ALSA devs? If so, maybe you could add a link to the report here?

mseeber commented 9 years ago

Thanks for the reminder, I'll see what I can do.

mseeber commented 8 years ago

@seanlynch is the issue still present on your system?

arnwas commented 8 years ago

@mseeber At least it is still present on my system, i have the very same symptoms, and i am completely stuck how to solve that. Any hints anybody?

mseeber commented 8 years ago

@arnwas would you add your system specification? Especially output of cat /proc/asound/cards and if this only fails for duplex or even for playback or capture only.

mlt commented 8 years ago

I am having the same problem on Raspberry Pi 2 running Arch Linux ARM with 2 sound cards (default for playback and Rocksmith USB cable for capture) while trying to start guitarix.

mlt@rpi ~ :( $ cat /proc/asound/cards
 0 [ALSA           ]: bcm2835 - bcm2835 ALSA
                      bcm2835 ALSA
 1 [Adapter        ]: USB-Audio - Rocksmith USB Guitar Adapter
                      Hercules Rocksmith USB Guitar Adapter at usb-3f980000.usb-1.5.4.2, full speed

Here is what I see in console

mlt@rpi ~ :( $ jackd -d alsa -C hw:1 -P hw:0
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp 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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio1
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:1|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
Driver is not running
Cannot create new client
CheckSize error size = 32 Size() = 12
CheckRead error
CheckSize error size = -1 Size() = 4
CheckRead error
CheckSize error size = 0 Size() = 12
CheckRead error
Animtim commented 7 years ago

Hi, I also have exactly the same bug on a mageia cauldron install. I didn't try yet to do a full system re-install as it seemed to "fix" the issue for some people on arch.

ERROR: JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
ERROR: Driver is not running
ERROR: Cannot open client name = dbusapi
ERROR: failed to create dbusapi jack client
ERROR: Unknown request 4294967295
ERROR: CheckSize error size = 0 Size() = 12
ERROR: CheckRead error

It doesn't happen every time, when I boot the system, starting jack either works or it doesn't with this error. When the error is there, the only workaround I found is to reboot (hoping it works the next boot, which it usually does. Very rarely, I need to reboot a second time.. so it's really random.. like a race condition in the boot or desktop start process or something. Also, I reproduced it both with internal and usb soundcard. Tell me if I can provide some useful infos to debug it

mseeber commented 7 years ago

The Problem here was, that on my Hardware I had disabled the microphone in the UEFI configuration. Enabeling the microphone fixed the issue with the recording device, which is automatically opened when jack was started with just the "-dhw:1" parameter and caused the whole application to hang. I am not sure @Animtim, it might be a different cause in your case.

Animtim commented 7 years ago

Indeed, it must be a different cause with the same symptoms. Though I've no idea how to proceed to find what triggers this. I believe I've disabled any pulsaudio or jackdbus auto-start that could conflict, I don't know where to look after that. Eventually I'll end up trying to reinstall.. but, I've no guarantee it won't come back. It would still be better to be able to really fix it.

YruamaLairba commented 7 years ago

hello, similar jack issue here with a raspberry pi 3 under raspbian, but there is subtle differences (should i open new ticket ?). my audio interface: pi@raspberrypi:~ $ cat /proc/asound/cards 0 [PODStudioUX2 ]: Line6-TonePort - POD Studio UX2 Line 6 POD Studio UX2 at USB 1-1.3:1.0

The main differences with mseeber is that Jack doesn't work in capture nor playback and that my audio interface is working correctly with aplay or arecord.

YruamaLairba commented 7 years ago

hello again, I solved my problem few weeks ago and it's very strange as the problem seems to be on the X server side. In fact in my case, my raspberry don't have a screen connected to it, so i was using PuTTy and Xming to do ssh and X forwarding... and jack wasn't working correctly. But later i tried to launch using trought VNC and it worked correctly. Even later i tried again to do X forwarding but from a linux machine, it worked correctly too. I hope my exeprience will help some of you.

PS: at same time i discovered that jackd need a X server to run. I don't understand why because jackd doesn't have GUI?

the-drunk-coder commented 7 years ago

Are there any new hints how to tackle this problem ? I just tried to install a virtual machine with linux and jack, and got the same error ... tried qemu and Virtualbox, no luck so far ...

YruamaLairba commented 7 years ago

@the-drunk-coder : strange, one of my friend was using jack trought a virtualbox without having this problems.

I didn't try this yet, but the trick in this thread may help you. In short, before lauching jackd, it tell to do export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket

tresf commented 7 years ago

I didn't try this yet, but the trick in this thread may help you. In short, before lauching jackd, it tell to do export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket

I'm getting this issue in VirtualBox (running atop Windows) on Ubuntu 14.04 as well as Fedora 26 and the DBUS_SESSION_BUS_ADDRESS just makes new errors occur.

aplay -lL lists this.

I've followed every step in the Fedora JACK tutorial including adding to the audio group and jackaudio group as well as tried to use a standalone 3rd party tool by @falkTX called Cadence to no avail on Fedora.

YruamaLairba commented 7 years ago

@tresf you should join the error message when you ask for help. But I don't think it's the best place to have help for your problem, seems out of the scope of the current discussion.

tresf commented 7 years ago

Edit: Errors and separate issue filed https://github.com/jackaudio/jack2/issues/304.


@YruamaLairba the message starts the same as this one and I've received it on 4 separate VMs as of posting my comment trying AC97 and Soundblaster 16 drivers from VirtualBox.

+ERROR: JackPosixProcessSync::LockedTimedWait error usec = 5000000 err = Connection timed out
ERROR: Driver is not running
ERROR: Cannot open client name = dbusapi
ERROR: failed to create dbusapi jack client
ERROR: Unknown request 4294967295
ERROR: CheckSize error size = 0 Size() = 12
ERROR: CheckRead error

I was hoping not to fill up the tracker with a support request, but I don't even know what the steps are for setting up the server. Every website has some different steps, most include getting PA out of the way, but it doesn't help in the VMs I've tested. A nudge in the right direction would help me know whether I'm on the support side or the bug side of this fence.

7890 commented 5 years ago

Some speculation / recollection of possible reasons:

-Trying to open duplex device while only capture or playback is available -A bogus jack install (mixed jack1, jack2 libraries) -DBus issues (no DBus, no GUI session, device reservation problems, ...)

I'm closing this issue for the following reasons: -Inactive for some time -OP could solve Problem(s) -More specific issue was filed (#304)

If there are remaining issues, please create a new issue. Thanks for caring about JACK!