NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-vax/41144: ntpd dies when syncing
>Number: 41144
>Category: port-vax
>Synopsis: ntpd dies when syncing
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-vax-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Apr 05 08:50:00 +0000 2009
>Originator: Martin Husemann
>Release: NetBSD 5.99.10
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD dead-to-the-world.duskware.de 5.99.10 NetBSD 5.99.10 (DEAD) #2:
Sat Apr 4 20:45:50 CEST 2009
martin%night-porter.duskware.de@localhost:/usr/src/sys/arch/vax/compile/DEAD vax
Architecture: vax
Machine: vax
>Description:
Running ntpd works for a bit, but as soon as it syncs to a server, it dies.
Core was generated by `ntpd'.
Program terminated with signal 4, Illegal instruction.
#0 0x7f7b5efd in snprintb (2147475768, 1024, 401116, 8256, 0)
from /usr/lib/libutil.so.7
(gdb) bt
#0 0x7f7b5efd in snprintb (2147475768, 1024, 401116, 8256, 0)
from /usr/lib/libutil.so.7
#1 0x7f7e292e in _rtld_bind_start (2147475768, 1024, 401116, 8256, 0)
from /usr/libexec/ld.elf_so
#2 0x00027306 in sync_status (what=0x6b2c4 "status",
status=8256, 438980, 8256) at /usr/src/dist/ntp/ntpd/ntp_loopfilter.c:192
[..]
(gdb) list
187 static void
188 sync_status(const char *what, int status)
189 {
190 char buf[1024];
191 #ifdef STA_FMT
192 snprintb(buf, sizeof(buf), STA_FMT, ntv.status);
193 #else
194 snprintf(buf, sizeof(buf), "%04x, status);
195 #endif
196 NLOG(NLOG_SYNCEVENT | NLOG_SYSEVENT)
>How-To-Repeat:
Use this small test program:
--8<--
#include <stdio.h>
#include <util.h>
#include <sys/timex.h>
#define TEST_VALUE 8256
int main(int argc, char **argv)
{
char buf[1024];
snprintb(buf, sizeof(buf), STA_FMT, TEST_VALUE);
printf("string: %s\n", buf);
return 0;
}
-->8--
cc -static -g -O0 -Wall test.c -lutil
and just run it in gdb...
>Fix:
no idea, don't speak vax asm
Home |
Main Index |
Thread Index |
Old Index