fwip -> kernel panic
Sean Bruno
seanbru at yahoo-inc.com
Tue Feb 16 03:01:00 UTC 2010
On Sun, 2010-02-14 at 17:53 -0800, Julian Stecklina wrote:
> Hello,
>
> -STABLE r203907 (amd64) reliable panics when I connect my FreeBSD box to
> a Linux box using Firewire and do:
>
> linux% ifconfig firewire0 up 10.0.0.1 && nc -l -p 9123
> fbsd% ifconfig fwip0 up 10.0.0.2 ; echo hello | nc 10.0.0.1 9123
>
> Details follow:
>
> kernel trap 12 with interrupts disabled
>
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address = 0xffff0212
> fault code = supervisor write data, page not present
> instruction pointer = 0x20:0xffffffff803db410
> stack pointer = 0x28:0xffffff80af3d5890
> frame pointer = 0x28:0xffffff80af3d58d0
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags = resume, IOPL = 0
> current process = 0 (fw0_taskq)
> lock order reversal: (Giant after non-sleepable)
> 1st 0xffffff008520de10 lle (lle) @ /usr/src/sys/netinet/in.c:1455
> 2nd 0xffffffff8091ac20 Giant (Giant) @ /usr/src/sys/dev/usb/input/ukbd.c:1594
> KDB: stack backtrace:
> Physical memory: 6128 MB
>
> #0 doadump () at pcpu.h:223
> #1 0xffffffff801c702c in db_fncall (dummy1=Variable "dummy1" is not available.
> ) at /usr/src/sys/ddb/db_command.c:548
> #2 0xffffffff801c7361 in db_command (last_cmdp=0xffffffff808ea8a0, cmd_table=Variable "cmd_table" is not available.
> ) at /usr/src/sys/ddb/db_command.c:445
> #3 0xffffffff801c75b0 in db_command_loop () at /usr/src/sys/ddb/db_command.c:498
> #4 0xffffffff801c9509 in db_trap (type=Variable "type" is not available.
> ) at /usr/src/sys/ddb/db_main.c:229
> #5 0xffffffff803f6715 in kdb_trap (type=12, code=0, tf=0xffffff80af3d57e0) at /usr/src/sys/kern/subr_kdb.c:535
> #6 0xffffffff8064c0bd in trap_fatal (frame=0xffffff80af3d57e0, eva=Variable "eva" is not available.
> ) at /usr/src/sys/amd64/amd64/trap.c:852
> #7 0xffffffff8064cae9 in trap (frame=0xffffff80af3d57e0) at /usr/src/sys/amd64/amd64/trap.c:348
> #8 0xffffffff80633e13 in calltrap () at /usr/src/sys/amd64/amd64/exception.S:224
> #9 0xffffffff803db410 in callout_reset_on (c=0xffffff008520de78, to_ticks=1200000, ftn=0xffffffff8047add0 <arptimer>, arg=0xffffff008520de00, cpu=0)
> at /usr/src/sys/kern/kern_timeout.c:603
> #10 0xffffffff8047bcbc in arpintr (m=0xffffff00041d8b00) at /usr/src/sys/netinet/if_ether.c:698
> #11 0xffffffff80473392 in netisr_dispatch_src (proto=7, source=Variable "source" is not available.
> ) at /usr/src/sys/net/netisr.c:917
> #12 0xffffffff8046c4cc in firewire_input (ifp=0xffffff00016cf800, m=0xffffff00041d8b00, src=Variable "src" is not available.
> ) at /usr/src/sys/net/if_fwsubr.c:630
> #13 0xffffffff802837c1 in fwip_stream_input (xferq=0xffffff80003592a0) at /usr/src/sys/dev/firewire/if_fwip.c:858
> #14 0xffffffff80281119 in fwohci_task_dma (arg=Variable "arg" is not available.
> ) at /usr/src/sys/dev/firewire/fwohci.c:2247
> #15 0xffffffff80401891 in taskqueue_run (queue=0xffffff0003aa0380) at /usr/src/sys/kern/subr_taskqueue.c:239
> #16 0xffffffff80401a1f in taskqueue_thread_loop (arg=Variable "arg" is not available.
> ) at /usr/src/sys/kern/subr_taskqueue.c:360
> #17 0xffffffff803a6692 in fork_exit (callout=0xffffffff804019e0 <taskqueue_thread_loop>, arg=0xffffff8000356898, frame=0xffffff80af3d5c80)
> at /usr/src/sys/kern/kern_fork.c:843
> #18 0xffffffff806342ee in fork_trampoline () at /usr/src/sys/amd64/amd64/exception.S:561
>
>
Hrm ... fantastic! :( Looks like something is defnitely amiss in my
changes. You may want to look through some of the history and start
reverting things.
I think that this is an endian issue. Is there any chance the linux box
is 32 bit?
Sean
More information about the freebsd-firewire
mailing list