After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 561628 - Evolution crashed while looking at the print preview
Evolution crashed while looking at the print preview
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.24.x (obsolete)
Other All
: High critical
: ---
Assigned To: Milan Crha
Evolution QA team
evolution[composer]
Depends on:
Blocks:
 
 
Reported: 2008-11-20 03:46 UTC by Aravind Seshadri
Modified: 2009-01-27 19:05 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
Stack Trace from gdb (3.90 KB, text/plain)
2008-11-20 15:02 UTC, Aravind Seshadri
  Details
proposed evo patch (typo) (897 bytes, patch)
2009-01-27 14:58 UTC, Milan Crha
committed Details | Review

Description Aravind Seshadri 2008-11-20 03:46:16 UTC
Steps to reproduce:
The crash occurs while using email accounts that have a gpg key associated with it i.e., all the e-mail accounts will attach a gpg signature while sending an email.
1. Click on New Message
2. In the compose message window click on Print Preview
3. When the gpg password prompt comes up click cancel
4. Vola! Evolution crashes

There is no stack trace generated even when the debuginfo were installed. I even tried using gdb. No luck. All I get is the following message

(evolution:11675): Gtk-CRITICAL **: gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed

Cannot confirm if this crash occurs while using e-mails accounts without the gpg keys associated with it.

Stack trace:


Other information:
Comment 1 Matthew Barnes 2008-11-20 03:53:48 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 2 Aravind Seshadri 2008-11-20 14:47:50 UTC
(In reply to comment #1)
> Thanks for taking the time to report this bug.
> Without a stack trace from the crash it's very hard to determine what caused
> it.
> Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces
> for more information on how to do so. Thanks in advance!
> 

Hi Matthew,

What can I do if there is not stack trace generated. As I mentioned in the bug report, I have bug buggy installed as well as all the debuginfo packages installed. I cannot get the stack trace. I even used ***gdb*** with no luck. What more can I do?
Comment 3 Aravind Seshadri 2008-11-20 15:02:04 UTC
Created attachment 123117 [details]
Stack Trace from gdb

Added the stack trace from gdb. The last set of outputs were repeated for ever. I just showed the output until #19, but everything else is exactly the same.
Comment 4 Matthew Barnes 2008-11-20 15:41:08 UTC
Hmm, looks like infinite recursion.  The stuff in efhp_finalize() should probably be in a dispose() method, I guess.

Haven't been able to reproduce the crash for myself yet using 2.25.1.  I tried with a GPG signed message, a GPG encrypted message, and both.  Print preview comes up fine in all three cases.
Comment 5 Aravind Seshadri 2008-11-20 16:06:58 UTC
(In reply to comment #4)
> Haven't been able to reproduce the crash for myself yet using 2.25.1.  I tried
> with a GPG signed message, a GPG encrypted message, and both.  Print preview
> comes up fine in all three cases.
> 

Does the print preview as for a password to verify the gpg key?
Comment 6 Matthew Barnes 2008-11-20 17:03:56 UTC
For GPG encrypted mails, yes.  For GPG signed mails it doesn't need to.
Comment 7 Milan Crha 2009-01-27 14:56:34 UTC
Actually it does require your GPG password when you are in composer, choosing File->Print Preview. :) (I was [also?] playing with a message preview pane under message list).
Comment 8 Milan Crha 2009-01-27 14:58:35 UTC
Created attachment 127330 [details] [review]
proposed evo patch (typo)

for evolution;

Typo in the code, the object claimed its parent is itself, which caused an infinite loop.
Comment 9 Matthew Barnes 2009-01-27 16:28:27 UTC
This will work, but the better way to do it is:

   parent_class = g_type_class_peek_parent (class);

It's one less place to hard-code what the parent class is.

Approving anyway.  Take my suggestion if you want.
Comment 10 Milan Crha 2009-01-27 19:05:23 UTC
Committed to trunk. Committed revision 37142.
Committed to gnome-2-24. Committed revision 37143.

I chose the g_type_class_peek_parent finally, even I saw that function before, I wasn't sure about class referencing there, thus I went by the safe way. :)