[chrony-users] Trouble running chronyd on old hardware

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-users Archives ]


Hi Team, sorry for my bad English;

I'm trying to run chrony on a low-powered device, arm-926ejs CPU 400MHz and 128MB of ram running Linux 2.6.31.4.26007 with Busybox slapped on top.

I managed to cross compile as I have a toolchain available to me, however, running chronyd on this device runs with -dd and prints a couple of errors, then ends up in some sort of infinite loop.

Running within GDB (same happens inside or out):

# gdb --args chronyd -4 -n 'server time.cloudflare.com iburst' -dd
GNU gdb (GDB) 8.3.1
Copyright (C) 2019 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-926ejs-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from chronyd...
(gdb) run
Starting program: /root/chronyd -4 -n server\ time.cloudflare.com\ iburst -dd
2023-11-29T10:01:20Z I:main.c:579:(main) chronyd version DEVELOPMENT starting (+CMDMON +NTP +REFCLOCK +RTC -PRIVDROP -SCFILTER -SIGND -ASYNCDNS -NTS -SECHASH -IPV6 +DEBUG)
2023-11-29T10:01:20Z D:util.c:1419:(UTI_OpenFile) Opened /var/run/chrony/chronyd.pid fd=3 mode=r
2023-11-29T10:01:22Z D:util.c:1403:(UTI_OpenFile) Removed /var/run/chrony/chronyd.pid
2023-11-29T10:01:22Z D:util.c:1419:(UTI_OpenFile) Opened /var/run/chrony/chronyd.pid fd=3 mode=W
2023-11-29T10:01:22Z D:local.c:171:(LCL_Initialise) Clock precision 0.000001879 (-19)
2023-11-29T10:01:22Z D:sys_linux.c:294:(get_version_specific_details) Linux kernel major=2 minor=6 patch=31
2023-11-29T10:01:22Z D:sys_linux.c:321:(get_version_specific_details) hz=100 nominal_tick=10000 max_tick_bias=1000 tick_update_hz=2
2023-11-29T10:01:22Z D:local.c:683:(lcl_RegisterSystemDrivers) Local freq=-0.952ppm
2023-11-29T10:01:22Z D:socket.c:1511:(SCK_SetIntOption) setsockopt() failed fd=3 level=1 name=15 value=1 : Protocol not available
2023-11-29T10:01:22Z D:socket.c:581:(open_ip_socket) Opened UDPv4 socket fd=3 local=127.0.0.1:323
2023-11-29T10:01:22Z D:util.c:1419:(UTI_OpenFile) Opened /dev/urandom fd=4 mode=R
2023-11-29T10:01:22Z W:main.c:656:(main) Running with root privileges
2023-11-29T10:01:22Z I:reference.c:240:(REF_Initialise) Initial frequency -0.952 ppm
2023-11-29T10:01:22Z D:clientlog.c:406:(CLG_Initialise) Max records 4096
2023-11-29T10:01:22Z D:socket.c:673:(open_unix_socket) Opened Unix socket fd=5 local=/var/run/chrony/chronyd.sock
2023-11-29T10:01:22Z D:ntp_sources.c:349:(log_source) Added source ID#0000000001 (time.cloudflare.com)
2023-11-29T10:01:22Z D:ntp_sources.c:693:(resolve_sources) resolving time.cloudflare.com
2023-11-29T10:01:22Z D:ntp_sources.c:614:(name_resolve_handler) time.cloudflare.com resolved to 2 addrs
2023-11-29T10:01:22Z D:ntp_sources.c:553:(process_resolved_name) (1) 162.159.200.123
2023-11-29T10:01:22Z D:socket.c:581:(open_ip_socket) Opened UDPv4 socket fd=6 remote=162.159.200.123:123 local=0.0.0.0:0
2023-11-29T10:01:22Z D:socket.c:1511:(SCK_SetIntOption) setsockopt() failed fd=6 level=1 name=45 value=1 : Protocol not available
2023-11-29T10:01:22Z D:ntp_sources.c:478:(change_source_address) Source ID#0000000001 replaced with 162.159.200.123 (time.cloudflare.com)
2023-11-29T10:01:22Z D:ntp_core.c:1402:(transmit_timeout) Transmit timeout for 162.159.200.123:123
2023-11-29T10:01:22Z D:socket.c:581:(open_ip_socket) Opened UDPv4 socket fd=6 remote=162.159.200.123:123 local=0.0.0.0:0
2023-11-29T10:01:22Z D:socket..c:794:(log_message) Sent message fd=6 len=48
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented
2023-11-29T10:01:22Z D:socket.c:733:(handle_recv_error) Could not receive message fd=6 : Function not implemented

This just continues forever

So I'm not quite sure what the issue could be, a couple of calls to setsockopt return "Protocol not available"

I did notice inside
ntp_io_linux.c:467:
SCK_SetIntOption(sock_fd, SOL_SOCKET, SO_SELECT_ERR_QUEUE, val)

SO_SELECT_ERR_QUEUE is not available in my Linux kernel, according to linux manpages this became available in 3.10. When compiling I specified :

./configure --sysconfdir="/etc" --host-system=Linux --host-release=2.6.31.4.26007 --host-machine=armv5tejl --enable-debug --disable-ipv6 --disable-asyncdns --without-nss

Any ideas? Is my Kernel too old to run chrony? What protocol is not available? Busybox ntpd seems to work, and I made sure it wasn't running prior to this.


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/