Hi Ying,

On Wed, Jul 10, 2024 at 2:06 PM Aaron Merey <ame...@redhat.com> wrote:
>
> On Wed, Jul 10, 2024 at 4:33 AM Ying Huang <ying.hu...@oss.cipunited.com> 
> wrote:
> >
> > + testrun diff /tmp/tmp.bCCbATKu43/stack.out -
> > + built_testrun diff /tmp/tmp.bCCbATKu43/stack.out -
> > + 
> > LD_LIBRARY_PATH=/home/huangying/elf/elfutils_main/libdw:/home/huangying/elf/elfutils_main/backends:/home/huangying/elf/elfutils_main/libelf:/home/huangying/elf/elfutils_main/libasm:/home/huangying/elf/elfutils_main/debuginfod
> > + diff /tmp/tmp.bCCbATKu43/stack.out -
> > 4,5c4,5
> > < #1  0x0000aaaae5663f20
> > < #2  0x0000aaaae5667a98
> > ---
> > > #1  0x0000aaaae5663f20 kill_shell
> > > #2  0x0000aaaae5667a98 termsig_handler.part.0
> > + rm -rf -- /tmp/tmp.bCCbATKu43
> > FAIL run-sysroot.sh (exit status: 1)
> >
> >
> > There are two lines where the function name cannot be parsed.
>
> I took a look at this but I'm still not sure what's going on.  I ran
> the run-sysroot.sh testcase by hand on the extracted contents of
> testfile-sysroot.tar.bz2.  eu-stack's /proc/PID/fd contained the
> correct binaries located under the sysroot.  The testcase passes
> on my Fedora 40 x86_64 machine as well as on all elfutils buildbots.
>
> It's also strange that those two particular stack frames from
> /bin/bash are missing the function name yet the other /bin/bash
> frames include proper function names.
>
> I'll look into this some more.

This issue turned out to be related to .gnu_debugdata.  The 2 missing
symbols you reported are contained in this section.  It's LZMA-compressed
so if elfutils isn't built with LZMA support then the section isn't read.

I did some testing on Debian 6.1.94-1 (2024-06-21) x86_64. LZMA/xz wasn't
pre-installed and I was able to reproduce the test failure.  I pushed a
commit (39e962f063b5e) that modifies run-sysroot.sh to remove these two
frames from the backtrace being tested, so that the result doesn't depend
on LZMA support.

Aaron

Reply via email to