Bug 549735

Summary: extract __abort_msg from cores
Product: [Fedora] Fedora Reporter: Matthias Clasen <mclasen>
Component: abrtAssignee: Jiri Moskovcak <jmoskovc>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: anton, dfediuck, dvlasenk, iprikryl, jmoskovc, kklic, mnowak, npajkovs
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0.6-1.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-09 21:03:21 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:

Description Matthias Clasen 2009-12-22 14:29:41 UTC
Recent glibc (2.11, in current rawhide) store assertion messages into the variable __abort_msg before aborting. This is very useful information that abrt should extract and place prominently in the bug report.

Soon glib's g_assert facility will employ the same mechanism. 
See https://bugzilla.gnome.org/show_bug.cgi?id=594872


Here is how it works:

[mclasen@planemask Desktop]$ cat test.c
#include <assert.h>

int main (int argc, char *argv[])
{
  assert (1 < 0);
}

[mclasen@planemask Desktop]$ make test
cc     test.c   -o test

[mclasen@planemask Desktop]$ ./test
test: test.c:5: main: Assertion `1 < 0' failed.
Aborted (core dumped)

[mclasen@planemask Desktop]$ gdb --batch --ex 'print (char*) __abort_msg' ./test core.3618 
Core was generated by `./test'.
Program terminated with signal 6, Aborted.
#0  0x0000003addc326c5 in raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
$1 = 0x1fe2080 "test: test.c:5: main: Assertion `1 < 0' failed.\n"

Comment 1 Denys Vlasenko 2010-01-18 16:15:05 UTC
Done so in git, will be in 1.0.4

Comment 2 Fedora Update System 2010-01-22 15:30:06 UTC
abrt-1.0.4-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/abrt-1.0.4-1.fc12

Comment 3 Matthias Clasen 2010-01-25 23:31:09 UTC
Thanks for implementing this !

Unfortunately, it turns out that making glib2 use the variable for its assertion messages does not work out (since the glibc symbol is marked as GLIBC_PRIVATE, and rpm won't let us add a dependency against such symbols to glib2). Therefore, glib2 will have to use its own variable, __glib_assert_msg, for this purpose. Can I ask you to include that variable in abrt reports as well, at least for binaries that link against libglib-2.0.so ?

Comment 4 Fedora Update System 2010-01-26 01:06:36 UTC
abrt-1.0.4-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 5 Matthias Clasen 2010-01-27 15:10:19 UTC
Hmm, reopening again. See comment 3.

Comment 6 Matthias Clasen 2010-01-27 15:17:58 UTC
Just to clarify:

in current rawhide, assert() and friends in glibc store their message in __assert_msg, while g_assert() and friends in glib2 store their message in __glib_assert_msg. We are currently investigating if we can somehow make glib use __assert_msg in some other way.

Comment 7 Denys Vlasenko 2010-01-29 15:55:43 UTC
Waitasec. Is it __assert_msg or __abort_msg?

Comment 8 Matthias Clasen 2010-01-29 18:15:37 UTC
__abort_msg and __glib_assert_msg are the correct names. Sorry for the confusion.

Comment 9 Denys Vlasenko 2010-02-03 11:56:52 UTC
fixed in git.

Comment 10 Fedora Update System 2010-02-03 15:17:47 UTC
abrt-1.0.6-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/abrt-1.0.6-1.fc12

Comment 11 Fedora Update System 2010-02-05 01:32:10 UTC
abrt-1.0.6-1.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update abrt'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-1470

Comment 12 Fedora Update System 2010-02-09 21:02:14 UTC
abrt-1.0.6-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.