realtek/rtl838x: regression in f909059b74 caused by procd segfault in libubox

Petr Štetiar ynezz at true.cz
Sat Dec 2 00:44:28 PST 2023


Hi,

daily runtime testing of snapshots on Zyxel GS-1900 just reported following
regression[1] this morning:

 [   14.307030] random: procd: uninitialized urandom read (4 bytes read)
 ...
 Press the [f] key and hit [enter] to enter failsafe mode
 Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
 ...
 [   16.746253] do_page_fault(): sending SIGSEGV to procd for invalid write access to 00000008
 [   16.755678] epc = 77dfb3f7 in libubox.so.20231130[77df2000+1f000]
 [   16.762584] ra  = 555c3531 in procd[555c0000+12000]
 [   16.768737] procd: Rebooting as procd has crashed

as it was booting fine on 65c50a2545 based snapshot yesterday, we've quite
narrow space:

 $ git log --pretty="%h %s" 65c50a2545..f909059b74
 f909059b7473 hostapd: use new udebug ubus api to make debug rings configurable
 fdb92d2d6f2e ucode: update to Git HEAD (2023-11-30)
 fc5267f7309f udebug: add more entries for the default config
 38eeefd060f7 procd: update to Git HEAD (2023-11-28)
 4cb0677600c7 ubox: update to Git HEAD (2023-11-30)

I suspect this might be caused by commit 38eeefd060f7 ("procd: update to Git
HEAD (2023-11-28)"), with following changes:

 $ git log --pretty="%h %s" 2db836553e8..7e6c6efd6f
 7e6c6efd6fbc udebug: add support for logging via udebug
 d852f877920b service: Fix retriggering of init.d-scripts.

so just wild guessing, that commit 7e6c6efd6fbc ("udebug: add support for
logging via udebug") might be the culprit?

Comparing the output of both console logs, it seems, that "procd: - early -"
is not present, so maybe something around the new `procd_udebug_printf()`?

1. https://ynezz.gitlab.io/-/openwrt-device-runtime-testing/-/jobs/5666500332/artifacts/console_zyxel-gs1900-initramfs.txt


Cheers,

Petr



More information about the openwrt-devel mailing list