Comment 0 for bug 1171484

Revision history for this message
Nicolas Devillers (nicolas-devillers) wrote : Apport crash while generating report from a gdb crash

Apport crash while trying to generate a report from a gdb crash core dump.

crash occure in function add_gdb_info() of file report.py on the line (around 689):
 if '"ERROR:' in self['GLibAssertionMessage']:

The crash happens because GLibAssertionMessage as not been affected as a key in self[].

It's because apport assume that the cmd invoking gdb : "out = _command_output(gdb_cmd).decode('UTF-8', errors='replace')"
will work and return correct value.

In my case the gdb invokation seems to give an incomplete result starting with :
"[New LWP 18326]\nwarning: Can\'t read pathname for load map: Erreur d\'entr\xe9e/sortie." ending with "No symbol table info available."

therefore parts list is composed of 1 element :

(pdb): len(parts)
1
(Pdb) parts[1]
*** IndexError: list index out of range

I guess a possible correction would be to add a check on the number on the result of the gdb invocation or on the number of items in parts list line 681.

I could provide a patch but i'm not sure what is the cleanest way to correct this.