Hi,
I recently got four about two years old Asus M3A-H/HDMI mainboards with
an integrated Attansic L2 ethernet controller. This NIC is supported by
age(4) and recognized by freebsd:

----

age0: <Attansic Technology Corp, L1 Gigabit Ethernet>
       mem 0xfeac0000-0xfeafffff irq 18 at device 0.0 on pci2
age0: 1280 Tx FIFO, 2364 Rx FIFO
age0: Using 1 MSI messages.
age0: 4GB boundary crossed, switching to 32bit DMA addressing mode.
miibus0: <MII bus> on age0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0
atphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX,
         1000baseT-FDX-master, auto
age0: Ethernet address: 00:23:54:31:a0:12
age0: [FILTER]

----

age0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=c319b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,
            WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE>
        ether 00:23:54:31:a0:12
        inet6 fe80::223:54ff:fe31:a012%age0 prefixlen 64 scopeid 0x1
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
        media: Ethernet autoselect (none)
        status: no carrier

----

All for boxes are unstable if the Attansic NIC is in use, no one of them
survived more than 60 minutes of ~20mb/s network traffic. I managed to
get some coredumps and extracted the backtraces. Since everytime one of
the boxes paniced I got different panic message and a different backtrace
with a different subsystem involved I suspected broken hardware. I
plugged a em(4) NIC into the PCI slot and wasn't able to reproduce the
problem, in fact the boxes run rock solid for several days. Next I set
up a Windows 7, installed the Attansic vendor driver and did another
run. All went smooth, no crash for nearly 24 hours.

My guess is kernel memory corruption by age(4), which would explain all
the different backtraces and the different panic messages. This problem
is reproducible in at least FreeBSD 7.4 and 8.2 and with TSO4 enabled
and disabled. I'm willing to debug this, but I really don't know how. So
any help or a pointer into the right direction would be appreciated.

----

Three backtraces, all of them occurred while receiving and sending data
via NFS over the age(4) NIC:

panic: initiate_write_filepage: dir inum 50001080 != new 0
cpuid = 2

#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:251
#1  0xffffffff8018604c in db_fncall (dummy1=Variable "dummy1" is not available.
) at /usr/src/sys/ddb/db_command.c:548
#2  0xffffffff80186381 in db_command (last_cmdp=0xffffffff806178c0, cmd_table=Variable 
"cmd_table" is not available.
) at /usr/src/sys/ddb/db_command.c:445
#3  0xffffffff801865d0 in db_command_loop () at 
/usr/src/sys/ddb/db_command.c:498
#4  0xffffffff80188619 in db_trap (type=Variable "type" is not available.
) at /usr/src/sys/ddb/db_main.c:229
#5  0xffffffff8024d7fe in kdb_trap (type=3, code=0, tf=0xffffff8243513720) at 
/usr/src/sys/kern/subr_kdb.c:546
#6  0xffffffff80424366 in trap (frame=0xffffff8243513720) at 
/usr/src/sys/amd64/amd64/trap.c:566
#7  0xffffffff8040c234 in calltrap () at 
/usr/src/sys/amd64/amd64/exception.S:224
#8  0xffffffff8024d99d in kdb_enter (why=0xffffffff80479419 "panic", msg=0xa 
<Address 0xa out of bounds>) at cpufunc.h:63
#9  0xffffffff8021c4f0 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:575
#10 0xffffffff80c5925e in softdep_fsync_mountdev () from /boot/kernel/ufs.ko
#11 0xffffff00067a0460 in ?? ()
#12 0x0000000000000000 in ?? ()
#13 0xffffff0167d49988 in ?? ()
#14 0xffffff000694000e in ?? ()
#15 0xffffff0006b32800 in ?? ()
#16 0xffffff81ef201bd0 in ?? ()
#17 0xffffff81ef201bd0 in ?? ()
#18 0xffffff0006b613b0 in ?? ()
#19 0xffffff0006b614c8 in ?? ()
#20 0xffffff0156024878 in ?? ()
#21 0xffffff8243513980 in ?? ()
#22 0xffffffff80c5c174 in ffs_flushfiles () from /boot/kernel/ufs.ko
#23 0xffffff81ef201bd0 in ?? ()
#24 0xffffff013c210a80 in ?? ()
#25 0x0000000000000004 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0xffffff82435139b0 in ?? ()
#28 0xffffffff80c3ea25 in ufs_do_nfs4_acl_inheritance () from 
/boot/kernel/ufs.ko
#29 0xffffff82435139b0 in ?? ()
#30 0xffffffff80459fb5 in VOP_STRATEGY_APV (vop=0xffffff00067a0460, 
a=0xffffff0167d49980) at vnode_if.c:2169
Previous frame inner to this frame (corrupt stack?)

----

Fatal trap 9: general protection fault while in kernel mode
cpuid = 2; apic id = 02
instruction pointer     = 0x20:0xffffffff8020ca0e
stack pointer           = 0x28:0xffffff82435139e0
frame pointer           = 0x28:0xffffff8243513a00
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 21 (syncer)

#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:251
#1  0xffffffff8018604c in db_fncall (dummy1=Variable "dummy1" is not available.
) at /usr/src/sys/ddb/db_command.c:548
#2  0xffffffff80186381 in db_command (last_cmdp=0xffffffff806178c0, cmd_table=Variable 
"cmd_table" is not available.
) at /usr/src/sys/ddb/db_command.c:445
#3  0xffffffff801865d0 in db_command_loop () at 
/usr/src/sys/ddb/db_command.c:498
#4  0xffffffff80188619 in db_trap (type=Variable "type" is not available.
) at /usr/src/sys/ddb/db_main.c:229
#5  0xffffffff8024d7fe in kdb_trap (type=9, code=0, tf=0xffffff8243513930) at 
/usr/src/sys/kern/subr_kdb.c:546
#6  0xffffffff80423d1d in trap_fatal (frame=0xffffff8243513930, eva=Variable 
"eva" is not available.
) at /usr/src/sys/amd64/amd64/trap.c:778
#7  0xffffffff804242f9 in trap (frame=0xffffff8243513930) at 
/usr/src/sys/amd64/amd64/trap.c:592
#8  0xffffffff8040c234 in calltrap () at 
/usr/src/sys/amd64/amd64/exception.S:224
#9  0xffffffff8020ca0e in _mtx_lock_sleep (m=0xffffff0106d57820, 
tid=18446742974306583648, opts=Variable "opts" is not available.
) at /usr/src/sys/kern/kern_mutex.c:369
#10 0xffffffff802b16d7 in vfs_msync (mp=0xffffff00069ad8d0, flags=2) at 
/usr/src/sys/kern/vfs_subr.c:3219
#11 0xffffffff802b190a in sync_fsync (ap=Variable "ap" is not available.
) at /usr/src/sys/kern/vfs_subr.c:3473
#12 0xffffffff802afabe in sync_vnode (slp=0xffffff00067688b8, 
bo=0xffffff8243513ba0, td=0xffffff00067a0460) at vnode_if.h:549
#13 0xffffffff802afdb1 in sched_sync () at /usr/src/sys/kern/vfs_subr.c:1836
#14 0xffffffff801f1a48 in fork_exit (callout=0xffffffff802afbe0 <sched_sync>, 
arg=0x0, frame=0xffffff8243513c40)
    at /usr/src/sys/kern/kern_fork.c:845
#15 0xffffffff8040c6fe in fork_trampoline () at 
/usr/src/sys/amd64/amd64/exception.S:565
#16 0x0000000000000000 in ?? ()
#17 0x0000000000000000 in ?? ()
#18 0x0000000000000001 in ?? ()
#19 0x0000000000000000 in ?? ()
#20 0x0000000000000000 in ?? ()
#21 0x0000000000000000 in ?? ()
#22 0x0000000000000000 in ?? ()
#23 0x0000000000000000 in ?? ()
#24 0x0000000000000000 in ?? ()
#25 0x0000000000000000 in ?? ()
#26 0x0000000000000000 in ?? ()
#27 0x0000000000000000 in ?? ()
#28 0x0000000000000000 in ?? ()
#29 0x0000000000000000 in ?? ()
#30 0x0000000000000000 in ?? ()
#31 0x0000000000000000 in ?? ()
#32 0x0000000000000000 in ?? ()
#33 0x0000000000000000 in ?? ()
#34 0x0000000000000000 in ?? ()
#35 0x0000000000000000 in ?? ()
#36 0x0000000000000000 in ?? ()
#37 0x0000000000000000 in ?? ()
#38 0x0000000000000000 in ?? ()
#39 0x0000000000000000 in ?? ()
#40 0xffffffff80637f00 in tdq_cpu ()
#41 0x0000000000000002 in ?? ()
#42 0x0000000000000000 in ?? ()
#43 0xffffff00067a0460 in ?? ()
#44 0xffffff8243513830 in ?? ()
#45 0xffffff82435137d8 in ?? ()
#46 0xffffff000347b460 in ?? ()
#47 0xffffffff80241b79 in sched_switch (td=0xffffffff802afbe0, newtd=0x0, flags=Variable 
"flags" is not available.
) at /usr/src/sys/kern/sched_ule.c:1852

----

Fatal trap 9: general protection fault while in kernel mode
cpuid = 1; apic id = 01
instruction pointer     = 0x20:0xffffffff803e3b0b
stack pointer           = 0x28:0xffffff8245984890
frame pointer           = 0x28:0xffffff82459848a0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 3250 (nfsiod 15)

#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:251
#1  0xffffffff8018604c in db_fncall (dummy1=Variable "dummy1" is not available.
) at /usr/src/sys/ddb/db_command.c:548
#2  0xffffffff80186381 in db_command (last_cmdp=0xffffffff806178c0, cmd_table=Variable 
"cmd_table" is not available.
) at /usr/src/sys/ddb/db_command.c:445
#3  0xffffffff801865d0 in db_command_loop () at 
/usr/src/sys/ddb/db_command.c:498
#4  0xffffffff80188619 in db_trap (type=Variable "type" is not available.
) at /usr/src/sys/ddb/db_main.c:229
#5  0xffffffff8024d7fe in kdb_trap (type=9, code=0, tf=0xffffff82459847e0) at 
/usr/src/sys/kern/subr_kdb.c:546
#6  0xffffffff80423d1d in trap_fatal (frame=0xffffff82459847e0, eva=Variable 
"eva" is not available.
) at /usr/src/sys/amd64/amd64/trap.c:778
#7  0xffffffff804242f9 in trap (frame=0xffffff82459847e0) at 
/usr/src/sys/amd64/amd64/trap.c:592
#8  0xffffffff8040c234 in calltrap () at 
/usr/src/sys/amd64/amd64/exception.S:224
#9  0xffffffff803e3b0b in slab_alloc_item (zone=Variable "zone" is not 
available.
) at /usr/src/sys/vm/uma_core.c:2321
#10 0xffffffff803e86a9 in uma_zalloc_arg (zone=0xffffff022ffe6c80, 
udata=0xffffff005f78a000, flags=3) at /usr/src/sys/vm/uma_core.c:2406
#11 0xffffffff81c5d4ec in nfsm_uiotombuf () from /boot/kernel/nfsclient.ko
#12 0xffffff8245984a80 in ?? ()
#13 0x0000800000000001 in ?? ()
#14 0xffffff8245984a60 in ?? ()
#15 0x0000800006b86000 in ?? ()
#16 0xffffff8223ad1fcc in ?? ()
#17 0xffffff0006622200 in ?? ()
#18 0x0000000000008000 in ?? ()
#19 0x0000000100000000 in ?? ()
#20 0xffffff012ec84588 in ?? ()
#21 0xffffff005f84c000 in ?? ()
#22 0xffffff8245984b2c in ?? ()
#23 0xffffff8245984ae0 in ?? ()
#24 0xffffff005f84c000 in ?? ()
#25 0xffffff005f9c0b00 in ?? ()
#26 0x0000000000008000 in ?? ()
#27 0xffffff8245984ac0 in ?? ()
#28 0xffffffff81c64e97 in nfs_writerpc () from /boot/kernel/nfsclient.ko
Previous frame inner to this frame (corrupt stack?)

----

Thanks,
        Yamagi
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to