[Evolution-hackers] Loading really large E-mails on devices with not enough Vm

This is what happens if you try to open a truly large E-mail on a device
that has not as much memory available:

Is there something we can do about this? Can we change the MIME parsing
algorithm to be less memory demanding for example?

Note that GArray is not really very sparse with memory once you start
having a really large array. Perhaps we can in stead change this to a
normal pointer array of a fixed size (do we know the size before we
start parsing, so that we can allocate an exact size in stead, perhaps?)

0x40cc4e74       *__GI_raise  (sig=6)  at
1       0x40cc6450      *__GI_abort () at abort.c:88
2       0x40c32ba8      IA__g_logv (log_domain=0x40c5a954 "GLib",
log_level=1112474896, format=0x40c6129c "%s: failed to allocate %lu bytes",
args1=0x424f0abc) at gmessages.c:502
3       0x40c32be8      IA__g_log (log_domain=0x0, log_level=4973,
format=0x40c6129c "%s: failed to allocate %lu bytes") at gmessages.c:522
4       0x40c320c8      IA__g_realloc (mem=0x0, n_bytes=16777216) at gmem.c:172
5       0x40c097f4      g_array_maybe_expand (array=0x4161dc08, len=4973) at
6       0x40c09a38      IA__g_array_append_vals (farray=0x4161dc08,
data=0x440e80, len=4071) at garray.c:132
7       0x40c0a384      IA__g_byte_array_append (array=0x4161dc08, data=0x136d
<Address 0x136d out of bounds>, len=1086722716) at garray.c:653
8       0x402a07d4      camel_mime_part_construct_content_from_parser
(dw=0x293f78, mp=0x50d710) at camel-mime-part-utils.c:71
9       0x402a13e0      construct_from_parser (mime_part=0x293f78, mp=0x50d710)
at camel-mime-part.c:968
10      0x402a148c      camel_mime_part_construct_from_parser
(mime_part=0x293f78, mp=0x50d710) at camel-mime-part.c:996
11      0x402a7ba8      construct_from_parser (multipart=0x2f4e90, mp=0x50d710)
at camel-multipart.c:577
12      0x402a7c8c      camel_multipart_construct_from_parser
(multipart=0x2f4e90, mp=0x50d710) at camel-multipart.c:609
13      0x402a081c      camel_mime_part_construct_content_from_parser
(dw=0x57a028, mp=0x50d710) at camel-mime-part-utils.c:122
14      0x402a13e0      construct_from_parser (mime_part=0x57a028, mp=0x50d710)
at camel-mime-part.c:968
15      0x4029ea24      construct_from_parser (dw=0x0, mp=0x50d710) at
16      0x402a148c      camel_mime_part_construct_from_parser
(mime_part=0x57a028, mp=0x50d710) at camel-mime-part.c:996
17      0x402a14c6      construct_from_stream (dw=0x57a028, s=0x571378) at
18      0x40296070      camel_data_wrapper_construct_from_stream
(data_wrapper=0x57a028, stream=0x571378) at camel-data-wrapper.c:270
19      0x414e410c      maildir_get_message (folder=0x57bf28, uid=0x294270
"1200956392.3060_5.Nokia-N810-03-11", type=1086722716, param=1086722752,
ex=0x424f0ce8) at camel-maildir-folder.c:276
20      0x4025281e      camel_folder_get_message (folder=0x57bf28, uid=0x294270
"1200956392.3060_5.Nokia-N810-03-11", type=CAMEL_FOLDER_RECEIVE_ANY_OR_FULL,
param=-1, ex=0x414e40b9) at camel-folder.c:1191
21      0x401e3c94     

Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]