[Dnsmasq-discuss] versions 2.26 and 2.27 crash on uClib LEAF running on WRAP box

Simon Kelley simon at thekelleys.org.uk
Sat Apr 1 17:32:22 BST 2006


eehouse wrote:
> Hello,
> 
> I'm using dnsmasq as part of the LEAF (uClib) firewall application on
> sourceforge.  The project recently moved to using version 2.26 of
> dnsmasq, and that version is not working for me, where 2.24 works fine
> with an identical dsnmasq.conf file and on an otherwise identical LEAF
> system.  After I tried version 2.27 with the same results, the LEAF
> folks suggested I forward details to this group.
> 
> I rebooted my router (a WRAP board from PC Engines) at 10:43 pm last
> night, at which time dnsmasq started.  This morning dns was down, and
> I looked on the router.
> 
>  [chloris 07:12:50]~\: ls -l /var/run/dnsmasq.pid 
> -rw-r--r--    1 root     root            6 Mar 31 22:43 /var/run/dnsmasq.pid
> 
> dnsmasq is no longer running, and I don't see anything in the logs to
> indicate why it died:
> 
>  [chloris 07:26:49]/var/log\: ps -ef | grep dns
> 13082 root        300 R   grep dns 
>  [chloris 07:26:58]/var/log\: 
> 
> (After restarting it, I see this:
>  [chloris 07:41:37]/var/log\: ps -ef | grep dns
> 13280 nobody      364 S   /usr/sbin/dnsmasq 
> )
> 
> One of my hosts renewed its lease successfully at 10:47 pm last night:
> Mar 31 22:47:38 bimmer dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
> Mar 31 22:47:38 bimmer dhclient: DHCPACK from 10.21.21.254
> 
> It tried again, and failed, at 11:17 pm
> Mar 31 23:17:38 bimmer dhclient: DHCPREQUEST on eth0 to 10.21.21.254 port 67
> Mar 31 23:18:24 bimmer last message repeated 3 times
> 
> The 22:47:38 DHCPACK above is the last in the logs.  There are more DHCPREQUESTs and then
> Mar 31 23:48:36 bimmer dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4
> Mar 31 23:48:40 bimmer dhclient: No DHCPOFFERS received.
> 
> (My daughter reports that the internet "stopped working" at about
> 11:20.  She was using bimmer.)
> 
> Another of my hosts renewed its lease successfully at 10:51.  But when it
> tried again at 11:21 it failed.
> 
> 
> Here is the entire /var/log/daemon.log on the router, "chloris", up
> until the last entry from dnsmasq:
> 
> Mar 31 22:43:54 chloris init: Entering runlevel: 2
> Mar 31 22:43:54 chloris dnsmasq[11656]: started, version 2.27 cachesize 150
> Mar 31 22:43:54 chloris dnsmasq[11656]: compile time options: IPv6 GNU-getopt RT
> Mar 31 22:43:54 chloris dnsmasq[11656]: DHCP, IP range 10.21.22.200 -- 10.21.22.
> Mar 31 22:43:54 chloris dnsmasq[11656]: DHCP, IP range 10.21.21.200 -- 10.21.21.
> Mar 31 22:43:54 chloris dnsmasq[11656]: read /etc/hosts - 12 addresses
> Mar 31 22:43:54 chloris dnsmasq[11656]: reading /etc/resolv.conf
> Mar 31 22:43:54 chloris dnsmasq[11656]: using nameserver 206.13.28.12#53
> Mar 31 22:43:54 chloris dnsmasq[11656]: using nameserver 63.203.35.55#53
> Mar 31 22:43:54 chloris inetd[26099]: Online and ready (0 sockets)
> Mar 31 22:45:29 chloris ntpdate[21239]: step time server 198.144.202.250 offset
> Mar 31 22:45:29 chloris mini_httpd[19604]: socket :: - Address family not suppor
> Mar 31 22:45:29 chloris mini_httpd[20823]: started as root without requesting ch
> Mar 31 22:45:29 chloris mini_httpd[20823]: mini_httpd/1.19 19dec2003 starting on
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPREQUEST(eth1) 10.21.21.3 00:09:6b:76
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPNAK(eth1) 10.21.21.3 00:09:6b:76:06:
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPDISCOVER(eth1) 00:09:6b:76:06:d4
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPOFFER(eth1) 10.21.21.3 00:09:6b:76:0
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPREQUEST(eth1) 10.21.21.3 00:09:6b:76
> Mar 31 22:47:44 chloris dnsmasq[11656]: DHCPACK(eth1) 10.21.21.3 00:09:6b:76:06:
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPREQUEST(eth1) 10.21.21.5 00:12:3f:17
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPNAK(eth1) 10.21.21.5 00:12:3f:17:cb:
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPDISCOVER(eth1) 00:12:3f:17:cb:a7
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPOFFER(eth1) 10.21.21.5 00:12:3f:17:c
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPREQUEST(eth1) 10.21.21.5 00:12:3f:17
> Mar 31 22:51:34 chloris dnsmasq[11656]: DHCPACK(eth1) 10.21.21.5 00:12:3f:17:cb:
> Mar 31 23:01:24 chloris ntpdate[5379]: adjust time server 80.28.46.78 offset 0.0
> Mar 31 23:06:20 chloris dnsmasq[11656]: DHCPREQUEST(eth2) 10.21.22.100 00:14:bf:
> Mar 31 23:06:20 chloris dnsmasq[11656]: DHCPNAK(eth2) 10.21.22.100 00:14:bf:78:2
> Mar 31 23:06:30 chloris dnsmasq[11656]: DHCPDISCOVER(eth2) 00:14:bf:78:24:0d
> Mar 31 23:06:30 chloris dnsmasq[11656]: DHCPOFFER(eth2) 10.21.22.100 00:14:bf:78
> Mar 31 23:06:30 chloris dnsmasq[11656]: DHCPREQUEST(eth2) 10.21.22.100 00:14:bf:
> Mar 31 23:06:30 chloris dnsmasq[11656]: DHCPACK(eth2) 10.21.22.100 00:14:bf:78:2
> Mar 31 23:17:44 chloris dnsmasq[11656]: DHCPREQUEST(eth1) 10.21.21.3 00:09:6b:76
> Mar 31 23:17:44 chloris dnsmasq[11656]: DHCPACK(eth1) 10.21.21.3 00:09:6b:76:06:
> 

Is there any way you can get the complete log lines, without the
truncation?  It's very strange that dnsmasq seems to be NAKing and
address which it then goes on to offer to the very same host immediately
afterwards. I'd like to see why it thinks that is necessary, which will
in the truncated part of the log lines.
> 
> Chloris has plenty of memory.  That's not why dnsmasq died.
>  [chloris 07:26:58]/var/log\: free
>               total         used         free       shared      buffers
>   Mem:       127724        10784       116940            0           44
>  Swap:            0            0            0
> Total:       127724        10784       116940
> 
> There's also plenty of ram "disk" space:
>  [chloris 07:42:02]/var/log\: df
> Filesystem           1k-blocks      Used Available Use% Mounted on
> /dev/root                10240      5820      4420  57% /
> tmpfs                    10240        28     10212   0% /tmp
> tmpfs                    10240        80     10160   1% /var/log
> 
> 
> That's all the information I can think to give you now.  Please let me
> know if there's anything else.  I'll have to restart dnsmasq in order
> to send this mail, but it dies pretty reliably several times per day.
> I'm available for the next four days, but after Tuesday will be
> traveling and so must re-install the older dsnmasq since I'm the only one
> here who can restart it on the router.

Please compile dnsmasq with "make CFLAGS=-g" and then run it in the
foreground with as "dnsmasq -d", in a shell which allows coredumps
(ulimit -c unlimited) when it crashes, send me the core file and the
binary. Those should make life pretty simple.


Cheers,

Simon.


> 
> Thanks,
> 
> --Eric House




More information about the Dnsmasq-discuss mailing list