On Wednesday 25 October 2006 18:28, Chris Cannam wrote:
Me:
I'm not aware of anyone these days
successfully
using Rosegarden with snd-rtctimer - if anyone out
there is, do say so.
To test:
* start RG (version 1.0 or newer)
* go to Settings -> Configure Rosegarden -> Sequencer -> Synchronisation
* change the sequencer timing source option to RTC
* close configuration window, press play.
It probably doesn't matter whether you have a file
loaded or not.
Success -> play pointer moves smoothly
Failure -> system locks up solid, reboot required.
If it does lock up, you may need to edit your
rosegardenrc to restore the timer setting before
you can run RG again.
It doesn't lock up here running 2.6.18-rt7 with tickless kernel, hi res timers
and some debugging enabled. Interesting enough though, the second time i
tried to run ti from a terminal to be able to observe output i got a kernel
BUG ;)
Sadly my kernel is tested with the NVIDIA binary only driver, so this tells us
exactly nothing :) Except that i should reboot and not load the nvidia
driver ;)
Flo
------------[ cut here ]------------
kernel BUG at kernel/rtmutex.c:673!
invalid opcode: 0000 [#1]
PREEMPT
Modules linked in: snd_rtctimer nvidia iptable_nat ip_tables snd_intel8x0
ppdev parport_pc lp parport snd_seq_dummy snd_seq_oss snd_seq_midi
snd_seq_midi_event snd_seq kqemu usb_storage scsi_mod ipt_MASQUERADE ip_nat
x_tables ip_conntrack bsd_comp ppp_deflate zlib_deflate ppp_async ppp_generic
slhc crc_ccitt snd_ice1712 snd_ice17xx_ak4xxx snd_cs46xx snd_ak4xxx_adda
snd_cs8427 gameport snd_i2c snd_ac97_codec snd_ac97_bus snd_mpu401_uart
snd_pcm_oss snd_mixer_oss snd_rawmidi snd_seq_device snd_pcm snd_timer
i2c_sis630 snd evdev ohci_hcd epic100 i2c_sis96x sis900 mii usbcore crc32
snd_page_alloc sis_agp agpgart i2c_core soundcore
CPU: 0
EIP: 0060:[<c02d72af>] Tainted: P VLI
EFLAGS: 00010082 (2.6.18-rt7 #3)
EIP is at rt_spin_lock_slowlock+0x19f/0x1e0
eax: 00000020 ebx: 00000282 ecx: 00000001 edx: 00000000
esi: c0336fe0 edi: c41bf600 ebp: f7d22e94 esp: f7d22e30
ds: 007b es: 007b ss: 0068 preempt: 00000002
Process IRQ 8 (pid: 651, ti=f7d22000 task=f7d202b0 task.ti=f7d22000)
Stack: c02ed14d c02f14dd 000002a1 c02d7264 f7d22e64 0000008c f7d22e48 f7d22e48
f7d22e50 f7d22e50 00000000 0000008c f7d22e60 f7d22e60 f7d22e68 f7d22e68
00000000 00000000 11111111 11111111 11111111 11111111 c0336fe0 00000000
Call Trace:
[<c02d7a0e>] rt_spin_lock+0xe/0x50
[<c0233e0a>] rtc_control+0x3a/0x80
[<f89cc02b>] rtctimer_stop+0x2b/0x50 [snd_rtctimer]
[<f88f5470>] snd_timer_interrupt+0x2b0/0x2f0 [snd_timer]
[<f89cc139>] rtctimer_interrupt+0x19/0x20 [snd_rtctimer]
[<c0234122>] rtc_interrupt+0x72/0x120
[<c013e49e>] handle_IRQ_event+0x6e/0x100
[<c013ea62>] thread_simple_irq+0x62/0xa0
[<c013f377>] do_irqd+0x2a7/0x310
[<c012a7c9>] kthread+0xe9/0xf0
[<c0100e05>] kernel_thread_helper+0x5/0x10
DWARF2 unwinder stuck at kernel_thread_helper+0x5/0x10
Leftover inexact backtrace:
[<c0103b49>] show_stack_log_lvl+0xa9/0xd0
[<c0103d56>] show_registers+0x1e6/0x270
[<c0103f02>] die+0x122/0x2e0
[<c0104158>] do_trap+0x98/0x100
[<c0104b50>] do_invalid_op+0xa0/0xb0
[<c010337d>] error_code+0x39/0x40
[<c02d7a0e>] rt_spin_lock+0xe/0x50
[<c0233e0a>] rtc_control+0x3a/0x80
[<f89cc02b>] rtctimer_stop+0x2b/0x50 [snd_rtctimer]
[<f88f5470>] snd_timer_interrupt+0x2b0/0x2f0 [snd_timer]
[<f89cc139>] rtctimer_interrupt+0x19/0x20 [snd_rtctimer]
[<c0234122>] rtc_interrupt+0x72/0x120
[<c013e49e>] handle_IRQ_event+0x6e/0x100
[<c013ea62>] thread_simple_irq+0x62/0xa0
[<c013f377>] do_irqd+0x2a7/0x310
[<c012a7c9>] kthread+0xe9/0xf0
[<c0100e05>] kernel_thread_helper+0x5/0x10
---------------------------
| preempt count: 00000002 ]
| 2-level deep critical section nesting:
----------------------------------------
.. [<c02d856d>] .... __spin_lock_irqsave+0x1d/0x60
.....[<c02d7134>] .. ( <= rt_spin_lock_slowlock+0x24/0x1e0)
.. [<c02d856d>] .... __spin_lock_irqsave+0x1d/0x60
.....[<c0103e22>] .. ( <= die+0x42/0x2e0)
Code: 25 00 f0 ff ff 8b 00 c7 00 00 00 00 00 eb b7 c7 44 24 08 a1 02 00 00 c7
44 24 04 dd 14 2f c0 c7 04 24 4d d1 2e c0 e8 81 ef e3 ff <0f> 0b a1 02 dd 14
2f c0 e9 b6 fe ff ff 89 cf c7 45 a8 00 00 00
EIP: [<c02d72af>] rt_spin_lock_slowlock+0x19f/0x1e0 SS:ESP 0068:f7d22e30
<6>note: IRQ 8[651] exited with preempt_count 1
BUG: sleeping function called from invalid context IRQ 8(651) at
fs/inode.c:247
in_atomic():1 [00000001], irqs_disabled():1
[<c0103a8c>] show_trace_log_lvl+0x1ec/0x200
[<c010420b>] show_trace+0x1b/0x20
[<c0104276>] dump_stack+0x26/0x30
[<c0110416>] __might_sleep+0xd6/0xf0
[<c017dd9f>] clear_inode+0x1f/0x160
[<c0198164>] proc_delete_inode+0x94/0xc0
[<c017df5e>] generic_delete_inode+0x7e/0x120
[<c017d88d>] iput+0x6d/0xa0
[<c017b61b>] dentry_iput+0x7b/0xd0
[<c017c592>] prune_one_dentry+0x62/0x90
[<c017c83c>] prune_dcache+0x16c/0x190
[<c017c98c>] shrink_dcache_parent+0xdc/0x120
[<c019ab72>] proc_flush_task+0x62/0x210
[<c0117d83>] release_task+0x1f3/0x3c0
[<c011934d>] do_exit+0x71d/0xb10
[<c01040b5>] die+0x2d5/0x2e0
DWARF2 unwinder stuck at die+0x2d5/0x2e0
Leftover inexact backtrace:
[<c010420b>] show_trace+0x1b/0x20
[<c0104276>] dump_stack+0x26/0x30
[<c0110416>] __might_sleep+0xd6/0xf0
[<c017dd9f>] clear_inode+0x1f/0x160
[<c0198164>] proc_delete_inode+0x94/0xc0
[<c017df5e>] generic_delete_inode+0x7e/0x120
[<c017d88d>] iput+0x6d/0xa0
[<c017b61b>] dentry_iput+0x7b/0xd0
[<c017c592>] prune_one_dentry+0x62/0x90
[<c017c83c>] prune_dcache+0x16c/0x190
[<c017c98c>] shrink_dcache_parent+0xdc/0x120
[<c019ab72>] proc_flush_task+0x62/0x210
[<c0117d83>] release_task+0x1f3/0x3c0
[<c011934d>] do_exit+0x71d/0xb10
[<c01040b5>] die+0x2d5/0x2e0
[<c0104158>] do_trap+0x98/0x100
[<c0104b50>] do_invalid_op+0xa0/0xb0
[<c010337d>] error_code+0x39/0x40
[<c02d7a0e>] rt_spin_lock+0xe/0x50
[<c0233e0a>] rtc_control+0x3a/0x80
[<f89cc02b>] rtctimer_stop+0x2b/0x50 [snd_rtctimer]
[<f88f5470>] snd_timer_interrupt+0x2b0/0x2f0 [snd_timer]
[<f89cc139>] rtctimer_interrupt+0x19/0x20 [snd_rtctimer]
[<c0234122>] rtc_interrupt+0x72/0x120
[<c013e49e>] handle_IRQ_event+0x6e/0x100
[<c013ea62>] thread_simple_irq+0x62/0xa0
[<c013f377>] do_irqd+0x2a7/0x310
[<c012a7c9>] kthread+0xe9/0xf0
[<c0100e05>] kernel_thread_helper+0x5/0x10
---------------------------
| preempt count: 00000001 ]
| 1-level deep critical section nesting:
----------------------------------------
.. [<c02d856d>] .... __spin_lock_irqsave+0x1d/0x60
.....[<c02d7134>] .. ( <= rt_spin_lock_slowlock+0x24/0x1e0)
prev->state: 2 != TASK_RUNNING??
IRQ 8/651[CPU#0]: BUG in __schedule at kernel/sched.c:3783
[<c0103a8c>] show_trace_log_lvl+0x1ec/0x200
[<c010420b>] show_trace+0x1b/0x20
[<c0104276>] dump_stack+0x26/0x30
[<c0116e3e>] __WARN_ON+0x5e/0x70
[<c02d610d>] __schedule+0x61d/0x750
[<c011923b>] do_exit+0x60b/0xb10
[<c01040b5>] die+0x2d5/0x2e0
DWARF2 unwinder stuck at die+0x2d5/0x2e0
Leftover inexact backtrace:
[<c010420b>] show_trace+0x1b/0x20
[<c0104276>] dump_stack+0x26/0x30
[<c0116e3e>] __WARN_ON+0x5e/0x70
[<c02d610d>] __schedule+0x61d/0x750
[<c011923b>] do_exit+0x60b/0xb10
[<c01040b5>] die+0x2d5/0x2e0
[<c0104158>] do_trap+0x98/0x100
[<c0104b50>] do_invalid_op+0xa0/0xb0
[<c010337d>] error_code+0x39/0x40
[<c02d7a0e>] rt_spin_lock+0xe/0x50
[<c0233e0a>] rtc_control+0x3a/0x80
[<f89cc02b>] rtctimer_stop+0x2b/0x50 [snd_rtctimer]
[<f88f5470>] snd_timer_interrupt+0x2b0/0x2f0 [snd_timer]
[<f89cc139>] rtctimer_interrupt+0x19/0x20 [snd_rtctimer]
[<c0234122>] rtc_interrupt+0x72/0x120
[<c013e49e>] handle_IRQ_event+0x6e/0x100
[<c013ea62>] thread_simple_irq+0x62/0xa0
[<c013f377>] do_irqd+0x2a7/0x310
[<c012a7c9>] kthread+0xe9/0xf0
[<c0100e05>] kernel_thread_helper+0x5/0x10
---------------------------
| preempt count: 00000004 ]
| 4-level deep critical section nesting:
----------------------------------------
.. [<c02d856d>] .... __spin_lock_irqsave+0x1d/0x60
.....[<c02d7134>] .. ( <= rt_spin_lock_slowlock+0x24/0x1e0)
.. [<c02d5b45>] .... __schedule+0x55/0x750
.....[<c011923b>] .. ( <= do_exit+0x60b/0xb10)
.. [<c02d84a6>] .... __spin_lock_irq+0x16/0x60
.....[<c02d5be9>] .. ( <= __schedule+0xf9/0x750)
.. [<c02d856d>] .... __spin_lock_irqsave+0x1d/0x60
.....[<c0116df1>] .. ( <= __WARN_ON+0x11/0x70)
--
Palimm Palimm!
http://tapas.affenbande.org