By logging information about system interrupts, I am hoping to glean
some information that may help me find out why machines occasionally
lock-up (even ctrl-shift-alt-del appears to have no effect). My
application attaches to interrupts 1 through 15 using
qnx_hint_attach() and then keeps a count of how many IRQs appear on
each line. Every second or so it logs this information to a server
running on another machine.
This works fine. I can see 100 interrupts per second from a set of
serial devices, a few from the network, some from the hard disk, 24
frame pulse interrupts a second, etc. I have also noticed a few some
The process seems to interfere with shutdown. Ctrl-shift-alt-del
normally freezes the display (X11 is running so no countdown is
expected) and then after 10 seconds reboots. With my process
running no reboot occurs - the system is just frozen. It
does seem to have shutdown properly because when I push the reset
button the file system comes up clean.
To identify the logs to the server I send the MAC address of the
computer when the process connects initially (MAC address is unique
whereas IP address may not be). I get the MAC address by running
“netmap -r” as I cannot find a clean way to read it from QNX.
Running netmap seems to cause the system to freeze. Note that the
process starts (and therefore runs netmap) not long after the
system has come up (but after all the essential services have
Can anyone explain this behaviour? Is there any problem with
attaching to all interrupts in this way (apart from loading the
When I drag a slider on the touch screen (X11 user-interface) I see
500-1000 interrupts a second (handled by Dev32.ser). This is not
extreme, but I mention it because the lockups we encounter often occur
when someone is adjusting something by dragging a slider. Is there
likely to be any direct connection (eg overflows in driver buffers)?
The computer in use is a DigitalLogic MSM-P5 module (PC104) containing
a Pentium 166MHz (under-clocked I think to 75MHz). The module is
attached to a custom motherboard.