NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

lib/48091: rump failures on earm



>Number:         48091
>Category:       lib
>Synopsis:       rump failures on earm
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    lib-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 28 11:45:00 +0000 2013
>Originator:     Nick Hudson
>Release:        -current
>Organization:
>Environment:
NetBSD rpi 6.99.23 NetBSD 6.99.23 (RPI) #29: Sat Jul 27 12:33:43 BST 2013  
nick@zoom:/wrk/obj/evbearm-el/usr/src/sys/arch/evbarm/compile/RPI evbarm

>Description:
Running, for example, /usr/tests/dev/sysmon/t_swsensor I see rump.sysctl core. 
A backtrace suggests that the EARM specific libc .init

http://nxr.netbsd.org/source/xref/src/lib/libc/arch/arm/misc/arm_initfini.c#58

 is calling into librumpclient before it's been initialised. cf

rpi# gdb rump.sysctl rump.sysctl.core
GNU gdb (GDB) 7.3.1
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm--netbsdelf-eabi".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /sbin/rump.sysctl...Reading symbols from 
/usr/libdata/debug/sbin/rump.sysctl.debug...done.
done.
[New process 1]

Core was generated by `rump.sysctl'.
Program terminated with signal 11, Segmentation fault.
#0  0x400496ec in doputwait (rw=0xbfffd840, spc=0x40052ed8, 
    rhdr=<optimized out>)
    at /usr/src/lib/librumpclient/../librumpuser/sp_common.c:370
370             TAILQ_INSERT_TAIL(&spc->spc_respwait, rw, rw_entries);
(gdb) bt
#0  0x400496ec in doputwait (rw=0xbfffd840, spc=0x40052ed8, 
    rhdr=<optimized out>)
    at /usr/src/lib/librumpclient/../librumpuser/sp_common.c:370
#1  putwait (rw=0xbfffd840, spc=0x40052ed8, rhdr=<optimized out>)
    at /usr/src/lib/librumpclient/../librumpuser/sp_common.c:385
#2  syscall_req (resp=<optimized out>, dlen=<optimized out>, data=0xbfffd8e0, 
    sysnum=<optimized out>, omask=0xbfffd8a0, spc=<optimized out>)
    at /usr/src/lib/librumpclient/rumpclient.c:351
#3  rumpclient_syscall (sysnum=<optimized out>, data=0xbfffd8e0, 
    dlen=<optimized out>, retval=0xbfffd8f8)
    at /usr/src/lib/librumpclient/rumpclient.c:568
#4  0x4004538c in rump___sysimpl___sysctl (name=<optimized out>, 
    namelen=<optimized out>, old=<optimized out>, oldlenp=<optimized out>, 
    new=0xbfffd928, newlen=96)
    at 
/usr/src/lib/librumpclient/../../sys/rump/librump/rumpkern/rump_syscalls.c:1987
#5  0x0000e794 in __learn_tree (name=0xbfffdbd8, namelen=0, pnode=0x18750)
    at /usr/src/sbin/sysctl/../../lib/libc/gen/sysctlgetmibinfo.c:303
#6  0x0000f020 in sysctlgetmibinfo (gname=<optimized out>, iname=0xbfffdc7c, 
    namelenp=0xbfffdcac, cname=0x0, csz=0x0, rnode=0x0, v=16777216)
    at /usr/src/sbin/sysctl/../../lib/libc/gen/sysctlgetmibinfo.c:526
#7  0x0000e5f4 in sysctlbyname (gname=<optimized out>, oldp=0x4019c110, 
    oldlenp=0xbfffdcdc, newp=0x0, newlen=0)
---Type <return> to continue, or q <return> to quit--- 
    at /usr/src/sbin/sysctl/../../lib/libc/gen/sysctlbyname.c:62
#8  0x400cfa80 in _libc_aapcs_init ()
    at /usr/src/lib/libc/arch/arm/misc/arm_initfini.c:58
#9  0x4001bc1c in ?? ()
#10 0x4001bc1c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) 

>How-To-Repeat:
Run tests in /usr/test
>Fix:
Unknown



Home | Main Index | Thread Index | Old Index