Bizarre apparent X11-hardware interaction

Jason Burrell (jburrell@crl.crl.com)
Thu, 9 Jan 1997 01:37:37 -0600 (CST)


I've run into an extremely bizarre problem that I figure has to be
kernel->hardware interaction related.

When running X11, some applications will lock the entire machine hard,
requiring me to go for the Big Switch(tm). I've upgraded parts of my
system so that the only things that remain in common are the soundcard
(AWE32 PnP), the drives, and my modem.

The kernel reports my video card as:

Bus 0, device 17, function 0:
VGA compatible controller: Cirrus Logic GD 5430 (rev 76).
Fast devsel. IRQ 11.
Prefetchable 32 bit memory at 0xfc000000.

I've also used another Cirrus card, which had the same problem. I
seriously doubt it's the video card.

X11 used to work fine, but slow on my old 386. Then, about the time I
bought the AWE32, it stopped. Strange, I thought. I upgraded to this P133
with 32MB, and X11 runs much faster, of course, but still has this lockup
problem.

This is where it gets interesting. I was able to get past the 100%
guaranteed locking by telling X11 I was using a Cyrix 5420 (clgd5420)
rather than a Cyrix 5430 (clgd5430) as the kernel reports. Still, it seems
that *Motif* applications (Netscape, and Emacs when I compiled with Motif)
lock up the machine after a little while.

Could my sound card, of all things, be causing this? It's on DMAs 1 and 5,
IRQ 5, and ports 220, 330, and 620, as compiled by my PnP BIOS. AWE32
synth support is _not_ compiled into the kernel, mainly because I never
got it to work, but Soundblaster support is. The sound module does not
have to be loaded for these lockups to occur.[1] If the AWE is conflicting
with something, I have absolutely no idea what it is.

The other notable hardware change that I had right before these lockups
started on both machines was a change from a PS/2 mouse to a Microsoft
serial mouse. I don't see how this can really affect things, however.
Thinking it was gpm, I killed it a few minutes ago and fired up Netscape
(a Motif) application. It worked fine for a while, then locked up. Java
was off in Netscape.

Windows and other DOS/Windows programs are not affected by this at all.
The only other thing I can think of that is relevent is that I noticed
that before a lockup (or actually, right when it happens), there is a
flurry of disk activity that lasts maybe a second to a second and a half.
Could this be the kernel panicking? Since I have to be in X for the bug to
occur, I can't see the kernel panic message. It isn't written to the log.

[1] Tomorrow I'm going to try messing around with the RedHat PnP patches,
and/or manually setting up my soundcard. If that doesn't work, I'm going
to pull it and see what happens.

Misc. system data:

/proc/interrupts:

0: 104939 timer
1: 9321 keyboard
2: 0 cascade
3: 326 + serial
4: 1957 + serial
8: 0 + rtc
13: 0 math error
14: 22302 + ide0
15: 0 + ide1

/proc/ioports:

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : npu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)

Now, with the sound module loaded by kerneld:

/proc/interrupts:

0: 114639 timer
1: 10035 keyboard
2: 0 cascade
3: 1304 + serial
4: 2091 + serial
5: 2 soundblaster
8: 0 + rtc
13: 0 math error
14: 22682 + ide0
15: 0 + ide1

/proc/ioports:

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : npu
0170-0177 : ide1
01f0-01f7 : ide0
0220-022f : soundblaster
02f8-02ff : serial(auto)
0330-0333 : SB MIDI
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(set)

Nearest I can tell, the kernel isn't even referencing the 0x620 port for
the AWE. I don't know if that makes any difference at all.

I'm running kernel 2.1.20 (though this bug occurs in _all_ 2.x kernels at
the very least), and libc 5.4.18 (same, all the way from 5.3.12).

Any comments are appreciated.

--
Good government. Good government. Sit. Stay.