PPPoE crash: Fatal signal 4

Rosen Penev rosenp at gmail.com
Fri Jan 16 23:13:59 PST 2026


On Fri, Jan 16, 2026 at 1:38 AM Filippo Carletti
<filippo.carletti at gmail.com> wrote:
>
> Repost from: https://forum.openwrt.org/t/pppoe-crash-fatal-signal-4/245299
>
> I’m looking for advice from a developer.
>
> Issue: I can’t connect to the ISP using PPPoE, because pppd crashes. See logs:
>
> Thu Jan 15 18:21:30 2026 daemon.notice netifd: Interface 'eolo' is
> setting up now
> Thu Jan 15 18:21:30 2026 daemon.info pppd[11758]: Plugin pppoe.so loaded.
> Thu Jan 15 18:21:30 2026 daemon.info pppd[11758]: PPPoE plugin from pppd 2.5.2
> Thu Jan 15 18:21:30 2026 daemon.notice pppd[11758]: pppd 2.5.2 started
> by root, uid 0
> Thu Jan 15 18:21:30 2026 daemon.info pppd[11758]: PPP session is 56000
> Thu Jan 15 18:21:30 2026 daemon.warn pppd[11758]: Connected to
> 52:54:00:93:DC:01 via interface eth2
> Thu Jan 15 18:21:30 2026 daemon.info pppd[11758]: Using interface pppoe-eolo
> Thu Jan 15 18:21:30 2026 daemon.notice pppd[11758]: Connect:
> pppoe-eolo <--> eth2
> Thu Jan 15 18:21:30 2026 daemon.info ModemManager[11766]: hotplug: add
> network interface pppoe-eolo: event processed
> Thu Jan 15 18:21:31 2026 daemon.err pppd[11758]: Fatal signal 4
> Thu Jan 15 18:21:31 2026 daemon.info ModemManager[11793]: hotplug:
> remove network interface pppoe-eolo: event processed
> Thu Jan 15 18:21:31 2026 daemon.info pppd[11758]: Exit.
>
> OPENWRT_RELEASE="OpenWrt 25.12.0-rc2 r32429-d76c64ad00" (pppd version
> 2.5.2), but I tested also 24.10 (2.5.1). OPENWRT_ARCH="x86_64"
>
> Compiling pppd with debug symbols and using gbd, I think I’ve
> identified the problem with the long list of LCP options:
>
> Program received signal SIGILL, Illegal instruction.
> memcpy (__n=<optimized out>, __os=<optimized out>, __od=<optimized
> out>, __od=<optimized out>, __os=<optimized out>, __n=<optimized out>)
>     at ../../../../../../staging_dir/toolchain-x86_64_gcc-13.3.0_musl/include/fortify/string.h:50
> warning: 50 ../../../../../../staging_dir/toolchain-x86_64_gcc-13.3.0_musl/include/fortify/string.h:
> No such file or directory
> (gdb) bt
> #0  memcpy (__n=<optimized out>, __os=<optimized out>, __od=<optimized
> out>, __od=<optimized out>, __os=<optimized out>, __n=<optimized out>)
>     at ../../../../../../staging_dir/toolchain-x86_64_gcc-13.3.0_musl/include/fortify/string.h:50
> #1  lcp_reqci (f=<optimized out>, inp=0x5555555b1368 <inpacket_buf+8>
> "\001\004\005\324\002\006", lenp=0x7fffffffe89c, reject_if_disagree=0)
>     at /home/build/openwrt/build_dir/target-x86_64_musl/linux-x86_64/ppp-default/ppp-2.5.1/pppd/lcp.c:1804
>
> I disabled FORTIFY_SOURCE and pppd connected.
>
> I captured a pcap of both a successful and failed connection: patched
> pppd refused the first LCP options packet and the ISP proceeded with a
> different list, reaching the connected state. Connection remains
> stable.
>
> Given that disabling FORTIFY_SOURCE is not an option, how can we fix the issue?
Does this help?
https://github.com/ppp-project/ppp/commit/7060ac7c505e685bebca05eb14fa1d9550364051
>
> Note: Using scapy and the pcap I can reproduce the crash on a couple
> of virtual machines.
>
> --
> Filippo
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list