Subject: bin/34124: rtadvd(8) crashes frequently
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: Matthias Scheler <tron@zhadum.org.uk>
List: netbsd-bugs
Date: 08/02/2006 08:25:00
>Number:         34124
>Category:       bin
>Synopsis:       rtadvd(8) crashes frequently
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 02 08:25:00 +0000 2006
>Originator:     Matthias Scheler
>Release:        NetBSD 3.99.24
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD ivanova.zhadum.org.uk 3.99.24 NetBSD 3.99.24 (IVANOVA) #0: Tue Aug  1 20:05:14 BST 2006  tron@colwyn.zhadum.org.uk:/src/sys/compile/IVANOVA sparc
Architecture: sparc
Machine: sparc
>Description:
Since upgrading the SPARCstation 20 serving as my firewall from 3.99.22
and GCC 3.3.x to 3.99.24 and GCC 4.1.2 "rtadvd" crashes frequently.
Here is what "gdb" gets out of the crash dump:

tron@ivanova:/usr/sbin#gdb rtadvd /rtadvd.core 
GNU gdb 5.3nb1
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 "sparc--netbsdelf"...(no debugging symbols found)...
Core was generated by `rtadvd'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/lib/libutil.so.7...(no debugging symbols found)...
done.
Loaded symbols for /usr/lib/libutil.so.7
Reading symbols from /usr/lib/libsparc_v8.so.0...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsparc_v8.so.0
Reading symbols from /usr/lib/libc.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libc.so.12
Reading symbols from /usr/libexec/ld.elf_so...(no debugging symbols found)...
done.
Loaded symbols for /usr/libexec/ld.elf_so
#0  0x00015290 in get_next_msg ()
(gdb) where
#0  0x00015290 in get_next_msg ()
#1  0x00013414 in main ()
#2  0x00010fb4 in ___start ()

I'm concerned because of the "bus error". Could it be a GCC code generation
problem?

>How-To-Repeat:
Enable rtadvd(8) in "/etc/rc.conf" like this ...

rtadvd=YES
rtadvd_flags=hme0

... and start it with "/etc/rc.d/rtadvd start".

>Fix:
Not known.