Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261490 - mail-client/evolution-2.24.4 crashes with camel_mime_message_get_subject assert when Template plugin is enabled.
Summary: mail-client/evolution-2.24.4 crashes with camel_mime_message_get_subject asse...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-06 19:17 UTC by chris salch
Modified: 2009-03-09 00:57 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Debug output from evolution (debug.out,14.03 KB, text/plain)
2009-03-06 19:23 UTC, chris salch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description chris salch 2009-03-06 19:17:23 UTC
This issue has been plauging me for several months now.  I've seen others with the problem elsewhere but have not been able to determine what was actually happening until now.

Reproducible: Always

Steps to Reproduce:
1. Start evolution with the Templates (Drafts based template plugin) plugin  enabled.
2. Select a folder containing email messages.
3. Right click on any message in the folder.
Actual Results:  
Evolution crashes

Expected Results:  
There should be a pop-up menu displayed.
Comment 1 chris salch 2009-03-06 19:23:31 UTC
Created attachment 184164 [details]
Debug output from evolution

This is the debug output from evolution when the crash occurs.  The relevant stack trace appears to be here:

Thread 1 (Thread 0x2b85c9c16c80 (LWP 5791)):
#0  0x00002b85c563225b in read () from /lib/libpthread.so.0
#1  0x00002b85bec3b16e in ?? () from /usr/lib/libmono.so.0
#2  <signal handler called>
#3  0x00002b85c96eb5c5 in raise () from /lib/libc.so.6
#4  0x00002b85c96eca70 in abort () from /lib/libc.so.6
#5  0x00002b85c9437fc0 in g_assertion_message () from /usr/lib/libglib-2.0.so.0
#6  0x00002b85c9438452 in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0
#7  0x00002b85bd3df88b in camel_mime_message_get_subject () from /usr/lib/libcamel-1.2.so.14
#8  0x00002aaab50a0a1a in ?? () from /usr/lib64/evolution/2.24/plugins/liborg-gnome-templates.so
#9  0x00002aaab50a0b93 in org_gnome_templates_popup () from /usr/lib64/evolution/2.24/plugins/liborg-gnome-templates.so
#10 0x00002b85bc88317d in ?? () from /usr/lib64/evolution/2.24/libeutil.so.0
#11 0x00002b85bc885a83 in e_popup_create_menu () from /usr/lib64/evolution/2.24/libeutil.so.0
#12 0x00002b85bc885cd6 in e_popup_create_menu_once () from /usr/lib64/evolution/2.24/libeutil.so.0
#13 0x00002aaaacbc11e6 in ?? () from /usr/lib64/evolution/2.24/components/libevolution-mail.so
#14 0x00002aaaacbc14f1 in ?? () from /usr/lib64/evolution/2.24/components/libevolution-mail.so


The assert occurs in a call orginating from liborg-gnome-templates.so.  I did a little digging and found that the the function camel_mime_message_get_subject appears to be called from only one place in that library, the append_to_menu function:
(lines 588-605, line 597 is the call)
                /* If this uid is trashed, ignore it */
                if (camel_folder_get_message_flags (folder, uid) & CAMEL_MESSAGE_DELETED)
                        continue;

                /* Get the message for this uid */
                message = camel_folder_get_message (folder,
                                uid,
                                NULL);

                subject = camel_mime_message_get_subject (message);

                /* Create the menu item for it */
                item = g_slice_alloc0(sizeof(*item));
                item->type = E_POPUP_ITEM;
                item->path = g_strdup_printf ("%s/%02d", path, i);
                item->label = g_strdup ((strlen(subject) > 0) ? subject : _("No title"));
                item->visible = EM_POPUP_SELECT_MANY | EM_POPUP_SELECT_ONE;




I will very likely do some more digging on this but I don't currently have enough knowledge about the application to do much more than guess as to a solution.
Comment 2 chris salch 2009-03-06 19:26:57 UTC
(In reply to comment #1)
It just occured to me that I didn't mention the file that contained that code.  I found it in 'plugins/templates/template.c' within the evolution code base.


Comment 3 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-03-07 12:50:05 UTC
Please try evo, eds and gtkhtml .24.5. If you can still reproduce this problem, please follow indications in [1] to get a better backtrace before reporting upstream.

[1] http://www.gentoo.org/proj/en/qa/backtraces.xml
Comment 4 chris salch 2009-03-09 00:57:32 UTC
(In reply to comment #3)
> Please try evo, eds and gtkhtml .24.5. If you can still reproduce this problem,
> please follow indications in [1] to get a better backtrace before reporting
> upstream.
> 
> [1] http://www.gentoo.org/proj/en/qa/backtraces.xml
> 


It would appear that 2.24.5 contains a fix for this issue.

Thanks !