After some more hours of debugging we have pinpointed the problem to a (most probable) memory corruption, memory seemingly owned by glib... (Queue enthusiastic wahoo's.)
As to why or where this is happening, we haven't got a clue (yet?). More detailed explanation: The GpmEngine pointer (mostly named "engine" in gpm-engine.c) is, accordingly to GDB, correctly sent to g_signal_connect (from gpm_engine_init in gpm-engine.c). However, when gpm_cell_array_charge_low_cb is called from glib's event handler, the engine pointer is a different one. When running Hardy's version of g-p-m in Intrepid, this doesn't happen. We managed to get Intrepid's version working using a very very very very /.../ very very very fugly hack... That is, we saved the pointer generated in gpm_engine_new (like everything else, in gpm-engine.c) to a global (static) variable, and then restored it inside gpm_cell_array_charge_low_cb. Ta-da, no segfault when charge-low should be emitted! (eh... wahoo?) Like I said, this is fugly, but at least we've demonstrated the problem. Unless this is fixed before Intrepid's release, I suggest a revert to Hardy's version is made. We can't have g-p-m crashing on all amd64 laptops out there... -- gnome-power-manager crashed with SIGSEGV in g_closure_invoke() https://bugs.launchpad.net/bugs/269083 You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to gnome-power-manager in ubuntu. -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs