current + netatalk == crash

2003-11-03 Thread Leo Bicknell

Using current from 10/28/2003 I rebuilt the kernel with options
NETATALK, rebooted into it, and built /usr/ports/net/netatalk.

When netatalk starts (specifically, atalkd) after about 15-20 seconds
the machine has a kernel panic, supervisor page read error.

This is quite repeatable (two systems now, does it every time).  I
do have the kernel debugger built and it drops into that so I can
collect more information if that would be helpful.  I'm not really
a kernel hacker so I don't know where to go looking on my own.

Anyone seen this before or can tell me what to do next to track it
down?  This is the same procedure/config I've used to run netatalk
on similar boxes with 4.x FreeBSD with no issues.

-- 
   Leo Bicknell - [EMAIL PROTECTED] - CCIE 3440
PGP keys at http://www.ufp.org/~bicknell/
Read TMBG List - [EMAIL PROTECTED], www.tmbg.org


pgp0.pgp
Description: PGP signature


Re: current + netatalk == crash

2003-11-03 Thread Leo Bicknell

A kind soul told reminded me how to make it dump core and get a back
trace.  To wit, I made it crash again and did just that.  Perhaps this
will help: (crashed with trap 12, did a 't', then 'panic' in ddb, immediately
got trap 3, did a 't', then  'panic', dumped core.  Here's the dump from the
reboot)

# gdb -k /usr/obj/usr/src/sys/FIREWALL/kernel.debug vmcore.0
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as i386-undermydesk-freebsd...
panic: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x20
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc0534ac3
stack pointer   = 0x10:0xddc9baf0
frame pointer   = 0x10:0xddc9bb14
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 609 (atalkd)
panic: from debugger


Fatal trap 3: breakpoint instruction fault while in kernel mode
instruction pointer = 0x8:0xc06d3684
stack pointer   = 0x10:0xddc9b8a4
frame pointer   = 0x10:0xddc9b8b0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= IOPL = 0
current process = 609 (atalkd)
panic: from debugger
Uptime: 24m34s
Dumping 510 MB
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 
384 400 416 432 448 464 480 496
---
Reading symbols from 
/usr/obj/usr/src/sys/FIREWALL/modules/usr/src/sys/modules/acpi/acpi.ko.debug...done.
Loaded symbols for 
/usr/obj/usr/src/sys/FIREWALL/modules/usr/src/sys/modules/acpi/acpi.ko.debug
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
240 dumping++;
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:240
#1  0xc053f269 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:372
#2  0xc053f648 in panic () at /usr/src/sys/kern/kern_shutdown.c:550
#3  0xc04539e2 in db_panic () at /usr/src/sys/ddb/db_command.c:450
#4  0xc0453942 in db_command (last_cmdp=0xc077dea0, cmd_table=0x0, 
aux_cmd_tablep=0xc0747b70, aux_cmd_tablep_end=0xc0747b74)
at /usr/src/sys/ddb/db_command.c:346
#5  0xc0453a85 in db_command_loop () at /usr/src/sys/ddb/db_command.c:472
#6  0xc0456aa5 in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_trap.c:73
#7  0xc06d33cc in kdb_trap (type=12, code=0, regs=0xddc9bab0) at 
/usr/src/sys/i386/i386/db_interface.c:171
#8  0xc06e5926 in trap_fatal (frame=0xddc9bab0, eva=0) at 
/usr/src/sys/i386/i386/trap.c:818
#9  0xc06e4f33 in trap (frame=
  {tf_fs = -1066532840, tf_es = -1043791856, tf_ds = -1049755632, tf_edi = 
-996660560, tf_esi = 0, tf_ebp = -573981932, tf_isp = -573981988, tf_ebx = -996766064, 
tf_edx = -996660560, tf_ecx = -995445968, tf_eax = 1, tf_trapno = 12, tf_err = 0, 
tf_eip = -1068283197, tf_cs = 8, tf_eflags = 66050, tf_esp = 4, tf_ss = -573981888}) 
at /usr/src/sys/i386/i386/trap.c:252
#10 0xc06d4db8 in calltrap () at {standard input}:102
#11 0xc05c08d2 in rtfree (rt=0xc4968e90) at /usr/src/sys/net/route.c:288
#12 0xc05d03f1 in at_pcbdetach (so=0xc4968e90, ddp=0x0) at 
/usr/src/sys/netatalk/ddp_usrreq.c:462
#13 0xc05cfc01 in ddp_detach (so=0x0) at /usr/src/sys/netatalk/ddp_usrreq.c:73
#14 0xc057e4b2 in soclose (so=0x0) at /usr/src/sys/kern/uipc_socket.c:379
#15 0xc056e06b in soo_close (fp=0x0, td=0xc4982ab0) at 
/usr/src/sys/kern/sys_socket.c:244
#16 0xc051e289 in fdrop_locked (fp=0xc4901e14, td=0x0) at /usr/src/sys/sys/file.h:292
#17 0xc051cd2f in fdrop (fp=0xc4901e14, td=0x0) at 
/usr/src/sys/kern/kern_descrip.c:1828
#18 0xc051ccb2 in closef (fp=0xc4901e14, td=0xc4982ab0) at 
/usr/src/sys/kern/kern_descrip.c:1814
#19 0xc051a7d2 in close (td=0xc4982ab0, uap=0x0) at 
/usr/src/sys/kern/kern_descrip.c:862
#20 0xc06e5ce0 in syscall (frame=
  {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 134582720, tf_esi = 134586496, 
tf_ebp = -1077939128, tf_isp = -573981324, tf_ebx = 8, tf_edx = 134582720, tf_ecx = 
35, tf_eax = 6, tf_trapno = 12, tf_err = 2, tf_eip = 673708511, tf_cs = 31, tf_eflags 
= 518, tf_esp = -1077939284, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1012
#21 0xc06d4e0d in Xint0x80_syscall () at {standard input}:144
---Can't read userspace from dump, or kernel process---

(kgdb)

Looks like the problem is in rtfree when called from the appletalk code.

-- 
   Leo Bicknell - [EMAIL PROTECTED] - CCIE 3440
PGP keys at http://www.ufp.org/~bicknell/
Read TMBG List - [EMAIL PROTECTED], www.tmbg.org


pgp0.pgp
Description: PGP signature