Re: [Rosegarden-devel] Crash and system lockup using hrtimer and alsa SEQ

2010-05-15 Thread Pedro Lopez-Cabanillas
On Thursday, May 13, 2010, Chris Cannam wrote:
 On Thu, May 13, 2010 at 3:51 AM, Geoff King gski...@gmail.com wrote:
  Hello,
  I just found a bug that crashes rosegarden and locks up my system.
  This happens when alsa seq is used with hrtimer setting in rosegarden.
  This is on Fedora 12 w CCRMA rt kernel and rosegarden 10.04.2.  I had to
  hit the reset button to get out of it.
 
  To make it happen:
 
  1) start module snd_hrtimer
  2) start qjackctl/jackd running with midi driver set to SEQ.
  3) start rosegarden and go into preferences and change midi timer
  preference from auto hrtimer.
  4) system locked up..
 
  Also locks up when starting rosegarden and these settings are saved.

 This sounds like a kernel bug rather than anything that Rosegarden can
 influence.  Changing the timer setting in Rosegarden just makes
 Rosegarden tell the ALSA kernel layer to use a different timer, it
 makes no other difference to Rosegarden's own behaviour.

It may be a kernel bug, but it is triggered by Rosegarden only, and not by 
other ALSA sequencer programs using this timer. For instance

1) start the module snd-hrtimer
2) start drumstick-sysinfo [1]. This program shows the hrtimer properties.
3) start drumstick-timertest. This program tests the best timer available, 
which is usually hrtimer.
4) If your ALSA drivers and library are modern enough (1.0.22 here), starting 
kmidimon, kmetronome, or kmid2 the system automatically selects hrtimer when 
it is available. This can be verified with this command while running the 
programs:

$ cat /proc/asound/seq/timer

 There is a long history of unstable interactions between RT kernel
 patches and the different ALSA sequencer timers.

I don't use a RT kernel, just the stock one provided by openSUSE, and 
Rosegarden consistently triggers the lockup.

Regards,
Pedro

[1] http://sf.net/projects/drumstick/

--

___
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel


Re: [Rosegarden-devel] Crash and system lockup using hrtimer and alsa SEQ

2010-05-15 Thread Chris Cannam
On Sat, May 15, 2010 at 2:17 PM, Pedro Lopez-Cabanillas
pedro.lopez.cabanil...@gmail.com wrote:
 It may be a kernel bug, but it is triggered by Rosegarden only, and not by
 other ALSA sequencer programs using this timer.

Interesting, I didn't know that.

You have worked on the RG MIDI code and, of course, on drumstick -- do
you have any feel for what the significant difference might be?

 I don't use a RT kernel, just the stock one provided by openSUSE, and
 Rosegarden consistently triggers the lockup.

Yet if a non-RT thread in Rosegarden (and its MIDI thread is not
real-time) can lock the system hard, the fault must be with the kernel
-- no?  None the less, it would be great to try to avoid provoking it
if we can.


Chris

--

___
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel


Re: [Rosegarden-devel] Crash and system lockup using hrtimer and alsa SEQ

2010-05-15 Thread Pedro Lopez-Cabanillas
On Saturday, May 15, 2010, Chris Cannam wrote:
 On Sat, May 15, 2010 at 2:17 PM, Pedro Lopez-Cabanillas

 pedro.lopez.cabanil...@gmail.com wrote:
  It may be a kernel bug, but it is triggered by Rosegarden only, and not
  by other ALSA sequencer programs using this timer.

 Interesting, I didn't know that.

 You have worked on the RG MIDI code and, of course, on drumstick -- do
 you have any feel for what the significant difference might be?

Not specifically. As a workaround, I've commented out in AlsaDriver.cpp all 
the code between the lines 1515 and 1563 in setCurrentTimer(), deactivating 
the timer selection. It's superfluous here anyway, because I always use the 
hrtimer automatically.

OTOH, the test program drumstick-metronome has code selecting the best timer 
available, and it doesn't lock the system when hrtimer is present.

Regards,
Pedro

--

___
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel


Re: [Rosegarden-devel] Crash and system lockup using hrtimer and alsa SEQ

2010-05-13 Thread Chris Cannam
On Thu, May 13, 2010 at 3:51 AM, Geoff King gski...@gmail.com wrote:
 Hello,
 I just found a bug that crashes rosegarden and locks up my system.
 This happens when alsa seq is used with hrtimer setting in rosegarden. This is
 on Fedora 12 w CCRMA rt kernel and rosegarden 10.04.2.  I had to hit the reset
 button to get out of it.

 To make it happen:

 1) start module snd_hrtimer
 2) start qjackctl/jackd running with midi driver set to SEQ.
 3) start rosegarden and go into preferences and change midi timer preference
 from auto hrtimer.
 4) system locked up..

 Also locks up when starting rosegarden and these settings are saved.

This sounds like a kernel bug rather than anything that Rosegarden can
influence.  Changing the timer setting in Rosegarden just makes
Rosegarden tell the ALSA kernel layer to use a different timer, it
makes no other difference to Rosegarden's own behaviour.

There is a long history of unstable interactions between RT kernel
patches and the different ALSA sequencer timers.


Chris

--

___
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel