The default bug view has changed. See this FAQ.

Importing from Eudora and Outlook busted in TB 38 and trunk.

NEW
Unassigned

Status

MailNews Core
Import
--
critical
2 years ago
3 months ago

People

(Reporter: Jorg K (GMT+1), Unassigned)

Tracking

(Depends on: 1 bug, Blocks: 1 bug, {crash})

Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

Attachments

(2 attachments, 1 obsolete attachment)

(Reporter)

Description

2 years ago
+++ This bug was initially created as a clone of Bug #1175055 +++

Importing from Eudora and Outlook is busted in TB 38 and trunk.

In bug 1175055 the options were disabled. The problem needs to be fixed and the options need to be re-enabled again.

Updated

2 years ago
Crash Signature: [@ nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)] [@ nsXPCWrappedJS::AddRef()] [@ mozilla::dom::workers::GetCurrentThreadJSContext()] → [@ nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*)] [@ nsXPCWrappedJS::AddRef()] [@ mozilla::dom::workers::GetCurrentThreadJSContext()] [@ nsXPCWrappedJS::CallMethod] [@ nsXPCWrappedJS::AddRef] [@ moz…

Comment 1

a year ago
Created attachment 8712815 [details] [diff] [review]
bug1176748_import.patch - main thread only

Totally untested (except that it compiles and tb starts up).

If it works, we could clean things up too, but ... who knows, maybe someone wants to fix it properly some day.
Attachment #8712815 - Flags: feedback?(mozilla)
(Reporter)

Comment 2

a year ago
Created attachment 8712844 [details] [diff] [review]
Part 2: Undo stuff from bug 1175055 so that the import becomes available again.

BTW, this is based on the Eudora removal in bug 1243498. Patch won't apply unless you apply the patch from the other bug first.
(Reporter)

Comment 3

a year ago
Comment on attachment 8712815 [details] [diff] [review]
bug1176748_import.patch - main thread only

I hate to give this an f- but it crashes ;-(

Hit MOZ_CRASH(nsMsgBrkMBoxStore not thread-safe) at c:/mozilla-source/comm-central/mailnews/local/src/nsMsgBrkMBoxStore.cpp:49
#01: NS_LogInit[xul +0x558720]
#02: NS_LogInit[xul +0x6b6ad0]
#03: NS_LogInit[xul +0x3d79e5]
#04: NS_LogInit[xul +0x560ba3]
#05: NSSBase64_EncodeItem[nss3 +0x290568]
#06: NSSBase64_EncodeItem[nss3 +0x27d90f]
#07: _get_flsindex[MSVCR120 +0x2c01d]
#08: _get_flsindex[MSVCR120 +0x2c001]
#09: BaseThreadInitThunk[kernel32 +0x4d0e9]
#10: RtlInitializeExceptionChain[ntdll +0x419bb]
#11: RtlInitializeExceptionChain[ntdll +0x4198e]

https://dxr.mozilla.org/comm-central/source/mailnews/local/src/nsMsgBrkMBoxStore.cpp#49

Here's what I did: I compiled on Win 7 and copied over the dist/bin folder to the Vista box that has Outlook installed. There I removed the TB profile for a fresh start. The first panel that comes up is the migration/import panel. I said OK to Outlook and it crashed.
Attachment #8712815 - Flags: feedback?(mozilla) → feedback-

Comment 4

a year ago
Created attachment 8713327 [details] [diff] [review]
bug1176748_import.patch

Would you mind testing this too? 
I had forgot to actually get rid of the new thread creation. (There seems to be one more related to outlook ab import, haven't touched that)
Attachment #8712815 - Attachment is obsolete: true
Attachment #8713327 - Flags: feedback?(mozilla)
(Reporter)

Comment 5

a year ago
Comment on attachment 8713327 [details] [diff] [review]
bug1176748_import.patch

I don't mind testing it as long as you don't mind another f- ;-)

Instead of crashing it now hangs.

The last debug is this:
[2076] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8000FFFF: file c:/mozilla-source/comm-central/mailnews/base/src/nsMsgAccountManager.cpp, line 2316
[2076] WARNING: No valid default account found.: file c:/mozilla-source/comm-central/mailnews/base/src/nsMsgAccountManager.cpp, line 781
[2076] WARNING: Just using the first one (FIXME).: file c:/mozilla-source/comm-central/mailnews/base/src/nsMsgAccountManager.cpp, line 783

Yesterday the crash came right after these lines, now it hangs there. The Outlook inbox only has three messages, so that should be imported quickly. I finally killed it.

It had managed to create "Outlook Import" in "Local Folder" and in there an Inbox and Inbox.msf. But the Inbox has 0 bytes so as far as I can see, nothing got imported.
Attachment #8713327 - Flags: feedback?(mozilla) → feedback-
(Reporter)

Comment 6

a year ago
Quoting from a private message from Joshua Cranmer:
The issue in question is that the importer code all runs off-main-thread, and a great deal of interfaces and implementations are designed to be main-thread-only--and when they're used off-main-thread, a fatal assert fires and the whole things comes crashing down. The "usual" trick for this is proxying the relevant interfaces.

The only reason that the import code tries to run off-main-thread appears to be so that the implementors can be lazy and do a giant synchronous run without bothering about returning control to the event loop. In practice, we'd have to proxy so much back to the main thread anyways; simply fixing the import code to process a single mail message at a time and then yielding back into the event loop (the best example code I can think of here is <https://dxr.mozilla.org/comm-central/source/mailnews/news/src/nsNNTPProtocol.cpp#2818-2883>) would achieve much the same effect with far less brittleness. It's probably possible to test this effect by ripping the proxies out and then figuring out where a more basic mail importer... but I don't think we actually have one of those :-(
No longer a topcrash
Keywords: topcrash-thunderbird
You need to log in before you can comment on or make changes to this bug.