qnx425 crash?Need help

hi,

sorry for my poor english.
pc104(zfx86) whit ethernet(rtl8139c) and plug in two multiport
card(16c554),would crash after running serval hours.
whit debugger32,when it crashed show below:
TRAP:
cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • /P
    invalid pid

  • /p
    invalid mem for register entry

  • d
    00f8:000013b8 06 22 00 00 b8 a1 00 00 3a 8d 00 00 b2 44 00 00
    00f8:000013c8 12 a2 01 00 04 14 00 00 03 00 00 00 40 61 01 00

  • ?
    cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • gTRAP:
    cs/00f0 ss/00f8 ds/1ea2 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/00001318 ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/000159e0 eip/00000ccf esp/00001304 psw/00002046

  • /T
    procs: 1 2 3 4 7 15 19 20 21 25 26 27 30 35 47 76 77 86 88 90 91 95
    99 102 107 112 114 119 120 128 129 133 136 140 143 148 152 154 155 158
    167 168 175 177 184 185 194
    vcs:379
    proxies:8 9 10 11 16 17 22 29 31 36 40 41 42 57 80 81 100


    serial port card setup in sysinit.1:
    Dev32.ser -b 9600 -t 8 220,5 228,5 230,5 238,5 280,7 288,7 290,7 298,7 240,5
    248,5 250,5 258,5 2a0,7 2a8,7 2b0,7 2b8,7 &



    what’s wrong?


    nlee

Please post the version of QNX4 (sin ver) components you’re using.

-Adam
nlee <nl1031@sohu.com> wrote in message news:be2u5i$357$1@inn.qnx.com

hi,

sorry for my poor english.
pc104(zfx86) whit ethernet(rtl8139c) and plug in two multiport
card(16c554),would crash after running serval hours.
whit debugger32,when it crashed show below:
TRAP:
cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • /P
    invalid pid

  • /p
    invalid mem for register entry

  • d
    00f8:000013b8 06 22 00 00 b8 a1 00 00 3a 8d 00 00 b2 44 00 00
    00f8:000013c8 12 a2 01 00 04 14 00 00 03 00 00 00 40 61 01 00

  • ?
    cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • gTRAP:
    cs/00f0 ss/00f8 ds/1ea2 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/00001318 ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/000159e0 eip/00000ccf esp/00001304 psw/00002046

  • /T
    procs: 1 2 3 4 7 15 19 20 21 25 26 27 30 35 47 76 77 86 88 90 91 95
    99 102 107 112 114 119 120 128 129 133 136 140 143 148 152 154 155 158
    167 168 175 177 184 185 194
    vcs:379
    proxies:8 9 10 11 16 17 22 29 31 36 40 41 42 57 80 81 100


    serial port card setup in sysinit.1:
    Dev32.ser -b 9600 -t 8 220,5 228,5 230,5 238,5 280,7 288,7 290,7 298,7
    240,5
    248,5 250,5 258,5 2a0,7 2a8,7 2b0,7 2b8,7 &



    what’s wrong?


    nlee

Hi,
here is my system information.

sin ver

PROGRAM NAME VERSION DATE
sys/Proc32 Proc 4.25L Feb 15 2001
sys/Slib32 Slib32 4.24B Aug 12 1997
/bin/Fsys Fsys32 4.24V Feb 18 2000
/bin/Fsys DiskOnChip 5.00 Aug 24 2001
//1/bin/Dev32 Dev32 4.23G Oct 04 1996
//1/bin/Pipe Pipe 4.23A Feb 26 1996
//1/bin/Dev32.ser Dev32.ser 4.23I Jun 27 1997
//1/bin/Dev32.ansi Dev32.ansi 4.23H Nov 21 1996
//1/bin/Dev32.pty Dev32.pty 4.23G Oct 04 1996
//1/bin/Net Net 4.25C Aug 30 1999
//1/bin/Net.rtl Net.rtl 4.25C Jan 09 2001
//1/*/5.0/usr/ucb/Tcpip Tcpip 5.00A Jan 26 2001



nlee

The trap is from an event queue overflow (ie. someone is generating too many
events too fast).

Check out the memory starting from 0x03e40 (use the DS register for your
segment selector) using the ‘dd’ command (ex. dd ds:0x03e40). This is the
event stack, and in it is the addresses of the ‘events’ (proxies), you can
use the /p command with the value from the stack (along with the ds
register) to get the proxy information and who it belongs to. Then use /P
for the owner PID to get process information on who that proxy belongs to.

Hopefully you’ll be able to identify who and why they might be generating
all those events.

-Adam

nlee <nl1031@sohu.com> wrote in message news:be2u5i$357$1@inn.qnx.com

hi,

sorry for my poor english.
pc104(zfx86) whit ethernet(rtl8139c) and plug in two multiport
card(16c554),would crash after running serval hours.
whit debugger32,when it crashed show below:
TRAP:
cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • /P
    invalid pid

  • /p
    invalid mem for register entry

  • d
    00f8:000013b8 06 22 00 00 b8 a1 00 00 3a 8d 00 00 b2 44 00 00
    00f8:000013c8 12 a2 01 00 04 14 00 00 03 00 00 00 40 61 01 00

  • ?
    cs/00f0 ss/00f8 ds/a130 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/000013cc ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/0001bb20 eip/00000ccf esp/000013b8 psw/00002046

  • gTRAP:
    cs/00f0 ss/00f8 ds/1ea2 es/00f0 fs/0000 gs/0000 ldt/0000
    edi/00003fd0 esi/00016140 ebp/00001318 ebx/000044b2 edx/fffc0001
    ecx/00000000 eax/000159e0 eip/00000ccf esp/00001304 psw/00002046

  • /T
    procs: 1 2 3 4 7 15 19 20 21 25 26 27 30 35 47 76 77 86 88 90 91 95
    99 102 107 112 114 119 120 128 129 133 136 140 143 148 152 154 155 158
    167 168 175 177 184 185 194
    vcs:379
    proxies:8 9 10 11 16 17 22 29 31 36 40 41 42 57 80 81 100


    serial port card setup in sysinit.1:
    Dev32.ser -b 9600 -t 8 220,5 228,5 230,5 238,5 280,7 288,7 290,7 298,7
    240,5
    248,5 250,5 258,5 2a0,7 2a8,7 2b0,7 2b8,7 &



    what’s wrong?


    nlee

Adam,
thanks for your reply.

is below operation right ?

  • dd ds:0x3e40
    00f8:00003e40 00013b20 000135e0 000159e0 0001c2b0
    00f8:00003e50 0001b730 0001bb20 0001dc20 000159e0
    00f8:00003e60 0001a330 000159e0 0001c2b0 000159e0
    00f8:00003e70 000159e0 0001c2b0 000159e0 000159e0
    00f8:00003e80 0001c2b0 0001bb20 000159e0 000159e0
    00f8:00003e90 0001c2b0 000159e0 000159e0 0001c2b0
    00f8:00003ea0 000159e0 000159e0 0001c2b0 0001bb20
    00f8:00003eb0 000159e0 000159e0 0001c2b0 000159e0
    00f8:00003ec0 000159e0 0001c2b0 000159e0 000159e0
    00f8:00003ed0 0001c2b0 0001bb20 000159e0 000159e0
    00f8:00003ee0 0001c2b0 000159e0 000159e0 0001c2b0
    00f8:00003ef0 000159e0 000159e0 0001c2b0 0001bb20
    00f8:00003f00 000159e0 000159e0 0001c2b0 000159e0
    00f8:00003f10 000159e0 0001c2b0 000159e0 000159e0
    00f8:00003f20 0001c2b0 0001bb20 000159e0 000159e0
    00f8:00003f30 0001c2b0 000159e0 000159e0 0001c2b0
    00f8:00003f40 000159e0 000159e0 0001c2b0 0001bb20
    00f8:00003f50 000159e0 000159e0 0001c2b0 000159e0
    00f8:00003f60 000159e0 0001c2b0 000159e0 000159e0
    00f8:00003f70 0001c2b0 0001bb20 000159e0 000159e0
    00f8:00003f80 0001c2b0 000159e0 000159e0 0001c2b0
    00f8:00003f90 000159e0 000159e0 0001c2b0 0001bb20
    00f8:00003fa0 000159e0 000159e0 0001c2b0 000159e0
    00f8:00003fb0 000159e0 0001c2b0 000159e0 000159e0
    00f8:00003fc0 0001c2b0 0001bb20 000159e0 000159e0

    \
  • /p ds:00013b20
    proc(e5a->0) pid 16 prio 24 state ready(1) on 15 flags 00200000
    magic 0x0:0x0 ldt oxo regs 0x13bd8 cs:ip 0x0:0x0
    signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
    mx1_seg 0x0 mx2_seg 0x0 pages 0
    PROXY: owner = 15 count = 0
  • /P 15
    pid 15->f8:13880
    proc(e5a->0) pid 15 prio 24 state recv(3) on 0 flags 10020280
    magic 0xd:0x2604 ldt 0x170 regs 0x13938 cs:ip 0x5:0x6989
    signal ignore 0xfebfbeff pending 0x0 mask 0x0 ptr 0xd:0x2890
    mx1_seg 0x5 mx2_seg 0xd pages 23
    PROC (//1/bin/Dev32)
    sendq=0x0,clink=0 mxcount 0
    cs/0005 ss/000d ds/000d es/000d fs/000d gs/000d
    edi/00000000 esi/00000000 ebp/000002bc ebx/000024f8 edx/00000000
    ecx/00000000 eax/00000101 eip/00006989 esp/000024f8 psw/00002256

*/p ds:000135e0
proc(e5a->0) pid 8 prio 29 state ready(1) on 1 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x13698 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 1 count = 0

*/P 1
pid 1-> f8:6050
proc(e5a->0) pid 1 prio 30 state recv(3) on 0 flags 30020207
magic 0xd:0x5840 ldt 0x100 regs 0x6108 cs:ip 0x5:0x5519
signal ignore 0xffffffff pending 0x0 maxk 0x0 ptr 0x0:0x0
mx1_seg 0x5 mx2_seg 0xd pages 3270
PROC (sys/Proc32)
sendq=0x0.clink=0 mxcount 0
cs/0005 ss/000d ds/000d es/000d fs/0000 gs/0000
edi/00000000 esi/00005965 ebp/0f7c0fe8 ebx/0f7c0fd0 edx/00000000
ecx/00003822 eax/00000101 eip/00005519 esp/0f7c0fd0 psw/00002246
*
*
*

  • /p ds:000159e0
    proc(e5a->0) pid 10 prio 22 state ready(1) on 3 flags 00200000
    magic 0x0:0x0 ldt 0x0 regs 0x15a98 cs:ip 0x0:0x0
    signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
    mx1_seg 0x0 mx2_seg 0x0 pages 0
    PROXY: owner = 3 count = 0

  • /P 3
    pid 3-> f8:110f0
    proc(e5a->0) pid 3 prio 22 state recv(3) on o flags 100202b5
    magic 0xd:0x59e4 ldt 0x110 regs 0x111a8 cs:ip 0x5:0x11aae
    signal ignore 0x7 pending 0x0 mask 0x0 ptr 0xd:0x5b40
    mx1_seg 0x5 mx2_seg 0xd pages 618
    PROC (/bin/Fsys)
    sendq=0x0, clink=0 mxcount 0
    cs/0005 ss/000d ds/000d es/000d fs/0000 gs/0000
    edi/00000004 esi/00200000 ebp/000059b0 ebx/000058b0 edx/00000000
    ecx/00000000 eax/00000101 eip/00011aae esp/000058b0 psw/00002246

*/p ds:0001c2b0
proc(e5a->0) pid 81 prio 10 state ready(1) on 78 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x1c368 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 maxk 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 78 count = 0
*/P 78
pid 78 → f8:1b9d0
proc(e5a->0) pid 78 prio 10 state recv(3) on 81 flags 10060000
magic 0xd:0x9ef0 ldt 0x368 regs 0x1ba88 cs:ip 0x5:0xc9ec
signal ignore 0x380006 pending 0x0 maxk 0x0 ptr 0xd:0x13a10
mx1_seg 0x5 mx2_seg 0xd pages 9
PROC(//1/user/openmem2)
sendq=0x0, clink=0 mxcount 0
cs/0005 ss/000d ds/000d es/000d fs/0000 gs/0000
edi/0000000f esi/00016830 ebp/00009df4 ebx/00009da8 ebx/00000051
ecx/00000051 eax/00000101 eip/0000c9ec esp/00009da8 psw/00002256
*
*
*
*/p ds:0001bb20
proc(e5a->0) pid 36 prio 10 state ready(1) on 32 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x1bbd8 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 maxk 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 32 count = 0
*/P 32
proc(e5a->0) pid 32 prio 20 state recv(3) on 0 flags 10020241
magic 0xd:0x4f38 ldt 0x1f8 regs 0x1bd28 cs:ip 0x5:0x6ba8
signal ignore 0xc0007 pending 0x0 mask 0x0 ptr 0xd:0x51e4
mx1_seg 0x5 mx2_seg 0xd pages 29
PROC(//1/bin/Net.rtl)
sendq=0x0, clink=0 mxcount 0
cs/0005 ss/000d ds/000d es/000d fs/0000 gs/0000
edi/00000001 esi/00000024 ebp/00004ec0 ebx/00004e14 edx/00000000
ecx/00000000 eax/00000101 eip/00006ba8 esp/00004e14 psw/00002256

*/p ds:0001a330
proc(e5a->0) pid 31 prio 23 state ready(1) on 30 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x1a3e8 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 30 count = 0
*/P 30
pid 30 → f8:1a090
proc(e5a->0) pid 30 prio 23 state recv(3) on 0 flags 10020241
magic 0xd:31b4 ldt 0x1e8 regs 0x1a148 cs:ip 0x5:0x5c24
signal ignore 0xc0007 pending 0x0 mask 0x0 ptr 0xd:0x343c
mx1_seg 0x5 mx2_seg 0xd pages 19
PROC (//1/bin/Net)
sendq=0x0, clink=0 mxcount 0
cs/0005 ss/000d ds/000d es/000d fs/0000 gs/0000
edi/00000001 esi/0000316c ebp/00003150 ebx/000030b8 edx/00000000
ecx/00000000 eax/00000101 eip/00005c24 esp/000030b8 psw/00002256

*/p ds:0001dc20
proc(e5a->0) pid 100 prio 8 state ready(1) on 95 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x1dcd8 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 95 count = 0

*/P 95
pid 95 → f8:139d0
proc(e5a->0) pid 95 prio 8 state recv(3) on 100 falgs 00060000
magic 0xf:0x9ef0 ldt 0x3f0 regs 0x13a88 cs:ip 0x7:0x4ae8e
signal ignore 0x381000 pending 0x0 mask 0x0 ptr 0xf:0xb3798
mx1_seg 0x7 mx2_seg 0xf pages 105
PROC (//1/user/webs)
sendq=0x0, clink=0 mxcount 0
cs/0007 ss/000f ds/000f es/000f fs/0000 gs/0000
edi/00009cf0 esi/0000001c ebp/00009d46 ebx/00000000 edx/00000064
ecx/00000100 eax/00000001 eip/0004ae8e esp/00009ce0 psw/00002246

*/p ds:001b730
proc(e5a->0) pid 40 prio22 state ready(1) on 39 flags 00200000
magic 0x0:0x0 ldt 0x0 regs 0x1b7e8 cs:ip 0x0:0x0
signal ignore 0x0 pending 0x0 mask 0x0 ptr 0x0:0x0
mx1_seg 0x0 mx2_seg 0x0 pages 0
PROXY: owner = 39 count = 0

*/P 39
pid 39 → f8:1b880
proc(e5a->0) pid 39 prio 22 state recv(3) on 0 flags 500602b0
magic 0xd:0x5ef0 ldt 0x230 regs 0x1b938 cs:ip 0x5:0x27c3d
signal ignore 0x3a0006 pending 0x0 mask 0x0 ptr 0xd:0x35690
mx1_seg 0x5 mx2_seg 0xd pages 67
PROC (//1/usr/tcprt/5.0/usr/ucb/Tcpip)
sendq=0x0, clink=0 mxcount 0
cs/0005 ss/000d ds/000d es/000d fs/0008 gs/0000
edi/00000003 esi/0003f768 ebp/00000000 ebx/00005d00 edx/00000000
ecx/00000000 eax/00070101 eip/00027c3d esp/00005d00 psw/00002246

so process who generate event list is:
00013b20 Dev32 (1 times)
000135e0 Proc32 (1 times)
000159e0 Fsys (57 times)
0001c2b0 openmem2 (28 times)
0001b730 Tcpip (1 times)
0001bb20 Net.rtl (10 times)
0001dc20 webs (1 times)
0001a330 Net (1 times)

the result means Fsys and openmem2 generated too many events?

nlee

nlee <nl1031@sohu.com> wrote in message news:bedtnq$963$1@inn.qnx.com

so process who generate event list is:
00013b20 Dev32 (1 times)
000135e0 Proc32 (1 times)
000159e0 Fsys (57 times)
0001c2b0 openmem2 (28 times)
0001b730 Tcpip (1 times)
0001bb20 Net.rtl (10 times)
0001dc20 webs (1 times)
0001a330 Net (1 times)

the result means Fsys and openmem2 generated too many events?

It means that those events got generated before we could come out of the
kernel. Too much interrupt traffic could potentially do that, holding off
the exit squence where we process these events.

What does the proxy associated with openmem2 represent (what is it triggered
on)? What is going on in the system when the failure happens?

-Adam

“Adam Mallory” <amallory@qnx.com> дÈëÓʼþ news:beeg9g$jpi$1@nntp.qnx.com

nlee <> nl1031@sohu.com> > wrote in message news:bedtnq$963$> 1@inn.qnx.com> …
snip
so process who generate event list is:
00013b20 Dev32 (1 times)
000135e0 Proc32 (1 times)
000159e0 Fsys (57 times)
0001c2b0 openmem2 (28 times)
0001b730 Tcpip (1 times)
0001bb20 Net.rtl (10 times)
0001dc20 webs (1 times)
0001a330 Net (1 times)

the result means Fsys and openmem2 generated too many events?

It means that those events got generated before we could come out of the
kernel. Too much interrupt traffic could potentially do that, holding off
the exit squence where we process these events.

What does the proxy associated with openmem2 represent (what is it
triggered
on)? What is going on in the system when the failure happens?

i use a timer in openmem2.the timer trigger every second.
if not in debugger mode, after failure,all process halt(i think),no console
response, no screen refresh. after reboot, i renice shell’s priority to
29,same as before.then i wrote a simple program that using rtc’s second
alarm interrupt,in interrupt handle it trigger a LED.when system hung up the
led still can blink for half hour.
in my system,irq3,irq4,irq5,irq7 used by serial port,net use irq11,no
parallel port,no harddisk,do floppy,whit a 32M diskonchip.




-Adam

nlee

nlee <nl1031@sohu.com> wrote in message news:beelei$5du$1@inn.qnx.com

i use a timer in openmem2.the timer trigger every second.
if not in debugger mode, after failure,all process halt(i think),no
console
response, no screen refresh. after reboot, i renice shell’s priority to
29,same as before.then i wrote a simple program that using rtc’s second
alarm interrupt,in interrupt handle it trigger a LED.when system hung up
the
led still can blink for half hour.
in my system,irq3,irq4,irq5,irq7 used by serial port,net use irq11,no
parallel port,no harddisk,do floppy,whit a 32M diskonchip.

Are you changing ‘time of day’ around while this activity is going on?

What is the processor speed/mem/baud rate of the serial ports? Does the
crash happen if there isn’t any serial traffic?

-Adam

“Adam Mallory” <amallory@qnx.com> дÈëÓʼþ news:bef8on$boh$1@nntp.qnx.com

nlee <> nl1031@sohu.com> > wrote in message news:beelei$5du$> 1@inn.qnx.com> …

i use a timer in openmem2.the timer trigger every second.
if not in debugger mode, after failure,all process halt(i think),no
console
response, no screen refresh. after reboot, i renice shell’s priority to
29,same as before.then i wrote a simple program that using rtc’s second
alarm interrupt,in interrupt handle it trigger a LED.when system hung up
the
led still can blink for half hour.
in my system,irq3,irq4,irq5,irq7 used by serial port,net use irq11,no
parallel port,no harddisk,do floppy,whit a 32M diskonchip.

Are you changing ‘time of day’ around while this activity is going on?

no

What is the processor speed/mem/baud rate of the serial ports? Does the
crash happen if there isn’t any serial traffic?

zfx86 100MHz(486),32M memory.rtl8139c net chip,ct69000 video chip,pc104
board.
two advantech PCM-3643 8 serial port card.no photon.

show_pci

PCI version = 2.10

Class = Network (Ethernet)
Vendor ID = 10ech,
Device ID = 8139h,
PCI index = 0h
IO @ 1000h MEM @ fc001000h
PCI Int Pin = INT A
Interrupt line = 11

Class = Display (VGA)
Vendor ID = 102ch, Chips & Technologies
Device ID = c0h,
PCI index = 0h
MEM @ fd000000h
PCI Int Pin = INT A
Interrupt line = 10

Class = Mass Storage (IDE)
Vendor ID = 1078h,
Device ID = 402h,
PCI index = 0h
IO @ 0h
PCI Int Pin = NC
Interrupt line = 0

sin irq

IRQ PID PROGRAM CS:IP DS
-1 15 //1/bin/Dev32 0005:005760 000D
-1 20 //1/bin/Dev32.ser 0005:0024FC 000D
-1 21 //1/bin/Dev32.ansi 0005:005DC0 000D
-1 30 //1/bin/Net 0015:00431E 001D
0 1 sys/Proc32 00F0:004D03 00F8
0 30 //1/bin/Net 0015:0043C9 001D
1 21 //1/bin/Dev32.ansi 0005:00690C 000D
3 20 //1/bin/Dev32.ser 0005:00177C 000D
4 20 //1/bin/Dev32.ser 0005:0017A4 000D
5 20 //1/bin/Dev32.ser 0005:0017CC 000D
7 20 //1/bin/Dev32.ser 0005:00181C 000D
11 30 //1/bin/Net 0015:004812 001D
13 1 sys/Proc32 00F0:004CC7 00F8

i build two(node1 & noed2) above system,same result.
in my application,between two node,there are many data transfer via vcs.

baud is:
ser1–ser5:9600,ser6–ser8:1200,ser9:600,ser10:19200,ser11–ser13:9600,ser14
–ser16:600,
ser17–ser18:9600.
i start Dev32.ser in sysinit.1
Dev32.ser -b 9600 -t 8 220,5 228,5 230,5 238,5 280,7 288,7 290,7 298,7 240,5
248,5 250,5 258,5 2a0,7 2a8,7 2b0,7 2b8,7 3f8,4 2f8,3 &



i will try move one 8 serial card to test.


-Adam

nlee

my system info.

sin in

Node CPU Machine Speed Memory Ticksize Display
Flags
1 486/487 PCI 4526 12591k/33107k 5.0ms VGA
Color -3P±---------8P

Heapp Heapf Heapl Heapn Hands Names Sessions Procs Timers Nodes Virtual
0 0 22344 0 64 100 64 500 125 4 29M/
247M

Boot from Hard at Jul 08 19:27 Locators: 3 1

nlee

hi,
i write simple test program to output 8259’s state register every 125ms.

pid_t far Clockhandler(void)
{
unsigned char tmp;
static unsigned char s,index=0;

outp(ClockAddr,ClockRC); //RTC register C
tmp=inp(ClockData);
if(tmp&0x40) {//125ms periodic interrupt. i modyify RTC’s register A =
0xad
//and enable peridic interrupt.

switch (index) {
case 0:
outp(0x2f8,0x2a);
index++;
break;
case 1: // do i need _disable()?
outp(0x20,0x0a);
outp(0x2f8,inp(0x20));
index++;
break;
case 2:
outp(0x2f8,0x2b);
index++;
break;
case 3:
outp(0x20,0x0b);
outp(0x2f8,inp(0x20));
index++;
break;
case 4:
outp(0x2f8,0xaa);
index++;
break;
case 5:
outp(0xa0,0x0a);
outp(0x2f8,inp(0xa0));
index++;
break;
case 6:
outp(0x2f8,0xab);
index++;
break;
case 7:
outp(0xa0,0x0b);
outp(0x2f8,inp(0xa0));
index=0;
break;
default:index = 0;
break;
}
if (s != 0) s = 0;else s = 1;
outp(0x11a,s); // run led
return(proxy1);
}
return(0) ;
}


output just before system huangup:

2A 08 2B 04 AA 02 AB 00

2A 08 2B 04 AA 02 AB 00 → irq3 req irq2 in-serv,irq9 req
2A 08 2B 04 AA 02 AB 00
2A 08 2B 04 AA 02 AB 00
2A 08 2B 04 AA 08 AB 00 → irq3 req irq2 in-serv,irq11 req
2A 0C 2B 04 AA 08 AB 00 → irq3 & irq2 req irq2 in-serv,irq11 req
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00


is this means ethernet(irq11) interrupt require can not be process?
irq3 & irq4–> serial port chip on PC104 CPU board,irq11–>rtl8139c on PC104
CPU board.
irq5 → two 16c554 chip on 8 serial port board (advantech PCM-3643).
irq7 → two 16c554 chip on another 8 serial port board (advantech
PCM-3643).

nlee

nlee <nl1031@sohu.com> wrote in message news:bej8ab$eti$1@inn.qnx.com

2A 08 2B 04 AA 02 AB 00

2A 08 2B 04 AA 02 AB 00 → irq3 req irq2 in-serv,irq9 req
2A 08 2B 04 AA 02 AB 00
2A 08 2B 04 AA 02 AB 00
2A 08 2B 04 AA 08 AB 00 → irq3 req irq2 in-serv,irq11 req
2A 0C 2B 04 AA 08 AB 00 → irq3 & irq2 req irq2 in-serv,irq11 req
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00
2A 0C 2B 04 AA 08 AB 00


is this means ethernet(irq11) interrupt require can not be process?
irq3 & irq4–> serial port chip on PC104 CPU board,irq11–>rtl8139c on
PC104
CPU board.
irq5 → two 16c554 chip on 8 serial port board (advantech PCM-3643).
irq7 → two 16c554 chip on another 8 serial port board (advantech
PCM-3643).

Well it’s hard to tell if the request for IRQ11 was processed, and a new one
is pending, or if it’s the original request.

You could attach a hander to all those IRQs and with counters see if there
is some starvation going on.

-Adam

Well it’s hard to tell if the request for IRQ11 was processed, and a new
one
is pending, or if it’s the original request.

You could attach a hander to all those IRQs and with counters see if there
is some starvation going on.

-Adam


Good idea.I’ll try.

nlee

Hi,
I found the problem.
IRQ11(EtherNet) is very busy while system process hangup. Is hardware fault
or net.rtl driver bug? Net chip is rtl8139c on PC104 board(arbor
EmCore-i413A).

My test program.

volatile unsigned long int irq_cnt[16]={0};

#pragma off (check_stack);

pid_t far Timer0handler(void)
{
static unsigned char s,index=0,IrqIndex=0;
irq_cnt[0]++;
switch (index) {
case 0:
outp(0x2f8,0xaa);
index++;
break;
case 1:
outp(0x2f8,IrqIndex);
index++;
break;
case 2:
outp(0x2f8,(irq_cnt[IrqIndex] >> 24) & 0xff);
index++;
break;
case 3:
outp(0x2f8,(irq_cnt[IrqIndex] >> 16) & 0xff);
index++;
break;
case 4:
outp(0x2f8,(irq_cnt[IrqIndex] >> :sunglasses: & 0xff);
index++;
break;
case 5:
outp(0x2f8,irq_cnt[IrqIndex] & 0xff);
index++;
break;
case 6:
outp(0x2f8,0x55);
index = 0;;
IrqIndex++;
if (IrqIndex > 15) IrqIndex = 0;
if (s!=0) s=0;else s=1;
outp(0x11a,s);
break;
default:index = 0;
IrqIndex = 0;
break;
}
return(0);
}

pid_t far irq5handler(void)
{
irq_cnt[5]++;
return (0);
}

pid_t far irq7handler(void)
{
irq_cnt[7]++;
return (0);
}

pid_t far irq11handler(void)
{
irq_cnt[11]++;
return (0);
}
#pragma on (check_stack);

int main(void)
{

if((id0=qnx_hint_attach(0,&Timer0handler,FP_SEG(irq_cnt)))==-1){
printf(“Unable to attach interrupt 0.”);
return;
}
if((id5=qnx_hint_attach(5,&irq5handler,FP_SEG(irq_cnt)))==-1){
printf(“Unable to attach interrupt 5.”);
return;
}
if((id7=qnx_hint_attach(7,&irq7handler,FP_SEG(irq_cnt)))==-1){
printf(“Unable to attach interrupt 7.”);
return;
}
if((id11=qnx_hint_attach(11,&irq11handler,FP_SEG(irq_cnt)))==-1){
printf(“Unable to attach interrupt 11.”);
return;
}

}


output:
AA 01 00 00 0C B8 55
AA 02 00 00 00 00 55
AA 03 00 00 00 00 55
AA 04 00 00 00 00 55
AA 05 00 1A 73 5B 55
AA 06 00 00 00 00 55
AA 07 00 05 95 66 55
AA 08 00 00 00 00 55
AA 09 00 00 00 00 55
AA 0A 00 00 00 00 55
AA 0B 02 78 C1 EF 55 → IRQ11 interrupt counter=0x278c1ef
AA 0C 00 00 00 00 55
AA 0D 00 00 00 00 55
AA 0E 00 00 00 00 55
AA 0F 00 00 00 00 55
AA 00 00 0D 86 66 55
AA 01 00 00 0C B8 55
AA 02 00 00 00 00 55
AA 03 00 00 00 00 55
AA 04 00 00 00 00 55
AA 05 00 1A 73 5B 55
AA 06 00 00 00 00 55
AA 07 00 05 95 66 55
AA 08 00 00 00 00 55
AA 09 00 00 00 00 55
AA 0A 00 00 00 00 55
AA 0B 02 78 E0 BD 55 → IRQ11 interrupt counter=0x278e0bd
AA 0C 00 00 00 00 55
AA 0D 00 00 00 00 55
AA 0E 00 00 00 00 55
AA 0F 00 00 00 00 55
AA 0F 00 00 00 00 55

Timer0handler will be trigger every 5ms. So,there are 7886(0x278e0bd
-0x278c1ef) times interrupts on IRQ11 within 560ms.
There are 10~200 times interrupts on IRQ11 every second normally.

nlee

Hi,
I’build another node1.disable on board ethernet.Plug in a PCM-3660(rtl
8019as) net card.What’s means of traceinfo below.

Jul 11 17:00:23 2 0000412b 00000001 0000FFDF 0000FFFF 000001FF
Jul 11 17:00:45 2 00004235 00000001 00000001
Jul 11 17:00:45 2 00004231 00000001
Jul 11 17:00:55 2 00004235 00000001 00000001
Jul 11 17:00:55 2 00004231 00000001
Jul 11 17:00:56 2 000040fc 00000001 00000492
Jul 11 17:00:56 2 000040fd 00000001 000000C3
Jul 11 17:00:56 2 000040ea 00000001 00000005
Jul 11 17:00:56 2 0000420f 00000001 00000500 000001B7 0000B370
Jul 11 17:00:56 2 0000420c 00000001 00000500 000001B7 0000B370
Jul 11 17:01:36 2 00004235 00000001 00000001
Jul 11 17:01:36 2 00004231 00000001
Jul 11 17:01:57 2 00004235 00000001 00000001
Jul 11 17:01:57 2 00004231 00000001
Jul 11 17:01:57 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:01:57 2 0000412b 00000001 00000492
Jul 11 17:01:57 2 0000412b 00000001 0000FBFF 0000FFFF 000001FF
Jul 11 17:01:57 2 00004235 00000001 00000001
Jul 11 17:01:57 2 00004233 00000001
Jul 11 17:01:57 2 00004231 00000001
Jul 11 17:02:19 2 000040fc 00000001 00000ADB
Jul 11 17:02:19 2 000040fd 00000001 00000002
Jul 11 17:02:19 2 000040ea 00000001 00000005
Jul 11 17:02:19 2 0000420f 00000001 00000500 000001B7 0000B370
Jul 11 17:02:19 2 0000420c 00000001 00000500 000001B7 0000B370
Jul 11 17:03:06 2 00004235 00000001 00000001
Jul 11 17:03:06 2 00004233 00000001
Jul 11 17:03:06 2 00004231 00000001
Jul 11 17:03:07 2 000040fc 00000001 00000B29
Jul 11 17:03:07 2 000040fd 00000001 00000002
Jul 11 17:03:07 2 000040ea 00000001 00000005
Jul 11 17:03:07 2 0000420f 00000001 00000500 000000B7 00009719
Jul 11 17:03:07 2 0000420c 00000001 00000500 000000B7 00009719
Jul 11 17:03:09 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:03:09 2 0000412b 00000001 00000492
Jul 11 17:03:09 2 0000412b 00000001 0000FFFF 0000FFEF 000001FF
Jul 11 17:04:52 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:04:52 2 0000412b 00000001 00000492
Jul 11 17:04:52 2 0000412b 00000001 0000FFFF 0000FF7F 000001

nlee

Previously, nlee wrote in qdn.public.qnx4:

Hi,
I’build another node1.disable on board ethernet.Plug in a PCM-3660(rtl
8019as) net card.What’s means of traceinfo below.

It appears that you are getting receive CRC errors on your NE2000
adapter.

Jul 11 17:00:23 2 0000412b 00000001 0000FFDF 0000FFFF 000001FF
Jul 11 17:00:45 2 00004235 00000001 00000001
Jul 11 17:00:45 2 00004231 00000001
Jul 11 17:00:55 2 00004235 00000001 00000001
Jul 11 17:00:55 2 00004231 00000001
Jul 11 17:00:56 2 000040fc 00000001 00000492
Jul 11 17:00:56 2 000040fd 00000001 000000C3
Jul 11 17:00:56 2 000040ea 00000001 00000005
Jul 11 17:00:56 2 0000420f 00000001 00000500 000001B7 0000B370
Jul 11 17:00:56 2 0000420c 00000001 00000500 000001B7 0000B370
Jul 11 17:01:36 2 00004235 00000001 00000001
Jul 11 17:01:36 2 00004231 00000001
Jul 11 17:01:57 2 00004235 00000001 00000001
Jul 11 17:01:57 2 00004231 00000001
Jul 11 17:01:57 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:01:57 2 0000412b 00000001 00000492
Jul 11 17:01:57 2 0000412b 00000001 0000FBFF 0000FFFF 000001FF
Jul 11 17:01:57 2 00004235 00000001 00000001
Jul 11 17:01:57 2 00004233 00000001
Jul 11 17:01:57 2 00004231 00000001
Jul 11 17:02:19 2 000040fc 00000001 00000ADB
Jul 11 17:02:19 2 000040fd 00000001 00000002
Jul 11 17:02:19 2 000040ea 00000001 00000005
Jul 11 17:02:19 2 0000420f 00000001 00000500 000001B7 0000B370
Jul 11 17:02:19 2 0000420c 00000001 00000500 000001B7 0000B370
Jul 11 17:03:06 2 00004235 00000001 00000001
Jul 11 17:03:06 2 00004233 00000001
Jul 11 17:03:06 2 00004231 00000001
Jul 11 17:03:07 2 000040fc 00000001 00000B29
Jul 11 17:03:07 2 000040fd 00000001 00000002
Jul 11 17:03:07 2 000040ea 00000001 00000005
Jul 11 17:03:07 2 0000420f 00000001 00000500 000000B7 00009719
Jul 11 17:03:07 2 0000420c 00000001 00000500 000000B7 00009719
Jul 11 17:03:09 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:03:09 2 0000412b 00000001 00000492
Jul 11 17:03:09 2 0000412b 00000001 0000FFFF 0000FFEF 000001FF
Jul 11 17:04:52 2 0000420b 00000001 00000500 000001B7 0000B370
Jul 11 17:04:52 2 0000412b 00000001 00000492
Jul 11 17:04:52 2 0000412b 00000001 0000FFFF 0000FF7F 000001

nlee