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 540269 - Evolution crashes in em-format.c:em_format_is_attachment() if called for an empty message
Evolution crashes in em-format.c:em_format_is_attachment() if called for an e...
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: Mailer
2.26.x (obsolete)
Other All
: High critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
evolution[attachments]
: 524774 532201 557306 560461 565537 582590 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-06-26 07:25 UTC by Andrew Cowie
Modified: 2013-09-13 00:58 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22


Attachments
patch which checks whether dw is NULL (634 bytes, patch)
2008-06-27 12:24 UTC, Tobias Mueller
none Details | Review

Description Andrew Cowie 2008-06-26 07:25:05 UTC
What were you doing when the application crashed?
Just for fun, I tried "Compose in external editor" from the File menu. It hung Evolution; I went and killed the child `vim` process and then evo crashed. How about that.

Glancing at the .xsession-errors part of the crash, it's interesting to see it having tried to start vim, but presumably not having had a terminal to do so in. Hmm.

AfC



Distribution: Gentoo Base System release 1.12.11.1
Gnome Release: 2.22.2 2008-06-03 (Gentoo)
BugBuddy Version: 2.22.0

System: Linux 2.6.24-gentoo-r8 #1 SMP Fri May 16 22:55:49 EST 2008 i686
X Vendor: The X.Org Foundation
X Vendor Release: 10402000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Cillop-Mediterranean
Icon Theme: gnome

Memory status: size: 129499136 vsize: 129499136 resident: 53235712 share: 22171648 rss: 53235712 rss_rlim: 4294967295
CPU usage: start_time: 1214464837 rtime: 447 utime: 399 stime: 48 cutime:22 cstime: 9 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/evolution'

[Thread debugging using libthread_db enabled]
[New Thread 0xb5a846e0 (LWP 25423)]
[New Thread 0xb3c6db90 (LWP 25545)]
[New Thread 0xb447fb90 (LWP 25543)]
[New Thread 0xb345eb90 (LWP 25429)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread 0xb5a846e0 (LWP 25423))

  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/libpthread.so.0
  • #2 IA__g_spawn_sync
    at gspawn.c line 374
  • #3 IA__g_spawn_command_line_sync
    at gspawn.c line 682
  • #4 run_bug_buddy
    at gnome-breakpad.cc line 213
  • #5 check_if_gdb
    at gnome-breakpad.cc line 283
  • #6 google_breakpad::ExceptionHandler::InternalWriteMinidump
    at ../google-breakpad/src/client/linux/handler/exception_handler.cc line 226
  • #7 google_breakpad::ExceptionHandler::HandleException
    at ../google-breakpad/src/client/linux/handler/exception_handler.cc line 197
  • #8 <signal handler called>
  • #9 em_format_is_attachment
    at em-format.c line 957
  • #10 em_format_part_as
    at em-format.c line 624
  • #11 em_format_part
    at em-format.c line 657
  • #12 em_utils_part_to_html
    at em-utils.c line 1581
  • #13 e_msg_composer_new_with_message
    at e-msg-composer.c line 4674
  • #14 org_gnome_external_editor
    at external-editor.c line 137
  • #15 epl_invoke
    at e-plugin.c line 894
  • #16 e_plugin_invoke
    at e-plugin.c line 666
  • #17 emph_menu_activate
    at e-menu.c line 633
  • #18 em_activate
    at e-menu.c line 336
  • #19 marshal_VOID__USER_DATA_STRING
    at bonobo-ui-component.c line 221
  • #20 IA__g_closure_invoke
    at gclosure.c line 490
  • #21 bonobo_closure_invoke_va_list
    at bonobo-types.c line 404
  • #22 bonobo_closure_invoke
    at bonobo-types.c line 467
  • #23 impl_Bonobo_UIComponent_execVerb
    at bonobo-ui-component.c line 158
  • #24 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    at Bonobo-common.c line 332
  • #25 ORBit_c_stub_invoke
    at poa.c line 2636
  • #26 Bonobo_UIComponent_execVerb
    at Bonobo-stubs.c line 544
  • #27 impl_emit_verb_on
    at bonobo-ui-engine.c line 1533
  • #28 IA__g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #29 g_type_class_meta_marshal
    at gclosure.c line 567
  • #30 IA__g_closure_invoke
    at gclosure.c line 490
  • #31 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #32 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #33 IA__g_signal_emit
    at gsignal.c line 2243
  • #34 bonobo_ui_engine_emit_verb_on_w
    at bonobo-ui-engine.c line 3040
  • #35 exec_verb_cb
    at bonobo-ui-sync-menu.c line 473
  • #36 IA__g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #37 IA__g_closure_invoke
    at gclosure.c line 490
  • #38 signal_emit_unlocked_R
    at gsignal.c line 2440
  • #39 IA__g_signal_emit_valist
    at gsignal.c line 2199
  • #40 IA__g_signal_emit
    at gsignal.c line 2243
  • #41 IA__gtk_widget_activate
    at gtkwidget.c line 4709
  • #42 IA__gtk_menu_shell_activate_item
    at gtkmenushell.c line 1150
  • #43 gtk_menu_shell_button_release
    at gtkmenushell.c line 674
  • #44 gtk_menu_button_release
    at gtkmenu.c line 2725
  • #45 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 84
  • #46 g_type_class_meta_marshal
    at gclosure.c line 567
  • #47 IA__g_closure_invoke
    at gclosure.c line 490
  • #48 signal_emit_unlocked_R
    at gsignal.c line 2478
  • #49 IA__g_signal_emit_valist
    at gsignal.c line 2209
  • #50 IA__g_signal_emit
    at gsignal.c line 2243
  • #51 gtk_widget_event_internal
    at gtkwidget.c line 4678
  • #52 IA__gtk_propagate_event
    at gtkmain.c line 2336
  • #53 IA__gtk_main_do_event
    at gtkmain.c line 1556
  • #54 gdk_event_dispatch
    at gdkevents-x11.c line 2351
  • #55 IA__g_main_context_dispatch
    at gmain.c line 2009
  • #56 g_main_context_iterate
    at gmain.c line 2642
  • #57 IA__g_main_loop_run
    at gmain.c line 2850
  • #58 bonobo_main
    at bonobo-main.c line 311
  • #59 main
    at main.c line 793
  • #0 __kernel_vsyscall


----------- .xsession-errors (14 sec old) ---------------------
Vim: Warning: Output is not to a terminal
Vim: Warning: Input is not from a terminal
[m[m[0m[H[2J[24;1H"/tmp/evolution-composer" "/tmp/evolution-composer" 10L, 438C[1;1H[1m[36m###|||Insert , seperated TO addresses below this line. Do not delete this line. [3;1H###||| Insert

###|||Insert BODY of mail below this line. Do not delete this line.[0m

[1m[34m~                                                                               [12;1H~                                                                               [13;1H~                

Vim: Finished.
[24;1H
(evolution:25423): camel-CRITICAL **: camel_object_is: assertion `o != NULL' failed
(evolution:25423): camel-CRITICAL **: camel_object_is: assertion `o != NULL' failed
(evolution:25423): camel-CRITICAL **: camel_data_wrapper_get_mime_type: assertion `CAMEL_IS_DATA_WRAPPER (data_wrapper)' failed
--------------------------------------------------
Comment 1 Andrew Cowie 2008-06-26 07:27:26 UTC
P.S. If someone could tell me how to configure things [debugedit? Some gdb setting? Something in Bug Buddy?] so that function call stacks aren't included in stack traces I'd appreciate it. It rather dampens the signal to noise ratio.
AfC
Comment 2 Akhil Laddha 2008-06-27 03:24:02 UTC
*** Bug 524774 has been marked as a duplicate of this bug. ***
Comment 3 Tobias Mueller 2008-06-27 11:21:11 UTC
*** Bug 532201 has been marked as a duplicate of this bug. ***
Comment 4 Tobias Mueller 2008-06-27 11:27:31 UTC
I'm hitting the same issue with 2.22. Pretty easy to reproduce. Just hit File->Compose with external editor.

muelli@rootbox ~ $ evolution 
CalDAV Eplugin starting up ...
libnm_glib_nm_state_cb: dbus returned an error.
  (org.freedesktop.DBus.Error.ServiceUnknown) The name org.freedesktop.NetworkManager was not provided by any .service files

(evolution:10354): composer-CRITICAL **: set_editor_signature: assertion `account != NULL' failed
restoring draft flag 'text/plain'

(evolution:10354): gtkhtml-WARNING **: No such file or directory



(evolution:10354): e-data-server-DEBUG: Loading categories from "/home/muelli/.evolution/categories.xml"
(evolution:10354): e-data-server-DEBUG: Loaded 29 categories


external_editor plugin is launched 

/bin/nano: unrecognized option `--nofork'
Usage: nano [OPTIONS] [[+LINE,COLUMN] FILE]...

Option		GNU long option		Meaning
 -h, -?		--help			Show this message
 +LINE,COLUMN				Start at line LINE, column COLUMN
 -A		--smarthome		Enable smart home key
 -B		--backup		Save backups of existing files
 -C <dir>	--backupdir=<dir>	Directory for saving unique backup files
 -D		--boldtext		Use bold instead of reverse video text
 -E		--tabstospaces		Convert typed tabs to spaces
 -F		--multibuffer		Enable multiple file buffers
 -H		--historylog		Log & read search/replace string history
 -I		--ignorercfiles		Don't look at nanorc files
 -K		--rebindkeypad		Fix numeric keypad key confusion problem
 -L		--nonewlines		Don't add newlines to the ends of files
 -N		--noconvert		Don't convert files from DOS/Mac format
 -O		--morespace		Use one more line for editing
 -Q <str>	--quotestr=<str>	Quoting string
 -R		--restricted		Restricted mode
 -S		--smooth		Smooth scrolling
 -T <#cols>	--tabsize=<#cols>	Set width of a tab to #cols columns
 -U		--quickblank		Do quick statusbar blanking
 -V		--version		Print version information and exit
 -W		--wordbounds		Detect word boundaries more accurately
 -Y <str>	--syntax=<str>		Syntax definition to use for coloring
 -c		--const			Constantly show cursor position
 -d		--rebinddelete		Fix Backspace/Delete confusion problem
 -i		--autoindent		Automatically indent new lines
 -k		--cut			Cut from cursor to end of line
 -l		--nofollow		Don't follow symbolic links, overwrite
 -m		--mouse			Enable the use of the mouse
 -o <dir>	--operatingdir=<dir>	Set operating directory
 -p		--preserve		Preserve XON (^Q) and XOFF (^S) keys
 -r <#cols>	--fill=<#cols>		Set wrapping point at column #cols
 -s <prog>	--speller=<prog>	Enable alternate speller
 -t		--tempfile		Auto save on exit, don't prompt
 -v		--view			View mode (read-only)
 -w		--nowrap		Don't wrap long lines
 -x		--nohelp		Don't show the two help lines
 -z		--suspend		Enable suspension
 -a, -b, -e,				
 -f, -g, -j				(ignored, for Pico compatibility)


external editor works like a charm 


stripped off token[1] is :  

stripped off token[2] is :  

stripped off token[3] is :  

stripped off token[4] is :  

stripped off token[5] is :  

(evolution:10354): composer-CRITICAL **: set_editor_signature: assertion `account != NULL' failed

(evolution:10354): camel-CRITICAL **: camel_object_is: assertion `o != NULL' failed

(evolution:10354): camel-CRITICAL **: camel_object_is: assertion `o != NULL' failed

(evolution:10354): camel-CRITICAL **: camel_data_wrapper_get_mime_type: assertion `CAMEL_IS_DATA_WRAPPER (data_wrapper)' failed
Stacktrace:


Native stacktrace:

	/usr/lib/libmono.so.0 [0xb6d08469]
	/usr/lib/libmono.so.0 [0xb6d26051]
	/usr/lib/libmono.so.0 [0xb6cb6e48]
	[0xffffe440]

Debug info from gdb:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb5d7db00 (LWP 10354)]
[New Thread 0xb1df0b90 (LWP 10623)]
[New Thread 0xb1634b90 (LWP 10622)]
[New Thread 0xb3664b90 (LWP 10365)]
[New Thread 0xb5103b90 (LWP 10357)]
[New Thread 0xb5127b90 (LWP 10356)]
0xffffe410 in __kernel_vsyscall ()
  6 Thread 0xb5127b90 (LWP 10356)  0xffffe410 in __kernel_vsyscall ()
  5 Thread 0xb5103b90 (LWP 10357)  0xffffe410 in __kernel_vsyscall ()
  4 Thread 0xb3664b90 (LWP 10365)  0xffffe410 in __kernel_vsyscall ()
  3 Thread 0xb1634b90 (LWP 10622)  0xffffe410 in __kernel_vsyscall ()
  2 Thread 0xb1df0b90 (LWP 10623)  0xffffe410 in __kernel_vsyscall ()
  1 Thread 0xb5d7db00 (LWP 10354)  0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread 0xb5d7db00 (LWP 10354))

  • #0 __kernel_vsyscall
  • #1 select
    from /lib/libc.so.6
  • #2 IA__g_spawn_sync
    at gspawn.c line 305
  • #3 IA__g_spawn_command_line_sync
    at gspawn.c line 682
  • #4 mono_handle_native_sigsegv
    at mini-exceptions.c line 1044
  • #5 mono_arch_handle_altstack_exception
    at exceptions-x86.c line 855
  • #6 sigsegv_signal_handler
    at mini.c line 12162
  • #7 <signal handler called>
  • #8 em_format_is_attachment
    at em-format.c line 957
  • #9 em_format_part_as
    at em-format.c line 624
  • #10 em_format_part
    at em-format.c line 657
  • #11 em_utils_part_to_html
    at em-utils.c line 1581
  • #12 e_msg_composer_new_with_message
    at e-msg-composer.c line 4674
  • #13 org_gnome_external_editor
    at external-editor.c line 137
  • #14 epl_invoke
    at e-plugin.c line 894
  • #15 e_plugin_invoke
    at e-plugin.c line 666
  • #16 emph_menu_activate
    at e-menu.c line 633
  • #17 em_activate
    at e-menu.c line 336
  • #18 marshal_VOID__USER_DATA_STRING
    from /usr/lib/libbonoboui-2.so.0
  • #19 ??
  • #20 ??
  • #21 ??
  • #22 IA__g_type_is_a
    at gtype.c line 2788
  • #23 ??
  • #24 ??
  • #0 __kernel_vsyscall


=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

Aborted
muelli@rootbox ~ $ echo $VISUAL 

muelli@rootbox ~ $ echo $EDITOR
/bin/nano
muelli@rootbox ~ $ 

Please notice that it tried to launch nano with a bad option. Does it assume vi to be the editor?
Also I had clicked that "Compose in external editor" from Contacts view. Does it make sense to provide that option in contacts view anyway?
Comment 5 Tobias Mueller 2008-06-27 12:14:04 UTC
I guess, I caught the crasher. The crashing function is

int em_format_is_attachment(EMFormat *emf, CamelMimePart *part)
{
	/*CamelContentType *ct = camel_mime_part_get_content_type(part);*/
	CamelDataWrapper *dw = camel_medium_get_content_object((CamelMedium *)part);

	/*printf("checking is attachment %s/%s\n", ct->type, ct->subtype);*/
	return !(camel_content_type_is (dw->mime_type, "multipart", "*")
                ....

and dw is NULL.

(gdb) where
  • #0 em_format_is_attachment
    at em-format.c line 957
$5 = (CamelDataWrapper *) 0x0
(gdb) call camel_mime_part_get_content_type(part)
$6 = (CamelContentType *) 0x833acb0
(gdb) call camel_mime_part_get_content_type(part)->type
$7 = 0x86589f0 "text"
(gdb) call camel_mime_part_get_content_type(part)->subtype
$8 = 0x86761f0 "plain"
(gdb) 
Comment 6 Tobias Mueller 2008-06-27 12:24:25 UTC
Created attachment 113529 [details] [review]
patch which checks whether dw is NULL

Pretty simple patch, but I can't test it :(
I hope to get the semantics right by returning true, to consider it an attachment.
Comment 7 Srinivasa Ragavan 2008-06-30 07:02:16 UTC
Sankar, you need to look at it IMM.
Comment 8 Srinivasa Ragavan 2008-07-27 18:42:23 UTC
Milan, can you review it?
Comment 9 Milan Crha 2008-07-28 10:01:43 UTC
I cannot reproduce it with evolution revision 35743. It doesn't crash but neither opens the composer. I can see my "nano" on the console, but it doesn't response, same as vim (I installed vim, do you believe?). Then I tried to set the editor to gedit and then it crashed, but in totally different place:

  • #0 __kernel_vsyscall
  • #1 __lll_lock_wait
    from /lib/libpthread.so.0
  • #2 _L_lock_88
    from /lib/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/libpthread.so.0
  • #4 g_source_destroy_internal
    at gmain.c line 890
  • #5 IA__g_source_destroy
    at gmain.c line 948
  • #6 ??
    from /usr/lib/libORBit-2.so.0
  • #7 link_watch_move_io
    from /usr/lib/libORBit-2.so.0
  • #8 link_servers_move_io_T
    from /usr/lib/libORBit-2.so.0
  • #9 ??
    from /usr/lib/libORBit-2.so.0
  • #10 link_exec_command
    from /usr/lib/libORBit-2.so.0
  • #11 link_set_io_thread
    from /usr/lib/libORBit-2.so.0
  • #12 giop_thread_new_check
    from /usr/lib/libORBit-2.so.0
  • #13 ORBit_small_invoke_stub
    from /usr/lib/libORBit-2.so.0
  • #14 ORBit_small_invoke_stub_n
    from /usr/lib/libORBit-2.so.0
  • #15 ORBit_c_stub_invoke
    from /usr/lib/libORBit-2.so.0
  • #16 ConfigDatabase2_lookup_with_schema_name
    from /usr/lib/libgconf-2.so.4
  • #17 gconf_engine_get_fuller
    from /usr/lib/libgconf-2.so.4
  • #18 gconf_engine_get_entry
    from /usr/lib/libgconf-2.so.4
  • #19 ??
    from /usr/lib/libgconf-2.so.4
  • #20 ??
    from /usr/lib/libgconf-2.so.4
  • #21 gconf_client_get_string
    from /usr/lib/libgconf-2.so.4
  • #22 e_composer_get_default_charset
    at e-composer-private.c line 303
  • #23 e_composer_private_init
    at e-composer-private.c line 115
  • #24 msg_composer_init
    at e-msg-composer.c line 2773
  • #25 IA__g_type_create_instance
    at gtype.c line 1575
  • #26 g_object_constructor
    at gobject.c line 1046
  • #27 editor_constructor
    at gtkhtml-editor.c line 457
  • #28 msg_composer_constructor
    at e-msg-composer.c line 2103
  • #29 IA__g_object_newv
    at gobject.c line 937
  • #30 IA__g_object_new_valist
  • #31 IA__g_object_new
    at gobject.c line 795
  • #32 create_composer
    at e-msg-composer.c line 2896
  • #33 e_msg_composer_new_with_message
    at e-msg-composer.c line 3433
  • #34 async_external_editor
    at external-editor.c line 179
  • #35 g_thread_create_proxy
    at gthread.c line 635
  • #36 start_thread
    from /lib/libpthread.so.0
  • #37 clone
    from /lib/libc.so.6
  • #60 glade_xml_new
    from /usr/lib/libglade-2.0.so.0
  • #61 gtkhtml_editor_private_init
    at gtkhtml-editor-private.c line 201
  • #62 editor_init
    at gtkhtml-editor.c line 833

It seems like totally different issue than the above.

----------------------------------------------------------------------------

Nonetheless, I think the check can be done there, but as far as I can tell, the dw can be NULL for those cases where there is empty body. Thus do not do the g_return_val_if_fail there, do rather if (!dw) return 0;

It's fine to just do this, add ChangeLog and commit to trunk, from my point of view. If you wish, you cn upload modified version before commit, I'll leave it up on you.
Comment 10 Akhil Laddha 2008-10-22 03:47:40 UTC
*** Bug 557306 has been marked as a duplicate of this bug. ***
Comment 11 Akhil Laddha 2008-10-22 03:48:17 UTC
Tobias, ping 
Comment 12 Kandepu Prasad 2008-12-24 08:49:41 UTC
*** Bug 565537 has been marked as a duplicate of this bug. ***
Comment 13 Paul Bolle 2009-02-01 13:04:55 UTC
Similar crash in 2.25.5, that seems to have happened while just switching folders. (My guess is evolution tried to render a mail that was already moved to another folder.) That implies the summary of this bug is too narrow. Anyway, gdb tells me:

(gdb) bt
  • #0 em_format_is_attachment
    at em-format.c line 956
  • #1 em_format_part_as
    at em-format.c line 622
  • #2 em_format_part
    at em-format.c line 655
  • #3 emf_multipart_mixed
    at em-format.c line 1260
  • #4 em_format_part_as
    at em-format.c line 625
  • #5 emf_multipart_signed
    at em-format.c line 1523
  • #6 em_format_part_as
    at em-format.c line 625
  • #7 em_format_part
    at em-format.c line 652
  • #8 emf_multipart_mixed
    at em-format.c line 1260
  • #9 em_format_part_as
    at em-format.c line 625
  • #10 em_format_part
    at em-format.c line 652
  • #11 efh_format_message
    at em-format-html.c line 2083
  • #12 efh_format_exec
    at em-format-html.c line 1269
  • #13 mail_msg_proxy
    at mail-mt.c line 520
  • #14 ??
    from /lib/libglib-2.0.so.0
  • #15 ??
    from /lib/libglib-2.0.so.0
  • #16 start_thread
    from /lib/libpthread.so.0
  • #17 clone
    from /lib/libc.so.6
  • #0 em_format_is_attachment
    at em-format.c line 956
$10 = (EMFormat *) 0x950be78
(gdb) print part
$11 = (CamelMimePart *) 0xa9c9400
(gdb) print *part
$12 = {parent_object = {parent_object = {parent_object = {klass = 0x9b11b20, magic = 2007188717, hooks = 0x0, ref_count = 1, flags = 0, 
        next = 0x9d4ea38, prev = 0x0}, priv = 0xa31c860, encoding = CAMEL_TRANSFER_ENCODING_DEFAULT, mime_type = 0xb16a2d0, stream = 0x0, 
      offline = 0}, content = 0x0}, headers = 0x0, description = 0x0, disposition = 0x0, content_id = 0x0, content_MD5 = 0x0, 
  content_location = 0x0, content_languages = 0x0, encoding = CAMEL_TRANSFER_ENCODING_DEFAULT}
(gdb) p dw
$13 = (CamelDataWrapper *) 0x0

Nothing that invalidates comment #9 here.

So, I guess this should count as a ping for Tobias too. Tobias, feel free to claim to be busy, uninterested, whatever, and I'm happy to commit the three lines (and ChangeLog administratrivia) that Milan suggested.

(Bumping version. Attempted to adjusting summary too.)
Comment 14 Paul Bolle 2009-02-01 13:16:09 UTC
Shouldn't the description of camel_medium_get_content_object() be updated too? Currently it reads:

/**
 * camel_medium_get_content_object:
 * @medium: a #CamelMedium object
 *
 * Getss a data wrapper that represents the content of the medium,
 * without its headers.
 *
 * Returns: a #CamelDataWrapper containing @medium's content
 **/

Should I (fix one typo and) add the possibility of a NULL return value?
Comment 15 Tobias Mueller 2009-02-04 22:43:01 UTC
Sounds good. Go for it and attach a patch :)
Comment 16 Akhil Laddha 2009-05-13 08:01:59 UTC
i got same crash today with master.  any update on patch ?  
Comment 17 Milan Crha 2009-05-27 13:40:45 UTC
Created commit b9149e4 in evo master.
Created commit bdbcdf0 in eds master.
Comment 18 Akhil Laddha 2009-06-24 07:08:55 UTC
*** Bug 582590 has been marked as a duplicate of this bug. ***
Comment 19 Milan Crha 2010-06-15 17:30:53 UTC
*** Bug 560461 has been marked as a duplicate of this bug. ***