Thursday 27 March 2008
Gtk HelloWorld
By hub, Thursday 27 March 2008 at 18:43 :: Gnome
No I won't be presenting a Gtk+ HelloWorld, but just the valgrind
output of one. It actually does not matter what program.
==28869== Syscall param rt_sigaction(act->sa_mask) points to uninitialised byte(s) ==28869== at 0x40007F2: (within /lib/ld-2.6.1.so) ==28869== by 0x483A7A2: sigaction (in /lib/libpthread-2.6.1.so) ==28869== by 0x5562321: google_breakpad::ExceptionHandler::SetupHandler(int) (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x556242D: google_breakpad::ExceptionHandler::SetupHandler() (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x55626D7: google_breakpad::ExceptionHandler::ExceptionHandler(std::string const&, bool (*)(void*), bool (*)(char const*, char const*, void*, bool), void*, bool) (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x5561DE2: gtk_module_init (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x41AB1EC: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==28869== by 0x46472E9: g_cclosure_marshal_VOID__PARAM (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x463A918: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464D9EC: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F63E: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F988: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== Address 0xbec4e5f4 is on thread 1's stack ==28869== ==28869== Syscall param rt_sigaction(act->sa_mask) points to uninitialised byte(s) ==28869== at 0x40007F2: (within /lib/ld-2.6.1.so) ==28869== by 0x483A7A2: sigaction (in /lib/libpthread-2.6.1.so) ==28869== by 0x5562321: google_breakpad::ExceptionHandler::SetupHandler(int) (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x5562445: google_breakpad::ExceptionHandler::SetupHandler() (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x55626D7: google_breakpad::ExceptionHandler::ExceptionHandler(std::string const&, bool (*)(void*), bool (*)(char const*, char const*, void*, bool), void*, bool) (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x5561DE2: gtk_module_init (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x41AB1EC: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==28869== by 0x46472E9: g_cclosure_marshal_VOID__PARAM (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x463A918: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464D9EC: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F63E: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F988: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== Address 0xbec4e5f4 is on thread 1's stack
Apparently this is a known bug.
Also when quitting, --leak-check=full
is revealing:
==28869== 2,048 bytes in 1 blocks are definitely lost in loss record 143 of 184 ==28869== at 0x4022AD8: malloc (vg_replace_malloc.c:207) ==28869== by 0x55623E5: google_breakpad::ExceptionHandler::SetupHandler() (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x55626D7: google_breakpad::ExceptionHandler::ExceptionHandler(std::string const&, bool (*)(void*), bool (*)(char const*, char const*, void*, bool), void*, bool) (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x5561DE2: gtk_module_init (in /usr/lib/gtk-2.0/modules/libgnomebreakpad.so) ==28869== by 0x41AB1EC: (within /usr/lib/libgtk-x11-2.0.so.0.1200.0) ==28869== by 0x46472E9: g_cclosure_marshal_VOID__PARAM (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x463A918: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464D9EC: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F63E: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x464F988: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x463ECC0: (within /usr/lib/libgobject-2.0.so.0.1400.1) ==28869== by 0x463B68E: (within /usr/lib/libgobject-2.0.so.0.1400.1)
Hint: this is not in Gtk+.
Hint2: neither is it because it is written in C++