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 711532 - Infinite recursion from message/news attachment
Infinite recursion from message/news attachment
Status: RESOLVED FIXED
Product: evolution
Classification: Applications
Component: general
3.10.x (obsolete)
Other Linux
: Normal normal
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
: 689812 711513 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-11-06 09:08 UTC by Claudio Saavedra
Modified: 2015-03-10 14:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Claudio Saavedra 2013-11-06 09:08:45 UTC
This email, currently in my inbox:

  https://mail.gnome.org/archives/epiphany-list/2013-November/msg00002.html

is causing evolution to consistently go OOM when I open it.

If any developer is interested in debugging this I could bounce it directly to you from my inbox.
Comment 1 Claudio Saavedra 2013-11-06 09:24:20 UTC
This recursion, although incomplete, might be useful:

  • #0 _int_malloc
    at malloc.c line 3259
  • #1 __GI___libc_malloc
    at malloc.c line 2859
  • #2 __GI__IO_str_overflow
    at strops.c line 119
  • #3 __GI__IO_default_xsputn
    at genops.c line 480
  • #4 _IO_vfprintf_internal
    at vfprintf.c line 1635
  • #5 __GI___vasprintf_chk
    at vasprintf_chk.c line 66
  • #6 vasprintf
    at /usr/include/bits/stdio2.h line 210
  • #7 g_vasprintf
    at gprintf.c line 314
  • #8 g_strdup_vprintf
    at gstrfuncs.c line 517
  • #9 g_strdup_printf
    at gstrfuncs.c line 543
  • #10 dconf_engine_make_match_rule
    at dconf-engine.c line 689
  • #11 dconf_engine_watch_fast
    at dconf-engine.c line 766
  • #12 g_object_new_internal
    at gobject.c line 1785
  • #13 g_object_new_valist
    at gobject.c line 2002
  • #14 g_object_new
    at gobject.c line 1559
  • #15 g_settings_new
    at gsettings.c line 864
  • #16 settings_mail_part_headers_constructed
    at e-settings-mail-part-headers.c line 78
  • #17 g_object_new_internal
    at gobject.c line 1785
  • #18 g_object_new_valist
    at gobject.c line 2002
  • #19 g_object_new
    at gobject.c line 1559
  • #20 extensible_load_extension
    at e-extensible.c line 97
  • #21 e_type_traverse
    at e-module.c line 362
  • #22 e_extensible_load_extensions
    at e-extensible.c line 142
  • #23 mail_part_headers_constructed
    at e-mail-part-headers.c line 211
  • #24 g_object_new_internal
    at gobject.c line 1785
  • #25 g_object_new_valist
    at gobject.c line 2002
  • #26 g_object_new
    at gobject.c line 1559
  • #27 e_mail_part_headers_new
    at e-mail-part-headers.c line 288
  • #28 empe_headers_parse
    at e-mail-parser-headers.c line 61
  • #29 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #30 empe_message_parse
    at e-mail-parser-message.c line 61
  • #31 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #32 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #33 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #34 empe_message_parse
    at e-mail-parser-message.c line 91
  • #35 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #36 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #37 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #38 empe_message_parse
    at e-mail-parser-message.c line 91
  • #39 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #40 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #41 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #42 empe_message_parse
    at e-mail-parser-message.c line 91
  • #43 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #44 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #45 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #46 empe_message_parse
    at e-mail-parser-message.c line 91
  • #47 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #48 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #49 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #50 empe_message_parse
    at e-mail-parser-message.c line 91
  • #51 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #52 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #53 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #54 empe_message_parse
    at e-mail-parser-message.c line 91
  • #55 e_mail_parser_parse_part_as
  • #56 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #57 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #58 empe_message_parse
    at e-mail-parser-message.c line 91
  • #59 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #60 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #61 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #62 empe_message_parse
    at e-mail-parser-message.c line 91
  • #63 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #64 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #65 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #66 empe_message_parse
    at e-mail-parser-message.c line 91
  • #67 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #68 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #69 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #70 empe_message_parse
    at e-mail-parser-message.c line 91
  • #71 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #72 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #73 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #74 empe_message_parse
    at e-mail-parser-message.c line 91
  • #75 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #76 empe_msg_rfc822_parse
  • #77 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #78 empe_message_parse
    at e-mail-parser-message.c line 91
  • #79 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #80 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #81 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #82 empe_message_parse
    at e-mail-parser-message.c line 91
  • #83 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #84 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #85 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #86 empe_message_parse
    at e-mail-parser-message.c line 91
  • #87 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #88 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #89 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #90 empe_message_parse
    at e-mail-parser-message.c line 91
  • #91 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #92 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #93 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #94 empe_message_parse
    at e-mail-parser-message.c line 91
  • #95 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #96 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #97 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #98 empe_message_parse
    at e-mail-parser-message.c line 91
  • #99 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #100 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #101 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #102 empe_message_parse
    at e-mail-parser-message.c line 91
  • #103 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #104 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #105 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #106 empe_message_parse
    at e-mail-parser-message.c line 91
  • #107 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #108 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #109 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #110 empe_message_parse
    at e-mail-parser-message.c line 91
  • #111 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #112 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #113 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #114 empe_message_parse
    at e-mail-parser-message.c line 91
  • #115 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #116 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #117 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #118 empe_message_parse
    at e-mail-parser-message.c line 91
  • #119 e_mail_parser_parse_part_as
  • #120 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #121 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #122 empe_message_parse
    at e-mail-parser-message.c line 91
  • #123 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #124 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #125 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #126 empe_message_parse
    at e-mail-parser-message.c line 91
  • #127 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #128 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #129 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #130 empe_message_parse
    at e-mail-parser-message.c line 91
  • #131 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #132 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #133 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #134 empe_message_parse
    at e-mail-parser-message.c line 91
  • #135 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #136 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #137 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #138 empe_message_parse
    at e-mail-parser-message.c line 91
  • #139 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #140 empe_msg_rfc822_parse
  • #141 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #142 empe_message_parse
    at e-mail-parser-message.c line 91
  • #143 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #144 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #145 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #146 empe_message_parse
    at e-mail-parser-message.c line 91
  • #147 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #148 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #149 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #150 empe_message_parse
    at e-mail-parser-message.c line 91
  • #151 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #152 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #153 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #154 empe_message_parse
    at e-mail-parser-message.c line 91
  • #155 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #156 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #157 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #158 empe_message_parse
    at e-mail-parser-message.c line 91
  • #159 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #160 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #161 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #162 empe_message_parse
    at e-mail-parser-message.c line 91
  • #163 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #164 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #165 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #166 empe_message_parse
    at e-mail-parser-message.c line 91
  • #167 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #168 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #169 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #170 empe_message_parse
    at e-mail-parser-message.c line 91
  • #171 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #172 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #173 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #174 empe_message_parse
    at e-mail-parser-message.c line 91
  • #175 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #176 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #177 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #178 empe_message_parse
    at e-mail-parser-message.c line 91
  • #179 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #180 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #181 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #182 empe_message_parse
    at e-mail-parser-message.c line 91
  • #183 e_mail_parser_parse_part_as
  • #184 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #185 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #186 empe_message_parse
    at e-mail-parser-message.c line 91
  • #187 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #188 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #189 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #190 empe_message_parse
    at e-mail-parser-message.c line 91
  • #191 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #192 empe_msg_rfc822_parse
    at e-mail-parser-message-rfc822.c line 97
  • #193 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561
  • #194 empe_message_parse
    at e-mail-parser-message.c line 91
  • #195 e_mail_parser_parse_part_as
    at e-mail-parser.c line 561

Comment 2 Matthew Barnes 2013-11-06 16:27:03 UTC
Well I fixed infinite recursion for Evolution 3.11.1 and 3.10.2:

https://git.gnome.org/browse/evolution/commit/?id=465050f57e0bd107a782a233e1f8733ea6edd671

https://git.gnome.org/browse/evolution/commit/?h=gnome-3-10&id=76b9f1a090b529dc8a26e503731b4bef1ee5314c

But the message/news attachment is not getting decoded properly; it's rendered as a blob of Base64 text.  Not sure if that's our fault or if the message is malformed.  Still digging.
Comment 3 Matthew Barnes 2013-11-06 16:55:22 UTC
*** Bug 711513 has been marked as a duplicate of this bug. ***
Comment 4 Matthew Barnes 2013-11-06 18:59:49 UTC
Okay yeah, the message is malformed.

The so-called "message/news" attachment is actually an mbox file.  Changing the Content-Type header to "application/mbox" makes it render correctly.

Granted if the error handling in our MIME parser didn't suck, we could maybe infer that automatically, as the MailMan software seems to do.  But not gonna spend time that right now.

Closing as FIXED.
Comment 5 Milan Crha 2015-03-10 14:53:17 UTC
*** Bug 689812 has been marked as a duplicate of this bug. ***