NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/58678: ntpd crashes on sparc64
The following reply was made to PR bin/58678; it has been noted by GNATS.
From: Christos Zoulas <christos%zoulas.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: bin/58678: ntpd crashes on sparc64
Date: Thu, 19 Sep 2024 07:25:26 -0400
what is cb?
christos
> On Sep 19, 2024, at 6:55=E2=80=AFAM, martin%netbsd.org@localhost wrote:
>=20
> =EF=BB=BF
>>=20
>> Number: 58678
>> Category: bin
>> Synopsis: ntpd crashes on sparc64
>> Confidential: no
>> Severity: critical
>> Priority: high
>> Responsible: bin-bug-people
>> State: open
>> Class: sw-bug
>> Submitter-Id: net
>> Arrival-Date: Thu Sep 19 10:55:00 +0000 2024
>> Originator: Martin Husemann
>> Release: NetBSD 10.99.12
>> Organization:
> The NetBSD Foundation, Inc.
>> Environment:
> System: NetBSD thirdstage.duskware.de 10.99.12 NetBSD 10.99.12 (MODULAR) #=
747: Thu Sep 19 10:16:21 CEST 2024 martin%thirdstage.duskware.de@localhost:/home/marti=
n/current/src/sys/arch/sparc64/compile/MODULAR sparc64
> Architecture: sparc64
> Machine: sparc64
>> Description:
>=20
> After updating to -current as of a few hours ago, ntpd(8) won't startup
> on sparc64
>=20
> Thread 2 "" received signal SIGBUS, Bus error.
> alloc_res4 ()
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_restrict.c:2=
43
> 243 LINK_SLIST(resfree4, res, link);
> (gdb) bt
> #0 alloc_res4 ()
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_restrict.c:2=
43
> #1 hack_restrict (op=3D<optimized out>, resaddr=3D0x405ca824,
> resmask=3D0xffffffffffffc918, ippeerlimit=3D<optimized out>,
> mflags=3D<optimized out>, rflags=3D<optimized out>, expire=3D0)
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_restrict.c:7=
05
> #2 0x000000000014e2ac in create_interface (port=3D123, protot=3D0x405ca20=
0)
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_io.c:2101
> #3 update_interfaces (receiver=3D0x0, data=3D<optimized out>, port=3D123)=
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_io.c:1912
> #4 0x000000000014f140 in create_sockets (port=3D123)
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_io.c:2039
> #5 io_open_sockets ()
> at /home/martin/current/src/external/bsd/ntp/dist/ntpd/ntp_io.c:514
> #6 0x000000000013725c in config_ntpd (input_from_files=3D<optimized out>,=
> ptree=3D0x40592000)
> (gdb) list =20
> 238 }
> 239 rl =3D eallocarray(count, cb);
> 240 /* link all but the first onto free list */
> 241 res =3D (void *)((char *)rl + (count - 1) * cb);
> 242 for (i =3D count - 1; i > 0; i--) {
> 243 LINK_SLIST(resfree4, res, link);
> 244 res =3D (void *)((char *)res - cb);
> 245 }
> 246 DEBUG_INSIST(rl =3D=3D res);
> 247 /* allocate the first */
> (gdb) p resfree4
> $1 =3D (restrict_u *) 0x0
> (gdb) p res
> $2 =3D (restrict_u *) 0x405e2384
> (gdb) p link
> $3 =3D {<text variable, no debug info>} 0x41467140 <link>
>=20
> I guess "restrict_u" needs more than 4 byte alignment, the compiler uses
> stx to store 64byte there:
>=20
> (gdb) x/16i $pc
> =3D> 0x16da50 <hack_restrict+1680>: stx %g2, [ %g1 ]
> (gdb) p/x $g1
> $6 =3D 0x405e2384
>=20
>=20
>> How-To-Repeat:
> s/a
>=20
>> Fix:
> n/a
Home |
Main Index |
Thread Index |
Old Index