troglobit / finit

Fast init for Linux. Cookies included
https://troglobit.com/projects/finit/
MIT License
622 stars 61 forks source link

[BUG] Latest finit commit causes initctl to time out #307

Closed hongkongkiwi closed 1 year ago

hongkongkiwi commented 1 year ago

I just compiled the latest finit and I'm having these issues:

~ # initctl status
initctl: Timed out waiting for reply from Finit.

This version works fine: 10437887fcd5eecef8f10bd59320b51d5093dbfa Next commit breaks things: 37e3be9a0dfef0ca82805c92b8ea2549bd022149

/sbin/finit 6 also doesn't work, it just sits there (but doesn't time out)

I rebuilt a few different versions and it is consistently the same issue, something breaks between these two commits.

troglobit commented 1 year ago

Thank you so much for reporting back! The automated tests seem to run fine though, and they do a lot of initctl status. Maybe you could share your configure command, and config.log?

hongkongkiwi commented 1 year ago

Sure, I've shared the full pastebin via email.

Here's my configure command:

./configure --prefix=/buildroot_output/host --sysconfdir=/buildroot_output/host/etc --enable-static -q --target=arm-linux-uclibcgnueabihf --with-sysroot=/buildroot_output/host/arm-linux-uclibcgnueabihf/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --with-gmp=/buildroot_output/host --with-mpc=/buildroot_output/host --with-mpfr=/buildroot_output/host --with-pkgversion='Buildroot 2022.05.1-dirty' --with-bugurl=http://bugs.buildroot.net/ --without-zstd --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --enable-tls --enable-threads --without-isl --without-cloog --with-abi=aapcs-linux --with-cpu=cortex-a5 --with-fpu=neon-vfpv4 --with-float=hard --with-mode=arm --enable-languages=c,c++ --with-build-time-tools=/buildroot_output/host/arm-linux-uclibcgnueabihf/bin --enable-shared --disable-libgomp --silent
troglobit commented 1 year ago

Great, thanks! You can attach files to issues these days on GitHub, very handy :)

I'll try to have a look at this over the next coming days. A quick rebuild and test on my embedded system with the latest stuff shows no problems ... at least not the ones you see (lost the netlink.so plugin for some reason).

troglobit commented 1 year ago

Hmm, I see you both --enable-static and --enable-shared? At least the --enable-static is is not often tested (and never by me) and has been very difficult to support. For instance, the external finit-plugins repo only supports dynamically loadable .so files, but there are other things as well like features of GLIBC that aren't available when building static applications.

troglobit commented 1 year ago

I've completed the refactor to the new log macros in 37e3be9. Tested it all with the latest finit-plugins in myLinux (my own Buildroot derivative). Checked with the latest mdevd, using buildroot overrides for mdevd and skalibs, and they all start happily, including chronyd.

I've seen no issues before or after these changes with initctl status or init 6, sorry.

hongkongkiwi commented 1 year ago

Tested latest version, still getting timeouts :-(

troglobit commented 1 year ago

Sorry to hear. It's going to be very hard to get to the bottom of this if I cannot reproduce.

troglobit commented 1 year ago

Hi @hongkongkiwi, recently I debugged and fixed #310, which might have some bearing on your problem. I'd be very interested to hear if you still experience problems using the latest master.

hongkongkiwi commented 1 year ago

Thank you, hooray it's fixed and seems to work ok now.

Havn't had time to fully test it today, but it appears to be fixed as the bootup is fine with no more timeouts :)

troglobit commented 1 year ago

Ah, that's great news, thank you for the feedback! :heart::tada: