NCA crashes Solaris 9

From: Kevin Sindhu (kevin.a.sindhu@mail.ac)
Date: Sun Aug 08 2004 - 00:04:15 EDT


Hi All,

I'm not sure if anyone's seen this but I enabled nca on our server and
now the machine ends up in an ever looping crash. I'll summarize/update
this once I have more.

Thanks.

SolarisCAT(/var/crash/hell/vmcore.1)> analyze
PANIC: BAD TRAP: type=%x rp=%p addr=%p mmu_fsr=%x

core file: /var/crash/hell/vmcore.1
user: Super-User (root:0)
release: 5.9 (64-bit)
version: Generic_117171-07
machine: sun4u
node name: hell
hw_provider: Sun_Microsystems
system type: SUNW,Ultra-250
hostid: 80b1c7c5
time of crash: Sat Aug 7 19:57:01 PDT 2004
age of system: 6 hours 20 minutes 4.90 seconds
panic cpu: 1 (ncpus: 2)
panic string: BAD TRAP: type=34 rp=2a100ea5620 addr=30003063dd6 mmu_fsr=0

2 cpus

==== checking for trap information ====

cpu 1 had the panic

==== panic thread: 0x2a100ea5d40 ==== cpu: 1 ====
==== panic kernel thread: 0x2a100ea5d40 pid: 0 on cpu: 1 ====
cmd: sched

t_stk: 0x2a100ea5b50 sp: 0x1437c71 t_stkbase: 0x2a100ea2000
t_pri: 60(SYS) pctcpu: 0.000000 t_lwp: 0x0
t_procp: 0x1438a38(proc_sched) p_as: 0x1438920(kas)
last cpuid: 1
idle: 14 ticks (0.14 seconds)
start: Sat Aug 7 19:15:42 2004
age: 2479 seconds (41 minutes 19 seconds)
stime: 2032596 (41 minutes 18.94 seconds earlier)
tstate: TS_ONPROC - thread is being run on a processor
tflg: T_TALLOCSTK - thread structure allocated from stk
         T_PANIC - thread initiated a system panic
tpflg: none set
tsched: TS_LOAD - thread is in memory
         TS_DONT_SWAP - thread/LWP should not be swapped
         TS_SIGNALLED - thread was awakened by cv_signal()
pflag: SSYS - system resident process
         SLOAD - in core
         SLOCK - process cannot be swapped

pc: 0x104bbdc unix:panicsys+0x44: call unix:setjmp
startpc: 0x1136a00 genunix:taskq_d_thread+0x0: save %sp,
-0xd0, %sp

unix:panicsys+0x44 (0x105b988, 0x2a100ea53d8, 0x1438640, 0x1, 0x0, 0x0)
unix:vpanic+0xcc (0x105b988, 0x2a100ea53d8, 0x20, 0x1438a38, 0x16, 0x0)
unix:panic+0x1c (0x105b988, 0x34, 0x2a100ea5620, 0x30003063dd6, 0x0, 0x0)
unix:die+0xa4 (0x34, 0x2a100ea5620, 0x30003063dd6, 0x0, 0x70d6bfe, 0x0)
unix:trap+0x59c (0x2a100ea5620, 0x0, 0x10000, 0x10200, 0x300, 0x5b401010402)
unix:ktl0+0x48 (0x1, 0xffffffffffffffff, 0x0, 0x0, 0x16, 0x14)
-- trap data type: 0x34 (memory address not aligned) rp: 0x2a100ea5620 --
   addr: 0x30003063dd6
pc: 0x1335c2c nca:nca_rput+0x110: lduw [%l0 + 0x10], %o0
npc: 0x1335c30 nca:nca_rput+0x114: add %g4, %g3, %g2
   global: %g1 0x1459400
         %g2 0x28 %g3 0x14
         %g4 0x300040b5638 %g5 0
         %g6 0 %g7 0x2a100ea5d40
   out: %o0 0x1 %o1 0xffffffffffffffff
         %o2 0 %o3 0
         %o4 0x16 %o5 0x14
         %sp 0x2a100ea4ec1 %o7 0x1335bbc
   loc: %l0 0x30003063dc6 %l1 0
         %l2 0x24cab7c0 %l3 0x300015b70b0
         %l4 0x30 %l5 0x14d1400
         %l6 0x30000a5d140 %l7 0
   in: %i0 0x300030b7aa0 %i1 0x300034ce7c0
         %i2 0x20 %i3 0
         %i4 0x16 %i5 0x14
         %fp 0x2a100ea4f91 %i7 0x104c808
<trap>nca:nca_rput+0x110 (0x300030b7aa0, 0x300034ce7c0, 0x20, 0x0, 0x16,
0x14)
unix:putnext+0x21c (0x0, 0x300034ce7c0, 0x4, 0x3000092c0d0, 0xff, 0x0)
pelx:pelxrsrv+0x8c (0x30000ae5458, 0x2a100ea5d40, 0x20, 0x30000ae5670,
0x0, 0x0)
genunix:runservice+0x38 (0x30000ae5458, 0x2a100ea5d40, 0x20, 0x1438a38,
0x16, 0x0)
genunix:queue_service - frame recycled
genunix:stream_service+0x4c (0x30000832bc8, 0x2a100ea5d40, 0x20,
0x3000065dc88, 0x2a100ea5d40, 0x0)
genunix:taskq_d_thread+0x70 (0x30000089ad0, 0x3000065dca8,
0x30002e20098, 0x1438a38, 0x16, 0x0)
unix:thread_start+0x4 (0x30003042310, 0x0, 0xfeee5c00eec3f8, 0x0, 0x0,
0x123953000000000)
-- end of kernel thread's stack --

==== analyzing panic thread stack for trap frames ====

==== using trap() frame 1 @ 0x2a100ea5430, rp(%i0): 0x2a100ea5620 ====

type(%l3): 0x34 (memory address not aligned)

pc: 0x1335c2c nca:nca_rput+0x110: lduw [%l0 + 0x10], %o0
npc: 0x1335c30 nca:nca_rput+0x114: add %g4, %g3, %g2

global: %g1 genunix(data):softcalls+0xf58
         %g2 0x28 %g3 0x14
         %g4 0x300040b5638 %g5 0
         %g6 0 %g7 0x2a100ea5d40
out: %o0 0x1 %o1 0xffffffffffffffff
         %o2 0 %o3 0
         %o4 0x16 %o5 0x14
         %sp 0x2a100ea4ec1 %o7 nca:nca_rput+0xa0
loc: %l0 0x30003063dc6 %l1 0
         %l2 0x24cab7c0 %l3 0x300015b70b0
         %l4 0x30 %l5 mpxio(data): 0x14d1400
         %l6 0x30000a5d140 %l7 0
in: %i0 0x300030b7aa0 %i1 0x300034ce7c0
         %i2 0x20 %i3 0
         %i4 0x16 %i5 0x14
         %fp 0x2a100ea4f91 %i7 unix:putnext+0x21c

nca:nca_rput+0xe8: nop
nca:nca_rput+0xec: ldx [%i1 + 0x18], %g4
nca:nca_rput+0xf0: ldub [%g4], %g2
nca:nca_rput+0xf4: and %g2, 0xf, %g2
nca:nca_rput+0xf8: sll %g2, 0x2, %g2
nca:nca_rput+0xfc: sra %g2, 0x0, %g3
nca:nca_rput+0x100: add %g3, 0x14, %g2
nca:nca_rput+0x104: subcc %l4, %g2, %g0 ( cmp %l4, %g2 )
nca:nca_rput+0x108: bcs,pt %xcc, nca:nca_rput+0x45c (2f)
nca:nca_rput+0x10c: nop

nca:nca_rput+0x110: lduw [%l0 + 0x10], %o0
nca:nca_rput+0x114: add %g4, %g3, %g2
nca:nca_rput+0x118: lduh [%g2 + 0x2], %l0
nca:nca_rput+0x11c: call nca:nca_isnca_data
nca:nca_rput+0x120: srl %l0, 0x0, %o1
nca:nca_rput+0x124: lduw [%l5 + 0x280], %g4
nca:nca_rput+0x128: orcc %g0, %o0, %g0 ( tst %o0 )
nca:nca_rput+0x12c: bne,pn %icc, nca:nca_rput+0x16c (1f)
nca:nca_rput+0x130: sethi %hi(0x14cc000) %g2 ( set
0x14cc000, %g2 )

nca:nca_rput+0x134: ldx [%g2 + 0xc8], %g2
nca:nca_rput+0x138: subcc %g2, 0x0, %g0 ( cmp %g2, 0x0 )

/etc/system

set nfssrv:nfs_portmon=1
set noexec_user_stack_log=1
set noexec_user_stack=1
set nca:nca_conn_hash_size=2980

ndd settings
Comparison of ndd parameter settings:
    /dev/arp arp_cleanup_interval = '60000' (ok)
    /dev/ip ip_forward_directed_broadcasts = '0' (ok)
    /dev/ip ip_forward_src_routed = '0' (ok)
    /dev/ip ip_ignore_redirect = '1' (ok)
    /dev/ip ip_respond_to_address_mask_broadcast = '0' (ok)
    /dev/ip ip_respond_to_echo_broadcast = '0' (ok)
    /dev/ip ip_respond_to_timestamp = '0' (ok)
    /dev/ip ip_respond_to_timestamp_broadcast = '0' (ok)
    /dev/ip ip_send_redirects = '0' (ok)
    /dev/ip ip_strict_dst_multihoming = '1' (ok)
    /dev/ip ip_def_ttl = '255' (ok)
    /dev/tcp tcp_conn_req_max_q0 = '4096' (ok)
    /dev/tcp tcp_conn_req_max_q = '1024' (ok)
    /dev/tcp tcp_smallest_anon_port = '32768' (ok)
    /dev/tcp tcp_largest_anon_port = '65535' (ok)
    /dev/udp udp_smallest_anon_port = '32768' (ok)
    /dev/udp udp_largest_anon_port = '65535' (ok)
    /dev/tcp tcp_smallest_nonpriv_port = '1024' (ok)
    /dev/udp udp_smallest_nonpriv_port = '1024' (ok)
    /dev/ip ip_ire_arp_interval = '60000' (ok)
    /dev/tcp tcp_extra_priv_ports = '2049 4045 6112 ' (ok)
    /dev/udp udp_extra_priv_ports = '2049 4045 ' (ok)
    /dev/tcp tcp_rev_src_routes = '0' (ok)
    /dev/ip6 ip6_forward_src_routed = '0' (ok)
    /dev/ip6 ip6_respond_to_echo_multicast = '0' (ok)
    /dev/ip6 ip6_send_redirects = '1' (should be '0')
    /dev/ip6 ip6_ignore_redirect = '1' (ok)
    /dev/ip6 ip6_strict_dst_multihoming = '1' (ok)
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers



This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:29:14 EDT