At Tue, 24 Apr 2007 15:23:52 +0100, Daniel James wrote:
Hi Takashi, hi Florian,
I found a similar MIDI crashing bug on a dual Opteron machine in 2005, even with only one processor installed, which I reported at the time on alsa-devel. The card was an M-Audio Audiophile 24/96, normally reliable.
I couldn't replicate this problem on an Asus single processor Opteron board, so I concluded it was a quirk of my dual socket Tyan S2875 motherboard:
http://article.gmane.org/gmane.linux.alsa.devel/24682/ http://article.gmane.org/gmane.linux.alsa.devel/25323/
Last time I tested it, earlier this year I think, the bug was still there. I even flashed the BIOS of the Tyan board in case it was a BIOS bug, but it made no difference. I installed a 32-bit distro and that made no difference either.
Maybe there is something more generally wrong here, which only affects dual-processor AMD64 hardware. I can make the Tyan machine available over SSH if that helps, it has a fixed IP address.
The most important thing is to find out what triggers which result. As far as I understand from Florian's analysis, the io-port access results in a machine reboot, not a kernel panic or so. It's scary because the controls is completely out of kernel.
Perhaps an easiest but foolishest way to trace this is to put printk at each io-port access and any other important points, and give some sleep at each point, then watch the kernel message. You can get rid of spin_lock_*() around that, just for testing.
Takashi