GNOME Bugzilla – Bug 687972
Seahorse crashes on exit in dispose
Last modified: 2012-11-09 16:31:13 UTC
This is the crash: (seahorse:10950): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (seahorse:10950): GLib-GObject-CRITICAL **: g_signal_handlers_destroy: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ==10950== Invalid read of size 8 ==10950== at 0x3939214857: g_object_unref (gobject.c:3017) ==10950== by 0x4EF6E2: seahorse_certificate_dispose (seahorse-certificate.c:142) ==10950== by 0x3939214787: g_object_unref (gobject.c:2986) ==10950== by 0x3938A37272: g_hash_table_remove_all_nodes (ghash.c:536) ==10950== by 0x3938A380F0: g_hash_table_remove_all (ghash.c:1345) ==10950== by 0x3938A3815D: g_hash_table_destroy (ghash.c:1049) ==10950== by 0x4EC439: seahorse_token_finalize (seahorse-token.c:672) ==10950== by 0x393921486A: g_object_unref (gobject.c:3023) ==10950== by 0x3938A44ACC: g_list_foreach (glist.c:942) ==10950== by 0x3938A44AEA: g_list_free_full (glist.c:183) ==10950== by 0x4E5113: seahorse_pkcs11_backend_dispose (seahorse-pkcs11-backend.c:202) ==10950== by 0x3939214787: g_object_unref (gobject.c:2986) ==10950== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==10950== ==10950== ==10950== Process terminating with default action of signal 11 (SIGSEGV) ==10950== Access not within mapped region at address 0x0 ==10950== at 0x3939214857: g_object_unref (gobject.c:3017) ==10950== by 0x4EF6E2: seahorse_certificate_dispose (seahorse-certificate.c:142) ==10950== by 0x3939214787: g_object_unref (gobject.c:2986) ==10950== by 0x3938A37272: g_hash_table_remove_all_nodes (ghash.c:536) ==10950== by 0x3938A380F0: g_hash_table_remove_all (ghash.c:1345) ==10950== by 0x3938A3815D: g_hash_table_destroy (ghash.c:1049) ==10950== by 0x4EC439: seahorse_token_finalize (seahorse-token.c:672) ==10950== by 0x393921486A: g_object_unref (gobject.c:3023) ==10950== by 0x3938A44ACC: g_list_foreach (glist.c:942) ==10950== by 0x3938A44AEA: g_list_free_full (glist.c:183) ==10950== by 0x4E5113: seahorse_pkcs11_backend_dispose (seahorse-pkcs11-backend.c:202) ==10950== by 0x3939214787: g_object_unref (gobject.c:2986) ==10950== If you believe this happened as a result of a stack ==10950== overflow in your program's main thread (unlikely but ==10950== possible), you can try to increase the size of the ==10950== main thread stack using the --main-stacksize= flag. ==10950== The main thread stack size used in this run was 8388608. ==10950== ==10950== HEAP SUMMARY: ==10950== in use at exit: 5,293,087 bytes in 41,149 blocks ==10950== total heap usage: 384,346 allocs, 343,178 frees, 31,871,245 bytes allocated ==10950== ==10950== LEAK SUMMARY: ==10950== definitely lost: 19,757 bytes in 105 blocks ==10950== indirectly lost: 12,608 bytes in 392 blocks ==10950== possibly lost: 3,299,267 bytes in 25,546 blocks ==10950== still reachable: 1,961,647 bytes in 15,110 blocks ==10950== suppressed: 0 bytes in 0 blocks ==10950== Rerun with --leak-check=full to see details of leaked memory ==10950== ==10950== For counts of detected and suppressed errors, rerun with: -v ==10950== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 3 from 3) Killed
Created attachment 228540 [details] [review] pkcs11: Unreference partner private key correctly * Fixes a critical and crash on seahorse exit
Attachment 228540 [details] pushed as e9c6cc2 - pkcs11: Unreference partner private key correctly