fxp lockups on 5.4-RC1

Michiel Boland michiel at boland.org
Tue Apr 12 23:40:53 PDT 2005


Hi. I was using a small test program to generate artificial network load 
on 5.4-RC1. The program sets up 1000 sockets that all connect, send a 
number of pipelined request, and then read the response from a nearby web 
server.

After a short while the machine locked up, even the console was dead. 
Luckily DDB worked, so I was able to gather some backtraces (see below). 
Looks like something is stuck in the fxp process.

Being a bit impatient, I did not check to see if the lockup would go away 
after some time.

The problem went away after I increased nmbclusters to 32768.

If more info is needed I can provide this of course.

Cheers
Michiel

> tr
Tracing pid 23 tid 100017 td 0xc157da80
kdb_enter(c05d55bb) at kdb_enter+0x2b
siointr1(c167f000) at siointr1+0xce
siointr(c167f000) at siointr+0x38
intr_execute_handlers(c05ffac0,d4000bd8,0,c0c46460,c0c45240) at intr_execute_handlers+0x7d
atpic_handle_intr(4) at atpic_handle_intr+0x96
Xatpic_intr4() at Xatpic_intr4+0x20
--- interrupt, eip = 0xc057ff87, esp = 0xd4000c1c, ebp = 0xd4000c28 ---
uma_zfree_internal(c0c45240,c4173418,0,0,80) at uma_zfree_internal+0x153
bucket_free(c4173418,1,80,f3c8,c0c45bd8) at bucket_free+0x22
uma_zalloc_bucket(c0c45ba0,1) at uma_zalloc_bucket+0x263
uma_zalloc_arg(c0c45ba0,d4000c9c,1) at uma_zalloc_arg+0x274
fxp_add_rfabuf(c1616000,c16165d0) at fxp_add_rfabuf+0x2a
fxp_intr_body(c1616000,c1616000,50,ffffffff) at fxp_intr_body+0xd4
fxp_intr(c1616000) at fxp_intr+0xf4
ithread_loop(c1576800,d4000d48) at ithread_loop+0x151
fork_exit(c04838a0,c1576800,d4000d48) at fork_exit+0x74
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xd4000d7c, ebp = 0 ---
db> ps
   pid   proc     uid  ppid  pgrp  flag   stat  wmesg    wchan  cmd
   375 c1731388 1001   370   375 0004002 [SLPQ zonelimit 0xc0c1f460][SLP] kqmaps
   370 c1731c5c 1001   369   370 0004002 [SLPQ wait 0xc1731c5c][SLP] bash
   369 c1731e20    0     1   369 0004102 [SLPQ wait 0xc1731e20][SLP] login
   368 c18b5000    0     1   368 0004002 [SLPQ ttyin 0xc1574e10][SLP] getty
   367 c18b51c4    0     1   367 0004002 [SLPQ ttyin 0xc1683010][SLP] getty
   366 c18b5388    0     1   366 0004002 [SLPQ ttyin 0xc1683210][SLP] getty
   365 c18b554c    0     1   365 0004002 [SLPQ ttyin 0xc1683410][SLP] getty
   364 c18b5710    0     1   364 0004002 [SLPQ ttyin 0xc1573010][SLP] getty
   363 c18b58d4    0     1   363 0004002 [SLPQ ttyin 0xc1573210][SLP] getty
   362 c172d54c    0     1   362 0004002 [SLPQ ttyin 0xc1573410][SLP] getty
   361 c172d710    0     1   361 0004002 [SLPQ ttyin 0xc1573610][SLP] getty
   321 c15c7e20    0     1   321 0000100 [SLPQ select 0xc060f364][SLP] sshd
   199 c172d1c4    0     1   199 0000000 [SLPQ select 0xc060f364][SLP] devd
    38 c172d8d4    0     0     0 0000204 [SLPQ - 0xd5445d18][SLP] schedcpu
    37 c172da98    0     0     0 0000204 [SLPQ syncer 0xc060baec][SLP] syncer
    36 c172dc5c    0     0     0 0000204 [SLPQ vlruwt 0xc172dc5c][SLP] vnlru
    35 c172de20    0     0     0 0000204 [SLPQ psleep 0xc060f84c][SLP] bufdaemon
     9 c1731000    0     0     0 000020c [SLPQ pgzero 0xc0616ed4][SLP] pagezero
     8 c15b654c    0     0     0 0000204 [SLPQ psleep 0xc0616f28][SLP] vmdaemon
     7 c15b6710    0     0     0 0000204 [SLPQ psleep 0xc0616ee4][SLP] pagedaemon
    34 c15b68d4    0     0     0 0000204 [IWAIT] swi0: sio
    33 c15b6a98    0     0     0 0000204 [IWAIT] swi6: task queue
     6 c15b6c5c    0     0     0 0000204 [SLPQ - 0xc15e7e00][SLP] kqueue taskq
    32 c15b6e20    0     0     0 0000204 [IWAIT] swi6:+
     5 c15c7000    0     0     0 0000204 [SLPQ - 0xc15f5000][SLP] thread taskq
    31 c15c71c4    0     0     0 0000204 [IWAIT] swi6:+
    30 c15c7388    0     0     0 0000204 [SLPQ - 0xc0603a40][SLP] yarrow
     4 c15c754c    0     0     0 0000204 [SLPQ - 0xc0606428][SLP] g_down
     3 c15c7710    0     0     0 0000204 [SLPQ - 0xc0606424][SLP] g_up
     2 c15c78d4    0     0     0 0000204 [SLPQ - 0xc060641c][SLP] g_event
    29 c15801c4    0     0     0 0000204 [IWAIT] swi1: net
    28 c1580388    0     0     0 0000204 [IWAIT] swi4: vm
    27 c158054c    0     0     0 000020c [RUNQ] swi5: clock sio
    26 c1580710    0     0     0 0000204 [IWAIT] irq15: ata1
    25 c15808d4    0     0     0 0000204 [IWAIT] irq14: ata0
    24 c1580a98    0     0     0 0000204 [IWAIT] irq13:
    23 c1580c5c    0     0     0 0000204 [CPU 0] irq12: fxp0
    22 c1580e20    0     0     0 0000204 [IWAIT] irq11:
    21 c15b6000    0     0     0 0000204 [IWAIT] irq10:
    20 c15b61c4    0     0     0 0000204 [IWAIT] irq9:
    19 c15b6388    0     0     0 0000204 [IWAIT] irq8: rtc
    18 c1578000    0     0     0 0000204 [IWAIT] irq7:
    17 c15781c4    0     0     0 0000204 [IWAIT] irq6:
    16 c1578388    0     0     0 0000204 [IWAIT] irq5:
    15 c157854c    0     0     0 0000204 [IWAIT] irq4: sio0
    14 c1578710    0     0     0 0000204 [IWAIT] irq3: sio1
    13 c15788d4    0     0     0 0000204 [IWAIT] irq1: atkbd0
    12 c1578a98    0     0     0 0000204 [IWAIT] irq0: clk
    11 c1578c5c    0     0     0 000020c [Can run] idle
     1 c1578e20    0     0     1 0004200 [SLPQ wait 0xc1578e20][SLP] init
    10 c1580000    0     0     0 0000204 [SLPQ ktrace 0xc0609d18][SLP] ktrace
     0 c06064c0    0     0     0 0000200 [SLPQ sched 0xc06064c0][SLP] swapper
db> tr 375
Tracing pid 375 tid 100038 td 0xc15b8c00
sched_switch(c15b8c00,0,1) at sched_switch+0x143
mi_switch(1,0,c15b8c00,0,c15b8c00) at mi_switch+0x1ba
sleepq_switch(c0c1f460) at sleepq_switch+0xda
sleepq_wait(c0c1f460,0,c0c45240,0,0) at sleepq_wait+0xb
msleep(c0c1f460,c0c1f468,44,c05d48df,0) at msleep+0x2ce
uma_zone_slab(c0c45b40,2,2,80,314c) at uma_zone_slab+0xd2
uma_zalloc_bucket(c0c45b40,2) at uma_zalloc_bucket+0x14c
uma_zalloc_arg(c0c45b40,c41c1c00,2) at uma_zalloc_arg+0x274
mb_init_pack(c41c1c00,100,2) at mb_init_pack+0x1d
uma_zalloc_bucket(c0c45ba0,3) at uma_zalloc_bucket+0x1b4
uma_zalloc_arg(c0c45ba0,d5229c0c,2) at uma_zalloc_arg+0x274
sosend(c1a05000,0,d5229c54,0,0) at sosend+0x33d
kern_sendit(c15b8c00,3fd,d5229ccc,0,0) at kern_sendit+0x11c
sendit(c15b8c00,3fd,d5229ccc,0,805a000) at sendit+0x145
sendto(c15b8c00,d5229d14,6,60,202) at sendto+0x4d
syscall(2f,805002f,bfbf002f,1a4,80521b0) at syscall+0x27b
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (133, FreeBSD ELF32, sendto), eip = 0x280c2b9b, esp = 0xbfbfeb4c, ebp = 0xbfbfeb78 ---


More information about the freebsd-stable mailing list