From: James Harkins <jamshark70(a)zoho.com>
To: "linux-audio-user" <linux-audio-user(a)lists.linuxaudio.org>
Subject: [LAU] How to recover from a JACK freeze?
Message-ID: <15df368d100.cbae553a56821.8435360232489998174(a)zoho.com>
Content-Type: text/plain; charset="UTF-8"
Hi, been inactive for a while.
I just up/cross-graded to Ubuntu Studio 16.04 -- very much enjoying it so
far! I'm getting better USB audio performance than I could ever manage
under plain Ubuntu (provided WiFi is off, but I can live with that for
shows).
One problem that the upgrade didn't solve is that sometimes jackd gets
stuck and it can't be killed.
Initial symptom: No audio, in or out.
Secondary symptom: In qjackctl, the CPU usage number is frozen -- never
changes.
At that point:
$ ps x | grep jackd
3140 ? SLsl 0:16 /usr/bin/jackd -dalsa -r44100 -p1024 -n2 -D
-Chw:Set,0 -Phw:Set
4458 pts/1 S+ 0:00 grep --color=auto jackd
$ kill -9 3140
$ ps x | grep jackd
3140 ? SLsl 0:16 /usr/bin/jackd -dalsa -r44100 -p1024 -n2 -D
-Chw:Set,0 -Phw:Set
4460 pts/1 S+ 0:00 grep --color=auto jackd
"kill -9" has no effect.
"sudo kill -9" has no effect.
If I reboot, it takes several minutes for the system to shut down -- i.e.,
jackd is even preventing a clean shutdown.
So, the question: How do I regain control when this happens? (Ideally,
without having to close everything.)
Pretty sure I've seen the same thing a few times, and the solution has been
to reload the sound card driver. Here's my script to do that:
[kjetil@localhost ~]$ more bin/startdelta.sh
#!/bin/sh
fuser -fv /dev/snd/* /dev/dsp*
/home/kjetil/bin/removealsa.sh # see below
sleep 1
/home/kjetil/bin/alsasound start # ccrma dist script
modprobe snd-ice1712 # change to your sound card
#modprobe snd-hda-intel
modprobe snd-seq
chmod 777 /dev/snd/seq
alsactl restore 0
fuser -fv /dev/snd/* /dev/dsp*
[kjetil@localhost ~]$ more bin/removealsa.sh
#!/bin/sh
killall -9 pulseaudio
rmmod snd_hda_codec_atihdmi snd_hda_codec snd_hwdep snd_pcm snd_timer snd
soundcore snd_page_alloc
rmmod snd_seq snd_timer snd_seq_device snd_seq_dummy snd-ice1712
snd_ice17xx_ak4xxx snd_ak4xxx_adda snd_hda_intel snd_cs8427 snd_hda_codec
snd_ac97_codec snd_hwdep snd_seq snd_pcm ac97_bus snd_i2c snd_mpu401_uart
snd_rawmidi snd_seq_device snd_timer snd soundcore snd_page_alloc
sleep 1
rmmod snd_hda_codec_atihdmi snd_hda_codec snd_hwdep snd_pcm snd_timer snd
soundcore snd_page_alloc
rmmod snd_seq snd_timer snd_seq_device snd_seq_dummy snd-ice1712
snd_ice17xx_ak4xxx snd_ak4xxx_adda snd_hda_intel snd_cs8427 snd_hda_codec
snd_ac97_codec snd_hwdep snd_seq snd_pcm ac97_bus snd_i2c snd_mpu401_uart
snd_rawmidi snd_seq_device snd_timer snd soundcore snd_page_alloc
rmmod
snd_seq_midi,snd_seq_dummy,snd_ice1712,snd_ak4xxx_adda,snd_cs8427,snd_ac97_codec,snd_seq,snd_pcm,snd_timer,snd_i2c,snd_mpu401_uart,snd_rawmidi,snd_seq_device
rmmod snd_seq_midi,snd_seq,snd_timer,snd_rawmidi,snd_seq_device
rmmod snd_seq_midi_event snd-seq-midi snd-seq snd-timer snd-rawmidi
snd-seq-device
rmmod snd_seq_oss snd_seq_midi_event snd_pcm_oss snd_seq snd_seq_device
snd_pcm snd_timer snd_page_alloc snd_mixer_oss
rmmod snd_hda_codec_realtek snd_hda_codec_via snd_hda_codec snd_hwdep
snd_pcm snd_timer
rmmod snd_hda_codec snd_hwdep snd_pcm snd_timer
rmmod snd_via82xx snd_hda_codec snd_hwdep snd_ac97_codec snd_mpu401_uart
snd_rawmidi snd_seq_device snd_pcm snd_timer snd_page_alloc soundcore
rmmod snd