Bugzilla – Bug 102460
pppd segfaults on start
Last modified: 2007-06-05 12:41:36 UTC
strolchi:~ # pppd Segmentation fault strolchi:~ # pppd --help Segmentation fault strolchi:~ # mv /etc/ppp/filters /etc/ppp/filters.orig; touch /etc/ppp/filters strolchi:~ # pppd --help pppd version 2.4.3 Usage: pppd [ options ], where options are: <device> Communicate over the named device <speed> Set the baud rate to <speed> <loc>:<rem> Set the local and/or remote interface IP addresses. Either one may be omitted. asyncmap <n> Set the desired async map to hex <n> auth Require authentication from peer connect <p> Invoke shell command <p> to set up the serial line crtscts Use hardware RTS/CTS flow control defaultroute Add default route through interface file <f> Take options from file <f> modem Use modem control lines mru <n> Set MRU value to <n> for negotiation See pppd(8) for more options. strolchi:~ #
Marian updated libpcap to 0.9.3 and as usually new libpcap breaks API. Since I know this code meanwhile very good I will debug/fix this tomorrow, I think not working internet is a real blocker for Beta1.
Thanks - rudi, if this is fixed, it should go in.
The problem is gcc, it miscompile a function in libcap (and it look like that it is not a very special thing, the function search for the end of a list chain and save and other item on the end, the final store take not place). Beside this libpcap 0.9.3 is incompatible to current pppd, fix is easy, but make no sense without a solution for the gcc problem. compiling libpcap with -fno-strict-aliasing is a workaround, but I have bad feelings with this error in BETA1, it maybe cause problems in other programs too. So please decide how to proceed.
Please submit a libpcap with -fno-strict-aliasing and a fixed pppd, we need the new pppd anyway.
BTW: the same is true for ipppd removing the active-filter 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0' line 'fixes' it.
Yes I know. libpcap with the woraround is already checked in and available from STABLE. ppp is fixed now and submitted to done/STABLE i4l-base will follow after few more tests. For pppd I tested the filter operations, seems to work with new libpcap I can made connections to my own PPPOE server and keep it/timeout it depending on the traffic, also DOD work. test package (you need libpcap from STABLE) are in mbuild kalman-kkeil-103 (ppp) and kalman-kkeil-106 (i4l-base).
i4l-base is now also in done/STABLE and also work so far, it need udev from STABLE, so it's OK for BETA1. We should take care that the workaround for libpcap is removed after the fixed GCC is checked in.
Did test libpcap + pppd with the fixed compiler from STABLE, all seems to be working without the -fno-strict-aliasing workaround, so the compiler is really fixed for this case.