dhcpcd icon indicating copy to clipboard operation
dhcpcd copied to clipboard

dhcpcd core dumps on FreeBSD 15-RELEASE

Open athanp opened this issue 1 month ago • 6 comments

Dhcpcd (even with the latest #555 patch) not works on FreeBSD 15-RELEASE. It fails with the following errors. The most worrying thing is that older versions (10.2.4) do not work either on 15R.

dhcpcd[1414]: main: control_open: Connection refused
dhcpcd[1417]: read_config: /usr/local/etc/dhcpcd.conf: Invalid argument
dhcpcd[1417]: SIOCSRTRFLUSH_IN6 22: Invalid argument
dhcpcd[1417]: SIOCSPFXFLUSH_IN6: Invalid argument

My production configuration that worked flawlessly for years

quiet
ipv6only
noipv6rs
release
background
vendorclassid
slaac private

clientid
allowinterfaces ng0
nohook test,hostname,resolv.conf,ntp.conf

option interface_mtu
option classless_static_routes
require dhcp_server_identifier

interface ng0
  ipv6rs
  ia_pd 1/::/56 bridge0/0/64

P.S. I'm seriously considering whether it's time to build dhcpcd binary with --disable-privsep, as it seems to cause more problems than it solves, at least on FreeBSD...

athanp avatar Nov 29 '25 09:11 athanp

@athanp I've pushed a new change to the branch which adds some diagnosis for when this goes wrong.

And I still can't replicate it on a FreeBSD-15 vm :(

rsmarples avatar Nov 30 '25 09:11 rsmarples

And I still can't replicate it on a FreeBSD-15 vm :(

@rsmarples I believe it's due to different setups. I use mpd5 as a pppoe client that creates the Netgraph interface ng0 on which dhcpcd runs. In seven similar setups that I use in production, dhcpcd exhibits exactly the same issue. Even 10.2.4 that used to work flawlessly with FreeBSD 14.3 and earlier, exhibits now similar malfunctions on 15-Release under the same operating conditions. Perhaps something has changed in R15.

As I mentioned, I had to build dhcpcd with --disable-privsep in order to continue uninterrupted operation with R15. This way everything works smoothly as always, and I'm seriously considering continuing to run it like this on production, at least until the issue is permanently fixed.

P.S. I will test your changes and keep you informed of the findings.

athanp avatar Nov 30 '25 14:11 athanp

@athanp I've pushed another change to the branch, could you test it please?

I understand you have to disable privsep for production right now, but privsep (or more specifically capsicum) was a requirement for dhcpcd to be included in FreeBSD-base .... but that seems to have stalled again.

rsmarples avatar Dec 03 '25 09:12 rsmarples

@athanp What about the patch proposed here?

perkelix avatar Dec 03 '25 10:12 perkelix

@athanp What about the patch proposed here?

This issue exists even with that patch applied, even with previous dhcpcd versions e.g 10.2.x I had to compile it with --disable-privsep to be able to continue using it.

athanp avatar Dec 04 '25 13:12 athanp

@athanp if you have the time and want to help provide some test debug, could you compile with CPPFLAGS+=-DPRIVSEP_DEBUG and post some logs. It will be very very verbose. You could also email them to me at [email protected] if you prefer not to post here.

rsmarples avatar Dec 04 '25 14:12 rsmarples