[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#560212: marked as done (alsa-source: Driver snd-hrtimer - causing system freeze with Rosegarden)



Your message dated Thu, 9 Feb 2012 21:22:45 -0600
with message-id <20120210032021.GA7252@burratino>
and subject line Re: alsa-source: Driver snd-hrtimer - causing system freeze with Rosegarden
has caused the Debian Bug report #560212,
regarding alsa-source: Driver snd-hrtimer - causing system freeze with Rosegarden
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
560212: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=560212
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: alsa-source
Version: 1.0.21+dfsg-2
Severity: important

*** Please type your report below this line ***

When I try to use the "HR timer" as a MIDI sequencer timer in the
Rosegarden (http://www.rosegardenmusic.com) application, the system
freezes. Another people also reported similar problems with other
sequencer - OpenOctave (
https://linuxmusicians.com/viewtopic.php?f=27&p=8917 )

I have tested the problem on two SMP machines with diffrent kernels
(2.6.30, 2.6.31.6, 2.6.32).
The problem seems to be associated with the "snd-hrtimer" module.
I've tried to run the application vie remote X session, while having the
text console active.
Before the machine froze, the following messages have been displayed in
the console:

System 1 (Intel(R) Pentium(R) 4 CPU 2.80GHz HT)

hrtimer: interrupt too slow, forcing clock min delta to 3568 ns

System 2 (Intel(R) Core(TM)2 CPU         T5500  @ 1.66GHz)
hrtimer: interrupt too slow, forcing clock min delta to 11103 ns
CE: hpet increasing min_delta_ns to 15000 nsec
CE: hpet increasing min_delta_ns to 22500 nsec
CE: hpet increasing min_delta_ns to 33750 nsec

Analyzing the problem, I had an idea, that maybe the snd-hrtimer should
be rewritten to call
the callback via tasklet (I attach my patch only as an ilustration, my
code doesn't work either),
 however then I got the message "BUG: scheduling while atomic" or
something like this
 from the snd_hrtimer_stop function called from _snd_timer_stop.
Therefore I've tried to investigate the snd_hrtimer_stop more thoroughly.

Looking further into the code, I have found, that snd_hrtimer_stop may
be called
from the callback routine (e.g.:
http://lxr.linux.no/linux+v2.6.32/sound/core/timer.c#L709 or
http://lxr.linux.no/linux+v2.6.32/sound/core/timer.c#L719 )

It seems to me, that calling hrtimer_cancel (in the original code),
which waits for the handler to finish,
from that handler  may lock the machine...
(snd_hrtimer_callback calls the snd_timer_interrupt:
http://lxr.linux.no/linux+v2.6.32/sound/core/hrtimer.c#L47
which in turn calls snd_hrtimer_stop (as above) which calls hrtimer_cancel).


Unfortunately currently I have no idea how to fix this problem. Maybe
snd_hrtimer_stop shouldn't try to cancel the timer,
instead setting a flag causing callback to return immediately without
rearming of the timer?

Wojtek Zabolotny
wzab@ise.pw.edu.pl

PS. The above bug has been also reported to LKML

-- Package-specific info:
--- Begin additional package status ---
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  alsa-base      1.0.21+dfsg-2  ALSA driver configuration files
ii  libasound2     1.0.21a-1      shared library for ALSA applications
--- End additional package status ---
--- Begin /proc/asound/version ---
Advanced Linux Sound Architecture Driver Version 1.0.20.
--- End /proc/asound/version ---
--- Begin /proc/asound/cards ---
 0 [ICH5           ]: ICH4 - Intel ICH5
                      Intel ICH5 with AD1985 at irq 17
 1 [UGM96          ]: USB-Audio - UGM96
                      EGOSYS, Inc. UGM96 at usb-0000:00:1d.2-2, full speed
 2 [Xboard49       ]: USB-Audio - E-MU Xboard49
                      E-MU Systems, Inc. E-MU Xboard49 at
usb-0000:00:1d.0-1.1, full speed
--- End /proc/asound/cards ---
--- Begin /dev/snd/ listing ---
total 0
drwxr-xr-x 2 root root       80 Dec  9 16:55 by-id
drwxr-xr-x 2 root root      100 Dec  9 16:55 by-path
crw-rw---- 1 root audio 116, 10 Dec  9 16:55 controlC0
crw-rw---- 1 root audio 116, 13 Dec  9 16:55 controlC1
crw-rw---- 1 root audio 116, 15 Dec  9 16:55 controlC2
crw-rw---- 1 root audio 116, 14 Dec  9 16:55 midiC2D0
crw-rw---- 1 root audio 116,  9 Dec  9 16:58 pcmC0D0c
crw-rw---- 1 root audio 116,  8 Dec  9 16:58 pcmC0D0p
crw-rw---- 1 root audio 116,  7 Dec  9 16:55 pcmC0D1c
crw-rw---- 1 root audio 116,  6 Dec  9 16:55 pcmC0D2c
crw-rw---- 1 root audio 116,  5 Dec  9 16:55 pcmC0D3c
crw-rw---- 1 root audio 116,  4 Dec  9 16:58 pcmC0D4p
crw-rw---- 1 root audio 116, 12 Dec  9 16:58 pcmC1D0c
crw-rw---- 1 root audio 116, 11 Dec  9 16:58 pcmC1D0p
crw-rw---- 1 root audio 116,  3 Dec  9 16:55 seq
crw-rw---- 1 root audio 116,  2 Dec  9 16:55 timer
--- End /dev/snd/ listing ---

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (100, 'stable'), (50, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.31.6.media (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages alsa-source depends on:
ii  bzip2                         1.0.5-3    high-quality block-sorting
file co
ii  debconf [debconf-2.0]         1.5.28     Debian configuration
management sy
ii  debconf-utils                 1.5.28     debconf utilities
ii  debhelper                     7.4.3      helper programs for
debian/rules
ii  dpkg-dev                      1.15.5.3   Debian package development
tools
ii  gcc [c-compiler]              4:4.3.4-1  The GNU C compiler
ii  gcc-4.1 [c-compiler]          4.1.2-27   The GNU C compiler
ii  gcc-4.2 [c-compiler]          4.2.4-6    The GNU C compiler
ii  gcc-4.3 [c-compiler]          4.3.4-6    The GNU C compiler
ii  make                          3.81-7     An utility for Directing
compilati

Versions of packages alsa-source recommends:
ii  fakeroot                     1.14.4-1    Gives a fake root environment
ii  kernel-package               12.031      A utility for building
Linux kerne
ii  linux-headers-2.6.31 [linux- 10:wzab.1.0 Header files related to
Linux kern
ii  linux-headers-2.6.31.4 [linu 10:wzab.1.0 Header files related to
Linux kern
ii  linux-headers-2.6.31.6 [linu 10:wzab.1.0 Header files related to
Linux kern
ii  linux-headers-2.6.31.6.media 10:wzab.1.0 Header files related to
Linux kern
ii  module-assistant             0.11.1      tool to make module package
creati

alsa-source suggests no packages.

Versions of packages alsa-base depends on:
ii  linux-sound-base           1.0.21+dfsg-2 base package for ALSA and
OSS soun
ii  lsof                       4.81.dfsg.1-1 List open files
ii  module-init-tools          3.11-1        tools for managing Linux
kernel mo
ii  udev                       146-5         /dev/ and hotplug
management daemo

Versions of packages libasound2 depends on:
ii  libc6                         2.10.2-2   GNU C Library: Shared libraries

-- debconf information:
  alsa-source/cards_to_be_built: all
  alsa-source/debug: false
  alsa-source/cards:
  alsa-source/has_pnp: true
  alsa-source/cards_with_descriptions:



--- End Message ---
--- Begin Message ---
Version: 2.6.32-3
# approximations: 2.6.32, 2.6.31.6, 2.6.30
found 560212 linux-2.6/2.6.32-1
found 560212 linux-2.6/2.6.31-2
found 560212 linux-2.6/2.6.30-1
quit

Jonathan Nieder wrote:
> Wojtek Zabolotny wrote:

>> When I try to use the "HR timer" as a MIDI sequencer timer in the
>> Rosegarden (http://www.rosegardenmusic.com) application, the system
>> freezes.
[...]
> Does this still happen with the latest kernel in squeeze (my guess
> would be "yes")?  Is it fixed by the kernel in sid?

Ping.  Do you still have access to this hardware, or do you have any
pointers that could help us figure out whether this was fixed in
2.6.32.2 (Debian kernel 2.6.32-3) like I hope it was?

Thanks for making it happen, by the way.


--- End Message ---

Reply to: