| Author |
Message |
|
|
Post subject: Out of interrupts events!
Posted: Jan 28, 2008 - 09:55 AM
|
|
Active Member
Joined: May 31, 2007
Posts: 18
|
|
Hello everybody.
I have an embedded OS image (QNX 6.3, x86) running in an Athena CPU board. After booting up and waiting some minutes without any application running, the system get hang and begins to continuously display on the screen the message "Out of interrupts events!".
After booting up, and before the system hanging up, the pidin utility gave the following result:
pid tid name prio STATE Blocked
1 1 procnto 0f READY
1 2 procnto 255r RECEIVE 1
1 3 procnto 255r RECEIVE 1
1 4 procnto 10r RECEIVE 1
1 5 procnto 10r RUNNING
1 6 procnto 10r RECEIVE 1
1 7 procnto 10r RECEIVE 1
1 8 procnto 10r RECEIVE 1
1 9 procnto 10r RECEIVE 1
1 10 procnto 10r RECEIVE 1
4098 1 proc/boot/pci-bios 10r RECEIVE 1
4099 1 proc/boot/devc-con 10r RECEIVE 1
4101 1 roc/boot/devb-eide 10r SIGWAITINFO
4101 2 roc/boot/devb-eide 21r RECEIVE 1
4101 3 roc/boot/devb-eide 10r RECEIVE 7
4101 4 roc/boot/devb-eide 10r RECEIVE 4
4101 7 roc/boot/devb-eide 10r RECEIVE 4
4101 8 roc/boot/devb-eide 10r RECEIVE 4
4101 9 roc/boot/devb-eide 10r RECEIVE 4
24580 1 proc/boot/slogger 10r RECEIVE 1
24582 1 proc/boot/pipe 10r SIGWAITINFO
24582 2 proc/boot/pipe 10r RECEIVE 1
24582 3 proc/boot/pipe 10r RECEIVE 1
24582 4 proc/boot/pipe 10r RECEIVE 1
24583 1 proc/boot/mqueue 10r RECEIVE 1
24584 1 sbin/devc-pty 10r RECEIVE 1
24586 1 bin/tinit 10r REPLY 1
57356 1 sbin/devb-ram 10r SIGWAITINFO
57356 2 sbin/devb-ram 21r RECEIVE 1
57356 3 sbin/devb-ram 10r RECEIVE 7
57356 4 sbin/devb-ram 10r RECEIVE 4
57356 5 sbin/devb-ram 10r RECEIVE 4
57356 6 sbin/devb-ram 10r RECEIVE 4
90125 1 sbin/devc-ser8250 10r RECEIVE 1
90127 1 bin/io-net 10r SIGWAITINFO
90127 2 bin/io-net 21r RECEIVE 5
90127 3 bin/io-net 10r RECEIVE 1
90127 4 bin/io-net 10r RECEIVE 1
90127 5 bin/io-net 10r RECEIVE 1
90127 6 bin/io-net 20r RECEIVE 9
90127 7 bin/io-net 10r RECEIVE 25
90127 8 bin/io-net 10r CONDVAR b827be34
90127 9 bin/io-net 9r RECEIVE 1
151569 1 bin/inetd 10r SIGWAITINFO
184329 1 bin/sh 10r SIGSUSPEND
241675 1 bin/pidin 10r REPLY 1
My bootscript is the following:
#Variables initialization
SHELL=/bin/sh
TERM=qansi
PROCESSOR=x86
LD_LIBRARY_PATH=/lib:/lib/dll:/usr/lib:/sbin
SYSNAME=nto
procmgr_symlink ../../proc/boot/libc.so.2 /usr/lib/ldqnx.so.2
display_msg "Starting....."
seedres
display_msg "Starting pci-bios server...."
pci-bios &
waitfor /dev/pci
display_msg "Starting up console driver..."
devc-con -n4 &
waitfor /dev/con1
waitfor /dev/con2
reopen /dev/con1
sleep 1
display_msg "Starting EIDE driver"
devb-eide cam quiet blk auto=partition eide master
waitfor /dev/hd0t77
mount -t qnx4 /dev/hd0t77 /
slogger &
waitfor /dev/slog
display_msg "Starting pipe manager..."
pipe &
waitfor /dev/pipe
# Some common servers
mqueue &
devc-pty &
display_msg "Starting sysinit..."
sh -c /etc/rc.d/rc.sysinit
display_msg "End of boot process"
Does anybody know what is the meaning of this message?
Whats happening?
Thanks in advance.
ogr |
|
|
| |
|
|
|
 |
|
|
Post subject: RE: Out of interrupts events!
Posted: Jan 28, 2008 - 04:51 PM
|
|
QNX Master
Joined: Jun 25, 2003
Posts: 974
|
|
| Do you get the message "Starting sysinit..." and if so, What is in your rc.sysinit? |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Jan 29, 2008 - 08:55 AM
|
|
Active Member
Joined: May 31, 2007
Posts: 18
|
|
Yes, the sysinit file is executed fine. Its content is:
------------------------------------------------------------------------------------
#ifdef __USAGE
#
#%C
#
#This script sets up your environment & starts system services
#
#endif
echo Entering sysinit
# Add the system utilities to the path...
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
# A usefull function
function waitfor {
typeset -i i=0
while test $i -lt 60 -a ! $1 -ef $1 ; do
sleep 1;
let i=i+1;
done
unset i
}
# Start random, this is needed for things like OpenSSH
random -t
# Find the hostname
if test -z $HOSTNAME; then
HOSTNAME=$(hostname -s)
if test $HOSTNAME == localhost; then
unset HOSTNAME
fi
fi
# See if there is a host specifiy etc directory
if ! test -z "$HOSTNAME"; then
if test -x /etc/host_cfg/$HOSTNAME; then
etc_host=/etc/host_cfg/$HOSTNAME;
fi
fi
if test -d /var/dumps; then
dumper -d /var/dumps
fi
if test ! -z "$etc_host" -a -x $etc_host/rc.d/rc.local; then
echo "Starting extra run commands for $(hostname)"
. $etc_host/rc.d/rc.local
elif test -x /etc/rc.d/rc.local; then
echo "Starting extra run commands"
/etc/rc.d/rc.local
fi
# Change the path to back before starting init
#P=-p
if test ! -z "$SAFEMODE"; then
unset P
fi
if test -f /etc/system/config/nophoton; then
unset P
fi
echo "Login in"
PATH=/bin:/usr/bin exec `which tinit` $P LOGNAME=root
print Unable to init, starting a shell
echo "Starting a shell"
exec sh
exec fesh
print Really can't do anything...
echo "End of sysinit"
------------------------------------------------------------------------------------
I use also a rc.local script:
------------------------------------------------------------------------------------
echo Entering rc.local ...
# Mounitng a Ram-Disk
echo Mounting Ram-Disk
devb-ram disk name=RAM ram capacity=8192
waitfor /dev/RAM0t77
mount -t qnx4 /dev/RAM0t77 /home/ramdisk
# Athena serial ports
echo Configuring serial ports
devc-ser8250 -u1 3f8,4 -u2 2f8,3 -u3 3e8,9 -u4 2e8,15 &
# Network
echo Configuring network devices
io-net -d ns83815 did=0x20,vid=0x100b -p tcpip
waitfor /dev/io-net/en0
mount -Tio-net npm-qnet-compat.so
echo Configuring network communications
netmanager -f /etc/net.cfg
sleep 1
inetd &
echo
sleep 3
echo Exiting rc.local
------------------------------------------------------------------------------------
Is very strange since this problen arise suddenly whith no application running and many minutes after the booting process was finished. The system works in console mode without Photon.
Any idea?
ogr |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Jan 29, 2008 - 03:01 PM
|
|
QNX Master
Joined: Sep 01, 2002
Posts: 2667
|
|
| This message means a ISR is generating events and the program associated with it isn't fast enough to process all the events. The interrupt event queue is getting full. |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Jan 29, 2008 - 03:08 PM
|
|
Senior Member
Joined: Mar 10, 2004
Posts: 512
|
|
Ogr,
Your best bet is to stop programs one at a time until you figure out which one is the culprit in terms of getting too many interrupts.
For example, start by commenting out the Network stuff (io-net, netmanager etc) and see if the problem still arises. Then comment out the serial driver and so on.
Tim |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Jan 29, 2008 - 05:35 PM
|
|
Active Member
Joined: May 31, 2007
Posts: 18
|
|
Tim,
I think trying what you suggest it's a good way. Let me test and see what I obtain.
Thanks everybody. |
|
|
| |
|
|
|
 |
|
|