My application is completed whith core dump

i used wp7402
legato 20.04
after the crash, the program leaves a report in the folder

So I run my gdb like this

-ex "set sysroot $SYSROOT "
-ex “set debug-file-directory …/.debug”
-ex "set solib-search-path $HOST_PROG_SOLIB:$LEGATO_FW:$SYSROOT/lib "
-ex “file $HOST_PROG”
-ex “core-file ./core-MSD”

when I want to analyze my core dump on host mashin
i get next log from GDB.

GNU gdb (GDB) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “–host=x86_64-pokysdk-linux --target=arm-poky-linux-gnueabi”.
Type “show configuration” for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type “help”.
Type “apropos word” to search for commands related to “word”.
Reading symbols from /home/win/legato_vsc3/_build_MSD084/wp750x/app/MSD084/staging/read-only/bin/msdComponent…Reading symbols from /home/win/legato_vsc3/.debug/.build-id/4c/05c27462816e3fd5fd836d9d6d224b14d90402.debug…done.
BFD: Warning: /home/win/legato_vsc3/gdb/./core-MSD is truncated: expected core file size >= 126820352, found: 61440.
[New LWP 23284]
[New LWP 23285]
[New LWP 23288]
[New LWP 23291]
[New LWP 23279]
[New LWP 23281]
[New LWP 23287]
[New LWP 23290]
[New LWP 23277]
[New LWP 23280]
[New LWP 23282]
[New LWP 23286]
[New LWP 23292]
[New LWP 23278]
[New LWP 23283]
[New LWP 23289]
Core was generated by `msdComponent’.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xb6da56a4 in ?? ()
[Current thread is 1 (LWP 23284)]

how to get the program feed string in my code?
i don`t see where my code crashed
#0 0xb6da56a4 in ?? ()

After the fall of the program, a lot of information remains.
core and systlog.

but how can you link all this information and source code?

there are flow and process identifiers
PROCESS: 2022 ,TID 2029
but no their names

there is a drop address, but how to match it with the code?

Hello @zuuuuk,

“PROCESS: 2022 ,TID 2029” is a part of the backtrace.
→ Please provide the whole content of this backtrace.

It is possible to perform a first analysis of a backtrace without using GDB.
→ See [AirPrime with MDM9x+Legato] How to analyze Legato-level crash v002.pdf (174.2 KB)

According to “Reading symbols from /home/win/legato_vsc3/_build_MSD084/wp750x/app/MSD084/staging/read-only/bin/msdComponent…Reading symbols from /home/win/legato_vsc3/.debug/.build-id/4c/05c27462816e3fd5fd836d9d6d224b14d90402.debug…done.”, the crash origin is your Legato App “MSD084” / Legato Component “msdComponent”.

→ You should tune your Legato App *.adef file, so that belowmentioned limits are higher than the maximum core dump size:
maxMemoryBytes: 60000K // memory usage limit
maxFileSystemBytes: 60000K // RAM file system usage limit
maxCoreDumpFileBytes: 60000K // core dump file size limit
maxFileBytes: 60000K // maximum size that processes can make files

Legato build tools are, by default, stripping the staging tree.
Stripping is actually controlled by this Legato App Framework build option :
STRIP_STAGING_TREE, defined inside legato-af/legato.kconfig at 20.04-release · legatoproject/legato-af · GitHub, default value = y
So, when building a Legato App, if “-d /path/to/myAppDebugSymbols” option is passed to mkapp, then debug symbols are:
o removed from binaries,
o copied into a dedicated folder: /path/to/myAppDebugSymbols/
→ Did you use mkapp “-d” option?


1 Like