Comment 11 for bug 269083

Revision history for this message
Joakim Andersson (jocke) wrote : Re: gnome-power-manager crashed with SIGSEGV in g_closure_invoke()

Yesterday, I found out using live CD's that the problem only seems to exists when using amd64 architecture.

Some thorough investigation by me and a friend (with better C knowledge) has led us to the macro _G_TYPE_CIT, defined at row 1479 in gobject/gtype.h of the glib headers. The segfault seems to be caused by the pointer to __inst->g_class (__inst is defined using a cast of the GpmEngine instance to a GTypeInstance inside the macro). valgrind gives the error "invalid read of size 8" and whines about that pointer (found by entering some fprintf's in the macro). Also, that pointer (as used in the macro) is suddenly 64 bits instead of 32 bits like the rest of the pointers in that macro. My friend is still digging deep in glib's headers to get enlightenment on the issue.

The weird thing is that Hardy's version of gnome-power-manager, with seemingly identical code for the problematic(?) files, still works just fine... The Makefile's don't seem to have any strange differences either.