Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2005 19:52:12 +0400 (MSD)
From:      Andrew Belashov <bel@orel.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        glebius@FreeBSD.org
Subject:   sparc64/80410: netgraph is causing crash with mpd on sparc64
Message-ID:  <200504271552.j3RFqCgv077122@white.orel.ru>
Resent-Message-ID: <200504271600.j3RG0WBp018126@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         80410
>Category:       sparc64
>Synopsis:       netgraph is causing crash with mpd on sparc64
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-sparc64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Apr 27 16:00:31 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Belashov
>Release:        FreeBSD 5.4-STABLE sparc64
>Organization:
JSC CenterTelecom
>Environment:
System: FreeBSD bel.localdomain 5.4-STABLE FreeBSD 5.4-STABLE #22: Tue Apr 26
08:48:58 MSD 2005 bel@bel.localdomain:/usr/obj/usr/src/sys/SUNC3D sparc64


>Description:
	mpd does not work on FreeBSD/sparc64. Kernel panic with "memory address
not aligned" trap message.

>How-To-Repeat:
	Configure and run mpd for VPN over pptp. After connect to VPN,
start nmap scanner. Kernel right away crashed. I have coredump:

root@bel# gdb53 -k /usr/obj/usr/src/sys/SUNC3D/kernel.debug vmcore.12
GNU gdb 5.3 (FreeBSD)
[...]
panic: trap: memory address not aligned
panic messages:
---
panic: trap: memory address not aligned
cpuid = 0
KDB: enter: panic
panic: from debugger
cpuid = 0
boot() called on cpu#0
Uptime: 4m16s
Dumping 1024 MB (2 chunks)
  chunk at 0x80000000: 536870912 bytes
---
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:246
246             savectx(&dumppcb);
(kgdb) bt
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:246
#1  0x00000000c01642d8 in boot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:409
#2  0x00000000c0164be4 in panic (fmt=0xc038edc8 "from debugger")
    at /usr/src/sys/kern/kern_shutdown.c:565
#3  0x00000000c0065ae8 in db_panic (addr=3222812472, have_addr=0, count=-1,
    modif=0xe002e950 "") at /usr/src/sys/ddb/db_command.c:435
#4  0x00000000c0065c24 in db_command_loop ()
    at /usr/src/sys/ddb/db_command.c:349
#5  0x00000000c00686a8 in db_trap (type=107, code=0)
    at /usr/src/sys/ddb/db_main.c:210
#6  0x00000000c0183d28 in kdb_trap (type=107, code=0, tf=0x1)
    at /usr/src/sys/kern/subr_kdb.c:418
#7  0x00000000c0304aa4 in trap (tf=0xe002ed20)
    at /usr/src/sys/sparc64/sparc64/trap.c:307
#8  0x00000000c0183738 in kdb_enter (msg=---Can't read userspace from dump, or kernel process---

) at /usr/src/sys/kern/subr_kdb.c:238
#9  0x00000000c0183730 in kdb_enter (msg=0xc03a60d0 "panic")
    at /usr/src/sys/kern/subr_kdb.c:238
#10 0x00000000c0164c54 in panic (fmt=0xc03beb88 "trap: %s") at atomic.h:278
#11 0x00000000c03049bc in trap (tf=0xe002f120)
    at /usr/src/sys/sparc64/sparc64/trap.c:369
#12 0x00000000c020f1cc in tcp_input (m=0xfffff800a9760f00, off0=40)
    at /usr/src/sys/netinet/tcp_input.c:536
---Type <return> to continue, or q <return> to quit---
#13 0x00000000c020f1b8 in tcp_input (m=0xfffff800a9760f00, off0=20)
    at /usr/src/sys/netinet/tcp_input.c:533
#14 0x00000000c0205af0 in ip_input (m=0xfffff800a9760f00)
    at /usr/src/sys/netinet/ip_input.c:776
#15 0x00000000c01f039c in netisr_processqueue (ni=0xc0424350)
    at /usr/src/sys/net/netisr.c:233
#16 0x00000000c01f0714 in swi_net (dummy=0x0) at atomic.h:278
#17 0x00000000c014bb84 in ithread_loop (arg=0xfffff8008042f700)
    at /usr/src/sys/kern/kern_intr.c:547
#18 0x00000000c014a448 in fork_exit (callout=0xc014ba60 <ithread_loop>,
    arg=0xfffff8008042f700, frame=0xe002f880)
    at /usr/src/sys/kern/kern_fork.c:790
(kgdb) frame 14
#14 0x00000000c0205af0 in ip_input (m=0xfffff800a9760f00)
    at /usr/src/sys/netinet/ip_input.c:776
776             (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen);
(kgdb) p ip
$1 = (struct ip *) 0xfffff800a915b035
(kgdb) p ip[0]
$2 = {ip_v = 0, ip_hl = 0, ip_tos = 0 '\0', ip_len = 0, ip_id = 0, ip_off = 0,
  ip_ttl = 0 '\0', ip_p = 6 '\006', ip_sum = 28984, ip_src = {
    s_addr = 167772161}, ip_dst = {s_addr = 168430081}}

>Fix:

	Unknown.
	netgraph(4) on sparc64 is totally broken?

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504271552.j3RFqCgv077122>