Odhcpd crashing?

Hullo

I am trying to set up Tore Anderson's instructions for hnet on Chaos Calmer(https://bit.ly/369CyIK), on 19.07.4, r11208-ce6496d796.

It seems to be working, but after a few wifi disconnects/reconnects, odhcpd seems to crash (netstat shows that it's receive queue on port 67 has grown, ubus call dhcp ipv4leases hangs, top shows 50% of cpu associated with /usr/sbin/odhcpd)

The installed package version of odhcpd is 2020-05-03-49e4949c-3.

Any suggestions / approaches to working out what's going wrong ?

Is that a typo or are you using odhcpd for ipv4 dhcp server?

1 Like

I thought that I was using it for both - that's how it works on Chaos Calmer with hnetd (just checked on " DESIGNATED DRIVER (Bleeding Edge, 11908)". Has something changed?

By default dnsmasq is dhcpv4 and odhcpd for dhcpv6.
For sure dnsmasq has been the dhcp server for many years, way before Chaos Calmer.

1 Like

Dunno. Originally, I used homenent/hnetd to sort out automatic routing coordination for ipv6, but the ipv4 stuff was incorporated into its scope. I believe that dnsmasq is still used for dns, as well as other components, but odhcpd for dhcpv4/6. The other main component is babeld for distributing routeing information among routers.

odhcpd is pretty unresponsive for v6, too, and ports 547 also have large request queues.

We can verify that:

opkg list-installed | grep odhcp
netstat -lnp
1 Like

on 19.07.4:

odhcp6c - 2019-01-11-e199804b-16
odhcpd - 2020-05-03-49e4949c-3

after crash:

 netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1938/uhttpd
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      4139/dnsmasq
tcp        0      0 192.168.1.1:53          0.0.0.0:*               LISTEN      4139/dnsmasq
tcp        0      0 127.0.0.2:54            0.0.0.0:*               LISTEN      30763/ohybridproxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1764/dropbear
tcp        0      0 127.0.0.2:55            0.0.0.0:*               LISTEN      4084/zonestitcher
tcp        0      0 :::80                   :::*                    LISTEN      1938/uhttpd
tcp        0      0 ::1:53                  :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb6:84a8:53 :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb6:84a8:53 :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fe80::6038:e0ff:feb6:84a8:53 :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fd29:2:6c71:73::67:53   :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb6:84a8:53 :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fd29:2:6c71:60::1f:53   :::*                    LISTEN      4139/dnsmasq
tcp        0      0 fe80::6238:e0ff:feb6:84a9:53 :::*                    LISTEN      4139/dnsmasq
tcp        0      0 :::22                   :::*                    LISTEN      1764/dropbear
udp        0      0 0.0.0.0:5351            0.0.0.0:*                           4008/minimalist-pcp
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1963/mdnsd
udp        0      0 0.0.0.0:1024            0.0.0.0:*                           4008/minimalist-pcp
udp        0      0 0.0.0.0:8231            0.0.0.0:*                           4008/minimalist-pcp
udp        0      0 127.0.0.1:53            0.0.0.0:*                           4139/dnsmasq
udp        0      0 192.168.1.1:53          0.0.0.0:*                           4139/dnsmasq
udp        0      0 127.0.0.2:54            0.0.0.0:*                           30763/ohybridproxy
udp        0      0 127.0.0.2:55            0.0.0.0:*                           4084/zonestitcher
udp   167232      0 0.0.0.0:67              0.0.0.0:*                           28680/odhcpd
udp   164672      0 0.0.0.0:67              0.0.0.0:*                           28680/odhcpd
udp        0      0 0.0.0.0:49779           0.0.0.0:*                           1963/mdnsd
udp        0      0 :::47275                :::*                                1963/mdnsd
udp        0      0 :::5351                 :::*                                4008/minimalist-pcp
udp        0      0 :::5353                 :::*                                1963/mdnsd
udp        0      0 :::1024                 :::*                                4008/minimalist-pcp
udp        0      0 :::546                  :::*                                3526/odhcp6c
udp        0      0 :::546                  :::*                                3097/odhcp6c
udp   146624      0 :::547                  :::*                                28680/odhcpd
udp        0      0 :::547                  :::*                                28680/odhcpd
udp   164032      0 :::547                  :::*                                28680/odhcpd
udp        0      0 :::8231                 :::*                                4008/minimalist-pcp
udp        0      0 :::6696                 :::*                                30100/babeld
udp        0      0 ::1:53                  :::*                                4139/dnsmasq
udp        0      0 fe80::6238:e0ff:feb6:84a8:53 :::*                                4139/dnsmasq
udp        0      0 fe80::6038:e0ff:feb6:84a8:53 :::*                                4139/dnsmasq
udp        0      0 fe80::6038:e0ff:feb6:84a8:53 :::*                                4139/dnsmasq
udp        0      0 fd29:2:6c71:73::67:53   :::*                                4139/dnsmasq
udp        0      0 fe80::6238:e0ff:feb6:84a8:53 :::*                                4139/dnsmasq
udp        0      0 fd29:2:6c71:60::1f:53   :::*                                4139/dnsmasq
udp        0      0 fe80::6238:e0ff:feb6:84a9:53 :::*                                4139/dnsmasq
raw   167232      0 ::%164:58               ::%1:*                  58          28680/odhcpd
raw   164160      0 ::%165:58               ::%2:*                  58          28680/odhcpd
raw     4032      0 ::%162:58               ::%3:*                  58          28680/odhcpd
raw        0      0 ::%158:58               ::%4:*                  58          3526/odhcp6c
raw        0      0 ::%158:58               ::%5:*                  58          3097/odhcp6c
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     10386250 4481/dropbear       /tmp/dropbear-145ce52c/auth-c955da93-7
unix  2      [ ACC ]     STREAM     LISTENING     10156635 29740/hnetd         /var/run/hnetd_pd
unix  2      [ ACC ]     STREAM     LISTENING       3474 1963/mdnsd          /var/run/mdnsd
unix  2      [ ACC ]     STREAM     LISTENING        479 939/ubusd           /var/run/ubus.sock

on chaos calmer:

odhcp6c - 2016-02-08-7533a6243dc3ac5a747cf6ccbc4d0539dafd3e07
odhcpd - 2016-10-09-801cfeea100ca7b211c9841f0fcb757b17f47860

(and yes, I do have concerns about how zonestitcher has so many large recv queues)

 netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      6613/dnsmasq
tcp        0      0 127.0.0.2:54            0.0.0.0:*               LISTEN      2442/ohybridproxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1145/dropbear
tcp        0      0 127.0.0.2:55            0.0.0.0:*               LISTEN      6584/zonestitcher
tcp        0      0 :::53                   :::*                    LISTEN      6613/dnsmasq
tcp        0      0 :::22                   :::*                    LISTEN      1145/dropbear
udp        0      0 0.0.0.0:1024            0.0.0.0:*                           16834/minimalist-pc
udp        0      0 0.0.0.0:8231            0.0.0.0:*                           1662/hnetd
udp        0    704 0.0.0.0:53              0.0.0.0:*                           6613/dnsmasq
udp        0      0 127.0.0.2:54            0.0.0.0:*                           2442/ohybridproxy
udp        0      0 127.0.0.2:55            0.0.0.0:*                           6584/zonestitcher
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1094/odhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1094/odhcpd
udp        0      0 0.0.0.0:41356           0.0.0.0:*                           1167/mdnsd
udp        0      0 0.0.0.0:5351            0.0.0.0:*                           16834/minimalist-pc
udp        0      0 127.0.0.1:5351          0.0.0.0:*                           1506/miniupnpd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1167/mdnsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1167/mdnsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1167/mdnsd
udp      704      0 ::1:44544               :::*                                6584/zonestitcher
udp        0      0 :::1024                 :::*                                16834/minimalist-pc
udp        0      0 :::46594                :::*                                1167/mdnsd
udp      704      0 ::1:50180               :::*                                6584/zonestitcher
udp     1408      0 ::1:49413               :::*                                6584/zonestitcher
udp      704      0 ::1:33542               :::*                                6584/zonestitcher
udp        0      0 ::1:49416               :::*                                6584/zonestitcher
udp      704      0 ::1:51723               :::*                                6584/zonestitcher
udp      704      0 ::1:54805               :::*                                6584/zonestitcher
udp      704      0 ::1:36634               :::*                                6584/zonestitcher
udp        0      0 :::546                  :::*                                1968/odhcp6c
udp        0      0 :::546                  :::*                                1993/odhcp6c
udp        0      0 :::546                  :::*                                1981/odhcp6c
udp        0      0 :::547                  :::*                                1094/odhcpd
udp        0      0 :::547                  :::*                                1094/odhcpd
udp      704      0 ::1:56102               :::*                                6584/zonestitcher
udp      704      0 ::1:58918               :::*                                6584/zonestitcher
udp     1408      0 ::1:56358               :::*                                6584/zonestitcher
udp        0      0 :::8231                 :::*                                1662/hnetd
udp        0      0 :::6696                 :::*                                2318/babeld
udp     1408      0 ::1:35370               :::*                                6584/zonestitcher
udp      704      0 ::1:59435               :::*                                6584/zonestitcher
udp     1408      0 ::1:44847               :::*                                6584/zonestitcher
udp        0      0 :::53                   :::*                                6613/dnsmasq
udp     1408      0 ::1:36667               :::*                                6584/zonestitcher
udp      704      0 ::1:46654               :::*                                6584/zonestitcher
udp     1408      0 ::1:40000               :::*                                6584/zonestitcher
udp     1408      0 ::1:34370               :::*                                6584/zonestitcher
udp     1408      0 ::1:56388               :::*                                6584/zonestitcher
udp     1408      0 ::1:38212               :::*                                6584/zonestitcher
udp      704      0 ::1:43081               :::*                                6584/zonestitcher
udp      704      0 ::1:34125               :::*                                6584/zonestitcher
udp      704      0 ::1:58189               :::*                                6584/zonestitcher
udp      704      0 ::1:36430               :::*                                6584/zonestitcher
udp      704      0 ::1:34127               :::*                                6584/zonestitcher
udp      704      0 ::1:39760               :::*                                6584/zonestitcher
udp      704      0 ::1:48723               :::*                                6584/zonestitcher
udp      704      0 ::1:36948               :::*                                6584/zonestitcher
udp      704      0 ::1:35158               :::*                                6584/zonestitcher
udp        0      0 ::1:60250               :::*                                6584/zonestitcher
udp      704      0 ::1:38747               :::*                                6584/zonestitcher
udp      704      0 ::1:56158               :::*                                6584/zonestitcher
udp        0      0 ::1:34143               :::*                                6584/zonestitcher
udp      704      0 ::1:47715               :::*                                6584/zonestitcher
udp        0      0 ::1:57446               :::*                                6584/zonestitcher
udp     1408      0 ::1:46451               :::*                                6584/zonestitcher
udp      704      0 ::1:33908               :::*                                6584/zonestitcher
udp      704      0 ::1:46464               :::*                                6584/zonestitcher
udp     1408      0 ::1:57474               :::*                                6584/zonestitcher
udp      704      0 ::1:49794               :::*                                6584/zonestitcher
udp      704      0 ::1:46727               :::*                                6584/zonestitcher
udp      704      0 ::1:40072               :::*                                6584/zonestitcher
udp      704      0 ::1:43919               :::*                                6584/zonestitcher
udp      704      0 ::1:40594               :::*                                6584/zonestitcher
udp     1408      0 ::1:59283               :::*                                6584/zonestitcher
udp      704      0 ::1:42901               :::*                                6584/zonestitcher
udp      704      0 ::1:52117               :::*                                6584/zonestitcher
udp     1408      0 ::1:52644               :::*                                6584/zonestitcher
udp      704      0 ::1:52645               :::*                                6584/zonestitcher
udp     1408      0 ::1:34728               :::*                                6584/zonestitcher
udp      704      0 ::1:54444               :::*                                6584/zonestitcher
udp      704      0 ::1:53676               :::*                                6584/zonestitcher
udp     1408      0 ::1:53165               :::*                                6584/zonestitcher
udp      704      0 ::1:51374               :::*                                6584/zonestitcher
udp      704      0 ::1:59058               :::*                                6584/zonestitcher
udp      704      0 ::1:34994               :::*                                6584/zonestitcher
udp      704      0 ::1:54451               :::*                                6584/zonestitcher
udp     1408      0 ::1:54963               :::*                                6584/zonestitcher
udp      704      0 ::1:51639               :::*                                6584/zonestitcher
udp      704      0 ::1:36024               :::*                                6584/zonestitcher
udp      704      0 ::1:35003               :::*                                6584/zonestitcher
udp     1408      0 ::1:40636               :::*                                6584/zonestitcher
udp     1408      0 ::1:53695               :::*                                6584/zonestitcher
udp     1408      0 ::1:58560               :::*                                6584/zonestitcher
udp     1408      0 ::1:60866               :::*                                6584/zonestitcher
udp      704      0 ::1:47299               :::*                                6584/zonestitcher
udp      704      0 ::1:53444               :::*                                6584/zonestitcher
udp     1408      0 ::1:59080               :::*                                6584/zonestitcher
udp      704      0 ::1:48332               :::*                                6584/zonestitcher
udp      704      0 ::1:40140               :::*                                6584/zonestitcher
udp     1408      0 ::1:51405               :::*                                6584/zonestitcher
udp      704      0 ::1:51152               :::*                                6584/zonestitcher
udp      704      0 ::1:34514               :::*                                6584/zonestitcher
udp      704      0 ::1:55762               :::*                                6584/zonestitcher
udp      704      0 ::1:51673               :::*                                6584/zonestitcher
udp      704      0 ::1:48857               :::*                                6584/zonestitcher
udp     1408      0 ::1:51934               :::*                                6584/zonestitcher
udp     1408      0 ::1:58849               :::*                                6584/zonestitcher
udp        0      0 :::5351                 :::*                                16834/minimalist-pc
udp        0      0 ::1:5351                :::*                                1506/miniupnpd
udp      704      0 ::1:40680               :::*                                6584/zonestitcher
udp        0      0 :::5353                 :::*                                1167/mdnsd
udp        0      0 :::5353                 :::*                                1167/mdnsd
udp        0      0 :::5353                 :::*                                1167/mdnsd
udp      704      0 ::1:56815               :::*                                6584/zonestitcher
udp     1408      0 ::1:33266               :::*                                6584/zonestitcher
udp      704      0 ::1:36859               :::*                                6584/zonestitcher
udp        0      0 ::1:44284               :::*                                6584/zonestitcher
raw        0      0 ::%20102288:58          ::%117028:*             58          1968/odhcp6c
raw        0      0 ::%20102288:58          ::%117028:*             58          1993/odhcp6c
raw        0      0 ::%20102288:58          ::%117028:*             58          1981/odhcp6c
raw        0      0 ::%20102288:58          ::%117028:*             58          1094/odhcpd
raw        0      0 ::%20102288:58          ::%117028:*             58          1094/odhcpd
Active UNIX domain sockets (only servers)

When you paste console output consider using preformatted text (the </> button) for easier reading.
You have changed the default program for dhcpv4. By default OpenWrt comes with odhcpd-ipv6only and dnsmasq covers v4.
Did you make these changes on an official image or did you download it from some other source?

Sorry about the mess - unused to this markdown.

hnet-full clashes with odhcpd-ipv6only - and I should have mentioned that in my original post - so I removed odhcpd-ipv6only and then installed hnet-full. I found no reference to this clash, and one of the unexpected wins for me with hnet was that the group the built it were able to incorporate ipv4 in the same route distribution functions.

The installed image was: openwrt-19.07.4-mvebu-cortexa9-linksys_wrt3200acm-squashfs-sysupgrade.bin

1 Like

Does this mean that the 2016 package for hnet-full is not compatible with 19.07.4?

Has HNCP dropped off the radar - I can see the the IETF Homenet group is (has?) winding down, but I don't see any other work that addresses the challenges of deskilling fixing the issues that this working group set out to address (ie deskilling the process fo installing multiple routers in a SOHO environment that arise when you've got multiple routes to the internet and different network segments with very different operating qualities (eg IoT devices vs gaming vs video streaming), making bridging a challenge?

I am not using hnet some I can only guess here. The fact that hnet package was last updated in 2016 is not good news and maybe that would be a reason for the incompatibility with odhcpd ipv6only.
I can see just a few patches a couple of years ago. This doesn't look promising. Maybe your best bet is to open a trouble ticket, in case no one else has a clue.

1 Like

Good shout. I can see potential design clashes and it would be worthwhile at least flushing anything out.