dhcpcd core dumps on FreeBSD 15-RELEASE
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 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 :(
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 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.
@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 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.