GNOME Bugzilla – Bug 344076
crash after closing an inline view of text attachment
Last modified: 2014-08-30 15:18:51 UTC
Got a mail with 2 text attachments, content disposition attached. A tiny patch, and a larg-ish log file. After displaying the large-ish text inline, and closing it again (using the attachment button), the inline view vanished. But the attachment buttons where not redrawn. After about 2 seconds I clicked where I expected the attachment buttons. Then the crash dialog appeared... (Mentioning this, since that click may or may not be relevant, given the time till I clicked there.) GtkHTML 3.10.2. Including the crashing top-most thread only (entire stacktrace saved). Backtrace was generated from '/opt/gnome-2.14/bin/evolution-2.6' Using host libthread_db library "/lib/tls/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1230387520 (LWP 8337)] [New Thread -1288287312 (LWP 9658)] [Thread debugging using libthread_db enabled] [New Thread -1230387520 (LWP 8337)] [New Thread -1288287312 (LWP 9658)] [Thread debugging using libthread_db enabled] [New Thread -1230387520 (LWP 8337)] [New Thread -1288287312 (LWP 9658)] [New Thread -1397392464 (LWP 8452)] [New Thread -1296680016 (LWP 8451)] [New Thread -1405785168 (LWP 8445)] [New Thread -1313465424 (LWP 8384)] [New Thread -1270842448 (LWP 8343)] [New Thread -1252725840 (LWP 8341)] [New Thread -1244333136 (LWP 8340)] [New Thread -1235940432 (LWP 8339)] 0xffffe410 in ?? ()
+ Trace 68692
Does not seem to be reproducible.
*** Bug 564980 has been marked as a duplicate of this bug. ***
*** Bug 549496 has been marked as a duplicate of this bug. ***
With evolution 2.25.90 Gtk:ERROR:gtklayout.c:394:gtk_layout_move_internal: assertion failed: (child) Program received signal SIGABRT, Aborted. 0x00007fffe8843645 in raise () from /lib64/libc.so.6 (gdb) t a a bt
+ Trace 212234
Thread 1 (Thread 0x7ffff7f9e7f0 (LWP 4972))
I got a mail with html attachment. I viewed attachment inline and later closed the inline view and evolution crashed. Valgrind ** Gtk:ERROR:gtklayout.c:394:gtk_layout_move_internal: assertion failed: (child) ==5133== ==5133== Thread 1: ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x13E1D768: g_free (gmem.c:189) ==5133== by 0x173658DE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x4C24365: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658DE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Invalid free() / delete / delete[] ==5133== at 0x4C243AF: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658DE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== Address 0x1 is not stack'd, malloc'd or (recently) free'd ==5133== ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x13E1D768: g_free (gmem.c:189) ==5133== by 0x173658E6: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x4C24365: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658E6: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Invalid free() / delete / delete[] ==5133== at 0x4C243AF: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658E6: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== Address 0x1 is not stack'd, malloc'd or (recently) free'd ==5133== ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x13E1D768: g_free (gmem.c:189) ==5133== by 0x173658EE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Conditional jump or move depends on uninitialised value(s) ==5133== at 0x4C24365: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658EE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== ==5133== Invalid free() / delete / delete[] ==5133== at 0x4C243AF: free (in /usr/lib64/valgrind/amd64-linux/vgpreload_memcheck.so) ==5133== by 0x173658EE: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x173659C8: (within /usr/lib64/gtk-2.0/modules/libgnomebreakpad.so) ==5133== by 0x88F8A8F: (within /lib64/libpthread-2.9.so) ==5133== by 0x140D2644: raise (in /lib64/libc-2.9.so) ==5133== by 0x140D3C32: abort (in /lib64/libc-2.9.so) ==5133== by 0x13E3B202: g_assertion_message (gtestutils.c:1301) ==5133== by 0x13E3B6A1: g_assertion_message_expr (gtestutils.c:1312) ==5133== by 0x1001C185: gtk_layout_move_internal (gtklayout.c:394) ==5133== by 0xA31BB45: draw (htmlembedded.c:82) ==5133== by 0xA36544A: draw (htmliframe.c:185) ==5133== by 0xA30F820: draw (htmlclue.c:268) ==5133== Address 0x1 is not stack'd, malloc'd or (recently) free'd
*** Bug 570800 has been marked as a duplicate of this bug. ***
confirming as per duplicates
Akhil, I'm sorry, I do not know why that does what that does. I cannot figure it out. As far as I can tell, it does all things in the same way, except when collapsing the inner html attachment the GtkHTML is in a "frozen" state, to stay in the same position as before (with respect to vertical scrollbar). It sometimes doesn't show that button, usually it does. It's just doing its own things.
No probs, Milan ! Don't feel so sad, cheer up :-)
*** Bug 572576 has been marked as a duplicate of this bug. ***
The above bug contains a test message, with caret mode off crashes quite often.
Ok, found why bug is not always visible : it is depending on gtkrc theme property. To be more precise, evolution will crash if theme gtkrc contains this : style "ia_ora-thin" { ythickness = 1 } widget_class "*.GtkHTMLEmbedded.*GtkButton" style "ia_ora-thin"
no reasons for needinfo here.
*** Bug 573415 has been marked as a duplicate of this bug. ***
*** Bug 575066 has been marked as a duplicate of this bug. ***
*** Bug 575867 has been marked as a duplicate of this bug. ***
*** Bug 578753 has been marked as a duplicate of this bug. ***
Dear friends, I think that solving this bug will be quite valuable for many people. Many blessings.
*** Bug 581992 has been marked as a duplicate of this bug. ***
Email to trigger this (from bug 581992): http://mail.gnome.org/archives/gnome-i18n/2009-May/msg00076.html
*** Bug 586322 has been marked as a duplicate of this bug. ***
*** Bug 588582 has been marked as a duplicate of this bug. ***
*** Bug 590104 has been marked as a duplicate of this bug. ***
*** Bug 592852 has been marked as a duplicate of this bug. ***
*** Bug 594458 has been marked as a duplicate of this bug. ***
*** Bug 594888 has been marked as a duplicate of this bug. ***
*** Bug 597530 has been marked as a duplicate of this bug. ***
*** Bug 598086 has been marked as a duplicate of this bug. ***
Downstream bug report about the same in 3.28: https://bugzilla.redhat.com/show_bug.cgi?id=541590
*** Bug 604265 has been marked as a duplicate of this bug. ***
This commit fixed the crash for me http://git.gnome.org/browse/gtkhtml/commit/?h=gnome-2-30&id=d43a84424361bcf8657459b6e2023b513322414d Could anybody please confirm the same ?
*** Bug 622763 has been marked as a duplicate of this bug. ***
Assuming that comment 31 fixed this.