It would help if you replicate the issue on master, and provide steps
to reproduce so I or anyone else can observe the issue.

Alex

On Sun, 20 Oct 2024 at 14:59, Diego Santa Cruz via
lists.openembedded.org
<diego.santacruz=spinetix....@lists.openembedded.org> wrote:
>
> Hi there,
>
>
>
> We noticed many gzip segfault errors on our build machine when doing either 
> do_rootfs or do_populate_sdk for images on which the man pages are enabled.
>
>
>
> We traced this to mandb, run from the postinst script injected by 
> manpages.bbclass, which invokes gzip to scan compressed manpages.
>
>
>
> Our diagnostic is that mandb is executed via qemuwrapper with LD_LIBRARY_PATH 
> set to the rootfs lib dirs, which is expected since mandb is from the rootfs. 
> However, PATH is not set to the rootfs bin dirs, but instead to the various 
> sysroots and wrapper paths, so it is gzip from recipe-sysroot-native that is 
> executed, using ld-linux from the rootfs. But it turns out that the ld-linux 
> and libs from rootfs are incompatible with those of recipe-sysroot-native, 
> which results in a segfault in ld-linux.
>
>
>
> I fixed this in our builds by simply adding -E 
> PATH=$D${bindir}:$D${base_bindir} to the qemuwrapper command line in 
> scripts/postinst-intercepts/update_mandb. However, I do wonder if the correct 
> fix would not be in qemu.bbclass to systematically set that option for any 
> qemuwrapper invocation, as the problem can potentially affect any tool 
> executed via qemuwrapper that spawns or execs some other executable using 
> PATH to locate it.
>
>
>
> We encountered this on kirkstone, but our local kirkstone branch has this 
> commit backported: 
> https://git.openembedded.org/openembedded-core/commit/?id=fbd8a57aa307bfda70a08cb78af3c97f05c39a3a
>  Hence the modification of scripts/postinst-intercepts/update_mandb and not 
> manpages.bbclass
>
>
>
> The problem does not occur when building images for machines which are not 
> x86-64 based, since the build host and target architectures are not 
> compatible. Note also that the segfault is gone with the above mentioned fix, 
> but gzip does not run successfully since /bin/gzip from the rootfs is an 
> absolute symlink to the active alternative (e.g., /bin/gzip.gzip), which does 
> not exist on the build host, but that is another problem, at least the 
> segfault is gone.
>
>
>
> Would fixing qemu.bbclass make sense? If yes, how extensive should that be? 
> For instance, explicitly passing the right dirs for PATH to 
> qemu_wrapper_cmdline, like it is done for LD_LIBRARY_PATH? Or just implicitly 
> setting it in qemu_wrapper_cmdline?
>
>
>
> Sincerely,
>
>
>
> Diego
>
>
>
> --
> Diego Santa Cruz, PhD
> Technology Architect
> spinetix.com
>
>
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#206111): 
https://lists.openembedded.org/g/openembedded-core/message/206111
Mute This Topic: https://lists.openembedded.org/mt/109114254/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to