Bug 624667

Summary: eu-unstrip: No modules recognized in core file
Product: Red Hat Enterprise Linux 5 Reporter: Jiri Moskovcak <jmoskovc>
Component: elfutilsAssignee: Roland McGrath <roland>
Status: CLOSED NOTABUG QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: low    
Version: 5.7CC: dfediuck, drepper
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-11 20:29:40 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 564237    
Attachments:
Description Flags
coredump none

Description Jiri Moskovcak 2010-08-17 12:40:51 UTC
Version-Release number of selected component (if applicable):
elfutils-0.137-3.el5

How reproducible:
100%


Steps to Reproduce:
1. eu-unstrip -n --core=some_coredump
  
Actual results:
eu-unstrip: No modules recognized in core file

Expected results:
list of module, filenames and build_ids

Additional info:
Attaching the coredump on which it fails.

Comment 1 Roland McGrath 2010-08-17 19:47:00 UTC
I found no attachment.  Please try this case on RHEL6/Fedora elfutils.

Comment 2 Jiri Moskovcak 2010-08-18 08:48:51 UTC
Created attachment 439324 [details]
coredump

Comment 3 Jiri Moskovcak 2010-08-18 08:50:52 UTC
Attached the coredump, the case fails even on the F13 using the attached core from RHEL5.

Comment 4 Roland McGrath 2010-08-18 09:53:39 UTC
RHEL5 core dumps do not have partial segments for ELF text mappings.  This leaves no information that is accessible from a cold start to see what the modules in the process were.  To handle a core dump that has no part of the text segments, you need to use "eu-unstrip -n -e exe --core core" where exe is the original executable that was run to create this core.

You can do "echo 0x33 > /proc/.../coredump_filter" to change the core dump behavior (to match the behavior of RHEL6 and Fedora>=8).  Then you may have enough information for plain "eu-unstrip -n --core core" to at least list the modules from the link_map list.

But even then, RHEL5 binaries do not have build IDs, so just names will be as good as it gets.

RHEL5 eu-unstrip indeed has bugs in handling core files even with a partial-segments dump.  It is unlikely we will have a business justification to do an elfutils update in RHEL5 just to backport those fixes.

Fedora/RHEL6 eu-unstrip suboptimally suppresses the file names it finds in this kind of core file, so you only get the soname or basename as the module name.  0.149 will fix that to print those full file names too.

Comment 5 Jiri Moskovcak 2010-08-18 10:14:05 UTC
Thanks for the info, I'll try to experiment with it to see how it will work with ABRT. Btw, the bussiness justification might be the backporting of ABRT to RHEL5 which relies on elfutils. So I'm setting this as a blocker for backporting ABRT just to track it.

Thank you,
Jirka

Comment 6 Roland McGrath 2011-01-11 20:29:40 UTC
Closing report of non-bug.