Bug 113936 - Evolution crashes when viewing a jpg attachment
Summary: Evolution crashes when viewing a jpg attachment
Status: RESOLVED FIXED
: 117160 (view as bug list)
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: GNOME (show other bugs)
Version: Beta 2
Hardware: i386 All
: P5 - None : Blocker
Target Milestone: ---
Assignee: Chris Lahey
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-29 17:51 UTC by Holger Hetterich
Modified: 2005-12-09 17:02 UTC (History)
3 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
evo strace i386 beta2 (21.74 KB, text/plain)
2005-08-29 17:55 UTC, Holger Hetterich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Holger Hetterich 2005-08-29 17:51:13 UTC
how to reproduce: send a mail with a jpg attachment. After that, look at your   
sent mail folder, see the mail, and open the attachment, so that the jpg is   
shown inside evolution. After two or three openings and closing again,   
evolution crashes.   
   
This time, evolution is started under KDE. I don't know if occurs still on 
Beta3 as I don't have it yet available. 
  
  
The console output is this:   
>----------------------------------------------------------<   
es menu class init   
adding hook target 'source'   
   
(evolution:10688): camel-WARNING **: Invalid root:   
'/home/holgernet/.evolution/m   
ail/local/Drafts.ibex.index'   
   
(evolution:10688): camel-WARNING **: version: TEXT.000 (TEXT.000)   
   
(evolution:10688): camel-WARNING **: block size: 1024 (1024) OK   
   
(evolution:10688): camel-WARNING **: free: 0 (0 add size < 1024) OK   
   
(evolution:10688): camel-WARNING **: last: 6144 (6144 and size: 1024) BAD   
   
(evolution:10688): camel-WARNING **: flags: unSYNC   
   
(evolution:10688): camel-WARNING **: Invalid root:   
'/home/holgernet/.evolution/m   
ail/local/Outbox.ibex.index'   
   
(evolution:10688): camel-WARNING **: version: TEXT.000 (TEXT.000)   
   
(evolution:10688): camel-WARNING **: block size: 1024 (1024) OK   
   
(evolution:10688): camel-WARNING **: free: 0 (0 add size < 1024) OK   
   
(evolution:10688): camel-WARNING **: last: 6144 (6144 and size: 1024) BAD   
   
(evolution:10688): camel-WARNING **: flags: unSYNC   
   
(evolution:10688): Gdk-CRITICAL **: gdk_gc_set_foreground: assertion   
`GDK_IS_GC   
(gc)' failed   
QPixmap: Invalid pixmap parameters   
QPainter::begin: Cannot paint null pixmap   
QPainter::setPen: Will be reset by begin()   
QPainter::setBrush: Will be reset by begin()   
QPainter::setBrush: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setBrush: Will be reset by begin()   
QPainter::setBrush: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
QPainter::setPen: Will be reset by begin()   
   
(evolution:10688): Gdk-CRITICAL **: gdk_pixmap_foreign_new_for_display:   
assertio   
n `(anid != 0)' failed   
   
(evolution:10688): Gdk-CRITICAL **: gdk_draw_drawable: assertion `src != NULL'   
f                                           ailed   
   
(evolution:10688): GLib-GObject-CRITICAL **: g_object_unref: assertion   
`G_IS_OBJ                                           ECT (object)' failed   
   
** (evolution:10688): WARNING **: Failed to connect to the D-BUS daemon:   
Unable                                            to determine the address of   
the message bus   
   
requesting object classid: attachment-bar   
object_found: 1   
requesting object classid: attachment.0x8218be0.86.mixed.1   
object_found: 1   
   
(evolution:10688): GnomeCanvas-CRITICAL **: gnome_canvas_request_redraw:   
asserti                                           on `GNOME_IS_CANVAS   
(canvas)' failed   
requesting object classid: attachment-bar   
object_found: 1   
requesting object classid: attachment.0x8218be0.86.mixed.1   
object_found: 1   
requesting object classid: image.0x8218be0.86.mixed.1   
object_found: 1   
>-------------------------------------------------------------<   
   
I'll attach an strace.
Comment 1 Holger Hetterich 2005-08-29 17:55:53 UTC
Created attachment 48051 [details]
evo strace i386 beta2

full strace is too big, here is the last part of it.
Comment 2 Holger Hetterich 2005-08-29 18:11:06 UTC
It seems that it only crashes when you scroll down to the picture, when the 
view is opened. 
 
I mean: look at the mail, click on the attachment, this is 1024x768 here, you 
don't see the picture, you need to scroll. Scroll down, and then click on the 
attachment button to close the picture view. It crashes at this point. 
 
If I don't scroll down, it doesn't crash. 
Comment 3 Holger Hetterich 2005-08-29 20:07:07 UTC
It happens too when I view a forwarded message (the forwarded message is the 
attachment in this case). So it does not depend on the jpeg file. 
 
If it's fixed with Beta3...   Never mind :) 
 
Comment 4 Holger Hetterich 2005-08-30 08:59:19 UTC
backtrace 
 
(gdb) bt 30 
#0  0x413a96be in XSetLineAttributes () from /usr/X11R6/lib/libX11.so.6 
#1  0x41a3a750 in QPainter::updateBrush () from /usr/lib/qt3/lib/libqt-mt.so.3 
#2  0x41ae2c4f in QPainter::setBrush () from /usr/lib/qt3/lib/libqt-mt.so.3 
#3  0x41ae38b1 in QPainter::fillRect () from /usr/lib/qt3/lib/libqt-mt.so.3 
#4  0x418562a5 in drawArrow () 
   from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so 
#5  0x4184cee3 in qtengine_rc_style_register_type () 
   from /opt/gnome/lib/gtk-2.0/2.4.0/engines/libqtengine.so 
#6  0x40dd7ed8 in gtk_paint_arrow () from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#7  0x40c7b221 in gtk_arrow_set () from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#8  0x40d6a7d4 in gtk_marshal_VOID__UINT_STRING () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#9  0x411d9797 in g_cclosure_new_swap () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#10 0x411d9e79 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 
#11 0x411eae27 in g_signal_stop_emission () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#12 0x411ec371 in g_signal_emit_valist () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#13 0x411ec965 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 
#14 0x40e74414 in gtk_widget_activate () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#15 0x40cc80bf in gtk_container_propagate_expose () 
---Type <return> to continue, or q <return> to quit--- 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#16 0x40cc8116 in gtk_container_propagate_expose () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#17 0x40c81041 in gtk_box_reorder_child () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#18 0x40cc5eac in gtk_container_forall () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#19 0x40cc7ce4 in gtk_container_get_focus_hadjustment () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#20 0x40d6a7d4 in gtk_marshal_VOID__UINT_STRING () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#21 0x411d9797 in g_cclosure_new_swap () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#22 0x411d9e79 in g_closure_invoke () from /opt/gnome/lib/libgobject-2.0.so.0 
#23 0x411eae27 in g_signal_stop_emission () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#24 0x411ec371 in g_signal_emit_valist () 
   from /opt/gnome/lib/libgobject-2.0.so.0 
#25 0x411ec965 in g_signal_emit () from /opt/gnome/lib/libgobject-2.0.so.0 
#26 0x40e74414 in gtk_widget_activate () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#27 0x40cc80bf in gtk_container_propagate_expose () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
---Type <return> to continue, or q <return> to quit--- 
#28 0x40cc8116 in gtk_container_propagate_expose () 
   from /opt/gnome/lib/libgtk-x11-2.0.so.0 
#29 0x40c7d2f5 in gtk_bin_get_type () from /opt/gnome/lib/libgtk-x11-2.0.so.0 
(More stack frames follow...) 
 
Comment 5 Holger Hetterich 2005-08-30 09:13:59 UTC
seems to be another qt-gtk-engine problem. It does not happen when using an
other GTK theme.
Comment 6 Andreas Jaeger 2005-09-03 15:21:41 UTC
Adrian, what should we do with gtk-qt-engine?
Comment 7 Harish Krishnaswamy 2005-09-05 09:06:48 UTC
Not sure whom to re-assign this to. 
Comment 8 Holger Hetterich 2005-09-05 19:35:56 UTC
reassigning to kde-maintainers  
Comment 9 Adrian Schröter 2005-09-06 06:40:02 UTC
I do not see this crash here. But there are lots of "GnomeCanvas-CRITICIAL **:  
gnome_canvas_request_redraw: assetion GNOME_IS_CANVAS (canvas) failed" errors  
in this case. These errors do happen with and without gtk-qt-engine.  
  
Furthermore valgrind2 show lots of memory corruptions independend of  
gtk-qt-engine already at startup time. These should get fixed before further  
debugging.  
 
tested on beta4. 
Comment 10 Adrian Schröter 2005-09-06 06:44:30 UTC
valgrind2 did not show any errors during showing/hiding the picture btw. 
Comment 11 JP Rosevear 2005-09-06 14:54:22 UTC
It likely has nothing to do with the attachment it self, it draws an arrow used
to show the attachment.
Comment 12 Chris Lahey 2005-09-07 16:36:19 UTC
Fix submitted to STABLE.
Comment 13 Stephan Kulow 2005-12-09 17:02:12 UTC
*** Bug 117160 has been marked as a duplicate of this bug. ***