Re: systemd-coredump stack traces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks.  Adding libdw as dependency does get the stack traces working.


From: Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx>
Sent: Friday, August 11, 2023 3:57 AM
To: Lennart Poettering <lennart@xxxxxxxxxxxxxx>; Aaron Brice <Aaron.Brice@xxxxxxxxxxxxxxx>
Cc: systemd-devel@xxxxxxxxxxxxxxxxxxxxx <systemd-devel@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: systemd-coredump stack traces
 
[You don't often get email from richard.purdie@xxxxxxxxxxxxxxxxxxx. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

On Fri, 2023-08-11 at 12:34 +0200, Lennart Poettering wrote:
> On Do, 10.08.23 20:34, Aaron Brice (Aaron.Brice@xxxxxxxxxxxxxxx) wrote:
>
> > I am trying to enable stack traces for core dumps with
> > systemd-coredump.  I have a yocto build for aarch64 containing
> > systemd 250 with the coredump and elfutils options enabled in the
> > build, and the binaries I'm trying to debug are not stripped.
> > coredumpctl list shows the core files and I can use coredumpctl gdb
> > to get a backtrace, but coredumpctl info does not show a backtrace.
> > Is there another build option I need, or any good way to debug where
> > the stack trace is failing?
>
> Note that systemd-coredump doesn't directly link against libdw.so.1
> (i.e. the relevant library from elfutils) but will dlopen() it. I
> don't know yocto, but I wouldn#t be surprised if it doesn't realize
> this and doesn't install the .so in your image (or in your initrd)
> because it doesn't notice the dependency.

It won't detect that.

You probably need to add something like:

RDEPENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '', 'libdw'}"

and a patch for that should really be sent for the recipe in oe-core.

> > And if I get it working, does the systemd stacktrace functionality
> > support using a -dbg package with debug symbols in a separate file?
>
> I don't know what yocto -dbg packages are. But the elfutils library
> supports the usual debug symbols linux distros provide, including the
> minimal debug info available in current fedora distros built-in.

We split the binaries/libraries into two pieces to separate out the
debug symbols and put the appropriate gnu_debuglink section in place.
The debug pieces go into -dbg packages. It is all done with the usual
standards so should just work when they're installed or a debuginfod
server is running/available.

Cheers,

Richard

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux