[LAU] Frequent/regular xruns with jackd2 & puredata (due to multiple cards ?)

0 1 f111110101011 at gmail.com
Mon May 7 16:00:59 UTC 2012


Hello,

I have 2 soundcards:

% cat /proc/asound/cards
  0 [PCH            ]: HDA-Intel - HDA Intel PCH
                       HDA Intel PCH at 0xf7e00000 irq 42
  1 [Pro            ]: USB-Audio - FastTrack Pro
                       M-Audio FastTrack Pro at usb-0000:00:1d.0-1.1, 
full speed

I run jackd on the second one of course.

When starting puredata, even if I don't set it up to use JACK, I get 
this error in dmesg:

hda-intel: IRQ timing workaround is activated for card #0. Suggest a 
bigger bdl_pos_adj.

---

Jackd, on its side, produces very frequent and regular xruns. I close 
puredata, and xruns continue to occur:

Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.032 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.008 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.009 msecs
Jack: fPollTable i = 1 fd = 11
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: ALSA XRun wait_status = 0
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.010 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.005 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.051 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
17:34:43.873 Récupération de désynchronisation (XRUN) (13 sauté).
Jack: **** alsa_pcm: xrun of at least 0.027 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.008 msecs
Jack: fPollTable i = 1 fd = 11
Jack: ALSA XRun wait_status = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackEngine::NotifyClient: no callback for event = 3
Jack: JackPosixMutex::Unlock res = 1
Jack: JackExternalClient::ClientNotify ref = 2 client = qjackctl name = 
qjackctl notify = 3
Jack: fPollTable i = 2 fd = 12
Jack: JackClient::ClientNotify ref = 2 name = qjackctl notify = 3
Jack: JackClient::kXRunCallback
Jack: **** alsa_pcm: xrun of at least 0.009 msecs

---

When I disable snd-hda-intel, I seem to be able to run jackd & puredata 
without trouble.
Other audio apps don't produce such results, but I guess puredata makes 
some tests at startup which produce this issue.

I'm unsure where to address this issue, but hope this report can be 
useful in some way, so if anyone has clues about where to investigate ...

Cheers,

01

===

Other infos:

% uname -a
Linux ___ 3.2.0-1-rt-amd64 #1 SMP PREEMPT RT Fri Feb 17 06:10:34 UTC 
2012 x86_64 GNU/Linux


More information about the Linux-audio-user mailing list