Closed Bug 432851 Opened 16 years ago Closed 8 years ago

Tools -> Import -> Filters -> Eudora doesn't work.

Categories

(Thunderbird :: Migration, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Thunderbird 3.0a3

People

(Reporter: gkw, Assigned: beckley)

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

Occurred on 10.4 Tiger, while testing Shredder Alpha 1 build 1, with build ID version 3.0a1 (2008050714).

1: Go to Tools -> Import -> select Filters, then click "next".
2: "Eudora" is the only option, so click "next" again.

The select file dialog doesn't come up, and the "back" and "next" buttons are greyed out. I can only press "cancel" to get out of the dialog.

Not sure if this affects Intel Macs as well. CC'ing Jeff Beckley as this involves Eudora but I don't know if it's a Eudora issue.
Flags: wanted-thunderbird3?
A possibly related problem would be to go to Tools -> Import -> Address book -> "next" -> select Eudora -> "next" -> cancel the Select file dialog.

Both the "back" and "next" buttons will get deselected. This issue doesn't occur if the "Text file" option is selected, only affects the "Eudora" option.
It's not working for the latest dev builds of Eudora either.  There must have been a regression in the latest TB trunk code that broke it.  I'll have to check this out in more detail to see what's going on.
I'm assuming you'll take this bug on Jeff?
Assignee: nobody → beckley
Yes, I will.
Status: NEW → ASSIGNED
Keywords: qawanted
OS: Mac OS X → All
Hardware: Macintosh → All
Flags: wanted-thunderbird3? → wanted-thunderbird3+
Keywords: regression
Keeping wanted‑thunderbird3+. 
Jeff: I assume you're on this regression, still? Something we can get in for beta1? If not, please push it out to when you approximate to get to it.
Priority: -- → P2
Target Milestone: --- → Thunderbird 3.0b1
Yes, I will make some time to fit this in before b1.
Attached patch Fix for Eudora filter import bug (obsolete) — Splinter Review
This fixes a problem with importing filters from Classic Eudora when there is an action involving a transfer/copy to a mailbox.

Gary, can you check this out to make sure this was the problem that you were having?  It certainly was the issue that stopped my filter importing from working.
Attachment #337401 - Flags: superreview?(bienvenu)
Attachment #337401 - Flags: review?(nth10sd)
Attachment #337401 - Flags: review?(nth10sd) → review?(bienvenu)
Comment on attachment 337401 [details] [diff] [review]
Fix for Eudora filter import bug

Jeff, sorry I'm not (yet?) good enough to review patches. :|

When I have the time to build Thunderbird, I will test out the patch though.

moving review request over to bienvenu..
Comment on attachment 337401 [details] [diff] [review]
Fix for Eudora filter import bug

+  // We've already grabbed the pointer on incoming, so now ensure
+  // *ppFolder is null on outgoing if there is an error
+  NS_IF_RELEASE(*ppFolder);
+  

this is an odd thing to do - is there any reason folder has to be a comptr? Could it be a plain pointer?  Then you could just say *ppFolder = nsnull;
Seems weird to have just a plain ptr to an object, and not do ref counting.  And I suppose in some situations could actually produce bad results.  If we get the object and don't AddRef it, then it could potentially be destroyed when exiting out of the function and the caller will get a deleted object (doesn't happen to occur in this situation because the object is already being kept alive by something else).

What exactly is the best way to handle an in/out parameter to a ref-counted object?  Maybe it would be better to split them out as separate parameters?
How about making GetMailboxFolder take a ref to the comptr as an argument? Would that simplify things?
I think I'm leaning toward the simplification you originally suggested.  The callers of the function will only use that as an out parameter, and only the recursive calls use it as an in parameter as well.  If it's just viewed as a plain out parameter, then it only has to be AddRefed once, not at each recursive step.  The recursive nature of the calls ensure that the ref counts keep the objects alive, and only one final AddRef is necessary to return the object.
Attached patch Better solutionSplinter Review
OK, here's a new way to solve the problem.  Instead of AddRef/Release at each level of recursion, now just AddRef once we get the actual nsIMsgFolder we want to return.
Attachment #337401 - Attachment is obsolete: true
Attachment #337502 - Flags: superreview?(bienvenu)
Attachment #337502 - Flags: review?(bienvenu)
Attachment #337401 - Flags: superreview?(bienvenu)
Attachment #337401 - Flags: review?(bienvenu)
Attachment #337502 - Flags: superreview?(bienvenu)
Attachment #337502 - Flags: superreview+
Attachment #337502 - Flags: review?(bienvenu)
Attachment #337502 - Flags: review+
Comment on attachment 337502 [details] [diff] [review]
Better solution

thx, that's better.
Keywords: checkin-needed
Checked in, changeset id: 294:b19fc26a5e4a
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Just tested, doesn't work, reopening. Debug build has build ID Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20080910155414 Shredder/3.0b1pre

Error message in console is:

JavaScript error: , line 0: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIImportFilters.Import]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://messenger/content/importDialog.js :: ImportFilters :: line 952"  data: no]
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Gary, how did you test this, do you do a build on your own?  I'm wondering if maybe the changes for this didn't get in to your build.

I went and downloaded the nightly from 2008-09-08, and the problem was in that build.  But then I downloaded 2008-09-10 (which has my checked-in changes), and the problem is fixed in it.  Here's the build ID:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.1b1pre) Gecko/20080910025452 Shredder/3.0b1pre

Maybe you could try downloading the latest nightly to see if it works for you?
I just tested on:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b1pre) Gecko/20080910025452 Shredder/3.0b1pre

and it _still_ doesn't work. Not with my existing profile, nor with a fresh profile. :(

(Note: I'm on 10.5.4, Leopard)
This bug (tools->import->filters->eudora nothing happens) is occurring for me with beta 7 freshly installed (have created an account via wizard, haven't logged in yet, imported mail, imported address book, import settings failed, then import filters. tried closing and reopening eudora still fails. This is on windows 7 x64 very freshly installed
Also happen on OpenSolaris, TB version 3.0.1

tools->import->filters->

Then nothing to select to operate with.
Yes, still occurs with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.3a2pre) Gecko/20100222 Shredder/3.2a1pre
Jeff, since Gary can reproduce, is there something he might do in a debug build to get to the bottom of this?

bff in comment #19
> This bug (tools->import->filters->eudora nothing happens) is occurring for me
> with beta 7 freshly installed (have created an account via wizard, haven't
> logged in yet, imported mail, imported address book, import settings failed,

bbf, does bug 368363 adequately cover the settings issue? Or is a new bug needed
(In reply to comment #22)
> Jeff, since Gary can reproduce, is there something he might do in a debug build
> to get to the bottom of this?

Gary, if you can run this under Venkman and/or the XCode debugger you might be able to step through the code to see where its hanging.  Since the previous fix didn't help, I don't know if the problem you're seeing is in JS or C++ code.
(In reply to comment #23)
> (In reply to comment #22)
> > Jeff, since Gary can reproduce, is there something he might do in a debug build
> > to get to the bottom of this?
> 
> Gary, if you can run this under Venkman and/or the XCode debugger you might be
> able to step through the code to see where its hanging.  Since the previous fix
> didn't help, I don't know if the problem you're seeing is in JS or C++ code.

It doesn't hang. It just gives the screen in comment 18 (i.e., after clicking next, no dialog box appears, the next button gets unselectable, all I can click is cancel.)
(In reply to comment #24)
> It doesn't hang. It just gives the screen in comment 18 (i.e., after clicking
> next, no dialog box appears, the next button gets unselectable, all I can click
> is cancel.)

Maybe "hang" was the wrong word choice, and "spin" would be better.  I was thinking a developer being able to step through the problem as it happens would be very helpful.  I can't get it to happen at all.
(In reply to comment #25)
> (In reply to comment #24)
> > It doesn't hang. It just gives the screen in comment 18 (i.e., after clicking
> > next, no dialog box appears, the next button gets unselectable, all I can click
> > is cancel.)
> 
> Maybe "hang" was the wrong word choice, and "spin" would be better.  I was
> thinking a developer being able to step through the problem as it happens would
> be very helpful.  I can't get it to happen at all.

Nope, doesn't spin, TB proceeds to continue working properly after that. Ludo, does this occur for you?
(In reply to comment #26)
> (In reply to comment #25)
> > (In reply to comment #24)
> > > It doesn't hang. It just gives the screen in comment 18 (i.e., after clicking
> > > next, no dialog box appears, the next button gets unselectable, all I can click
> > > is cancel.)
> > 
> > Maybe "hang" was the wrong word choice, and "spin" would be better.  I was
> > thinking a developer being able to step through the problem as it happens would
> > be very helpful.  I can't get it to happen at all.
> 
> Nope, doesn't spin, TB proceeds to continue working properly after that. Ludo,
> does this occur for you?

Haven't tried. So you're saying it works ?
(In reply to comment #27)
> (In reply to comment #26)
> > (In reply to comment #25)
> > > (In reply to comment #24)
> > > > It doesn't hang. It just gives the screen in comment 18 (i.e., after clicking
> > > > next, no dialog box appears, the next button gets unselectable, all I can click
> > > > is cancel.)
> > > 
> > > Maybe "hang" was the wrong word choice, and "spin" would be better.  I was
> > > thinking a developer being able to step through the problem as it happens would
> > > be very helpful.  I can't get it to happen at all.
> > 
> > Nope, doesn't spin, TB proceeds to continue working properly after that. Ludo,
> > does this occur for you?
> 
> Haven't tried. So you're saying it works ?

Nope. Doesn't work in Miramar 3.3 Alpha 1. It's still as described in comment 19 and comment 20.
Importing from Eudora was removed from Thunderbird in bug 1243498.
Please see http://kb.mozillazine.org/Importing_from_Eudora_-_Thunderbird on how you can still import from Eudora if you need that.
Status: REOPENED → RESOLVED
Closed: 16 years ago8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: