On Sun, Feb 27, 2011 at 5:12 PM, Stuart Henderson <[email protected]>
wrote:
> In gmane.os.openbsd.misc, you wrote:
>>
>> Earlier tonight I upgraded from 4.7 to 4.8 (yes I know I'm a bit
>> behind on this) and everything seemed to have went fine with the
>> upgrade. except rtadvd seems to be crashing at random on me.
>>
>> Here is my dmesg:
> <snip>
>> and my rtadvd.conf:
>>
>> rl0:\
>> B  B  B  B  :addr="2001:470:8:9ec::":prefixlen#64:raflags#64:
>>
>> and last but not least here is the output of running rtadvd -d rl0:
>>
>> RA timer on rl0 is set to 16:0
>> set timer to 15:994134. waiting for inputs or timeout
>> RA timer on rl0 is expired
>> send RA on rl0, # of waitings = 0
>> RA timer on rl0 is set to 16:0
>> set timer to 16:0. waiting for inputs or timeout
>> RA timer on rl0 is expired
>> send RA on rl0, # of waitings = 0
>> RA timer on rl0 is set to 16:0
>> set timer to 16:0. waiting for inputs or timeout
>> RA timer on rl0 is expired
>> send RA on rl0, # of waitings = 0
>> RA timer on rl0 is set to 393:0
>> set timer to 393:0. waiting for inputs or timeout
>> received a routing message (type = 1, len = 200)
>> Bus error
>>
>> I'm really not sure where to go from here from a troubleshooting
>> prospective. B Hopefully someone on the list has an idea. B Please let
>> me know if there is any other relevant information I can provide.
>
> Thanks for a decent report - if you could obtain a backtrace that
> would be useful.
>
> cd /usr/src/*/rtadvd
> make obj && make clean && make DEBUG=-g
> gdb obj/rtadvd
> set args -d rl0
> run
>
> Hopefully it will still SIGBUS (on sparc64 this is usually due to
> unaligned memory access), and then you can 'bt full'. Considering the
> timeframe (4.7->4.8), it's likely to be connected with the move to gcc 4.
>
>

Stuart,
Thanks for the quick reply.  This is a first for me so hopefully this
is what you're looking for(if not let me know and I'll give it another
shot):

GNU gdb 6.3
Copyright 2004 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 "sparc64-unknown-openbsd4.8"...
(gdb) set args -d rl0
(gdb) run
Starting program: /usr/obj/usr.sbin/rtadvd/rtadvd -d rl0
RA timer on rl0 is set to 16:0
set timer to 15:953016. waiting for inputs or timeout
RA timer on rl0 is expired
send RA on rl0, # of waitings = 0
RA timer on rl0 is set to 16:0
set timer to 16:0. waiting for inputs or timeout
RA timer on rl0 is expired
send RA on rl0, # of waitings = 0
RA timer on rl0 is set to 16:0
set timer to 16:0. waiting for inputs or timeout
RA timer on rl0 is expired
send RA on rl0, # of waitings = 0
RA timer on rl0 is set to 284:0
set timer to 284:0. waiting for inputs or timeout
received a routing message (type = 1, len = 168)

Program received signal SIGBUS, Bus error.
0x0000000000106648 in get_next_msg (buf=0xfffffffffffe3536 "",
    lim=0xfffffffffffe35de "\005o?=", ifindex=0, lenp=0xfffffffffffe3528,
    filter=28678) at /usr/src/usr.sbin/rtadvd/if.c:247
247                             get_rtaddrs(rtm->rtm_addrs, sa, rti_info);


Once again, I hope I've done this properly and that the information helps.

Thank you,
--
Josh Smith

Reply via email to