On 06/14/2011 04:25 PM, Nikola Pajkovsky wrote:
Signed-off-by: Nikola Pajkovsky<npajkovs(a)redhat.com>
---
src/plugins/abrt-action-analyze-core.py | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/plugins/abrt-action-analyze-core.py
b/src/plugins/abrt-action-analyze-core.py
index 06473c4..97bc81a 100755
--- a/src/plugins/abrt-action-analyze-core.py
+++ b/src/plugins/abrt-action-analyze-core.py
@@ -69,8 +69,10 @@ def extract_info_from_core(coredump_name):
eu_unstrip_OUT = Popen(["eu-unstrip","--core=%s" %
coredump_name, "-n"], stdout=PIPE, bufsize=-1).communicate()[0]
# parse eu_unstrip_OUT and return the list of build_ids
+ # Nvidia debuginfo bug 712950
# eu_unstrip_OUT = (
# "0x7f42362ca000+0x204000
c4d35d993598a6242f7525d024b5ec3becf5b447@0x7f42362ca1a0 /usr/lib64/libcanberra-gtk.so.0 -
libcanberra-gtk.so.0\n"
+ # "0x344f200000+0x30c000 - /usr/lib64/nvidia/libGL.so.1 - libGL.so.1\n"
# "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0
/usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
# "0x3afa400000+0x210000 607308f916c13c3ad9ee503008d31fa671ba73ce@0x3afa4001a0
/usr/lib64/libcanberra.so.0 - libcanberra.so.0\n"
# "0x3bc7000000+0x208000 3be016bb723e85779a23e111a8ab1a520b209422@0x3bc70001a0
/usr/lib64/libvorbisfile.so.3 - libvorbisfile.so.3\n"
@@ -101,10 +103,13 @@ def extract_info_from_core(coredump_name):
# linux-vdso.so.1 -> Virtual Dynamic Shared Object
if b_ids_line[EXECUTABLE] not in ["linux-vdso.so.1"]:
build_id = b_ids_line[BUILD_ID].split('@')[0]
- build_ids.add(build_id)
- library = b_ids_line[LIBRARY]
- libraries.add(library)
- build_ids.add(build_id)
+ if build_id != "-":
+ build_ids.add(build_id)
+ library = b_ids_line[LIBRARY]
+ libraries.add(library)
+ build_ids.add(build_id)
+ else:
+ log(_("No debuginfo '%s', maybe proprietary
blob?") % b_ids_line[LIBRARY])
- the message is wrong, at this time you actually only know that some
library doesn't have build_id, but debuginfo can still be installed (or
the binary doesn't have to be stripped..) so I propose message like:
log(_("WARNING: %s doesn't contain build_id, probably a proprietary
blob) % b_ids_line[LIBRARY])
The rest seems ok.