would it be useful to use a different file format (mbox, e.g.)?
I suppose you mean the format of the destination folder in the
Evolution. Is so, then no, the backtrace suggests that the pst-import
plugin successfully extracted a message content from the .pst file and
created an internal structure (object) with the data describing the
message content. The busy loop happens just in time of converting this
structure (object) into a data stream, which is passed to the server or
to the disk. This part cannot be skipped within the Evolution itself.
If you mean to not use the .pst format, but export the messages from
the Outlook in an eml/mbox format, then it might probably help (see
below).
Anyhow, I was just wondering what you meant by “very large HTML
message”. Do you have a size indication for this?
Say hundreds of kilobytes or more.
Do you know gdb a bit? It’s possible to know which exact message the
code is working on using gdb.
Start Evolution under gdb:
gdb evolution --ex r
run the import and wait until it’s stuck/busy loop. Switch to the
terminal with the gdb and press Ctrl+C
, which will open a gdb prompt.
Do:
t a a bt
to find out which thread contains the
camel_imapx_server_append_message_sync
and switch to it (say it’s
thread 3 like in your above backtrace):
t 3
The backtrace also shows which frame the append_message_sync function
is at (the #16
above):
f 16
then you can print information about the message with:
p camel_mime_message_get_message_id (message)
p camel_mime_message_get_subject (message)
then you can quit the gdb:
q
As you face the same problem with multiple messages (.pst files), then
it can be also something with the way the pst-import extracts the data
from the .pst file. I would try to save this particular message in an
mbox/eml format from the Outlook and import it on its own. Maybe it’ll
work, though it’s likely the Outlook formats the internal data
differently than the pst import plugin.
What would help to the Evolution is to have a very simple .pst file,
with which I could reproduce the problem. It would be enough to have
there this single message and nothing else (supposing the size of the
.pst file/the number of messages saved in it, does not play any role in
the reproducer). It’s a private message, thus nothing to be shared
here, in public. I can give you my email address, if you are willing to
share it with me, for testing purposes only, in case you’d be able to
reproduce it with such simplified .pst file.
Another option is that you can avoid the Evolution’s .pst import and
use some other tools to extract the messages from the .pst file (the
.pst file can contain more than just messages) and import those
extracted files. Maybe you meant that with the other format, then yes,
I agree, that could work or at least it does worth a try.