Closed Bug 699357 Opened 13 years ago Closed 1 year ago

duplicate contacts in mailing list - deletion raises error

Categories

(Thunderbird :: Address Book, defect)

defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: histedv, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Build ID: 20110928134238

Steps to reproduce:

- Create a mailing list
- Add mail addresses
  user1@abc.com
  user2@abc.com
  user3@abc.com
  user3@abc.com <- duplicate!
- Delete 'user3' in the split window perspective
  (notice there's still one 'user3' left)
-Try to delete remaining 'user3'


Actual results:

Fehler: An error occurred executing the button_delete command: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIAbView.deleteSelectedCards]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://messenger/content/addressbook/abCommon.js :: AbDelete :: line 280"  data: no]
Quelldatei: chrome://global/content/globalOverlay.js
Line: 100


Expected results:

Contact list in the split window perspective should reflect real mailing list contacts.
Perhaps duplicate entries in the mailing list should be filtered such that they don't show up in the compose window or split window perspective.
(In reply to RUBadm from comment #0)
I tried the same steps but it works for me; I can delete the duplicate address.
User Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
Build ID: 20110929042316
Even with Version 8.0 the problem still persists. It has just changed somehow..

To reproduce the error create a new list. Enter these addresses:

user1@abc.com
user2@abc.com
user3@abc.com
user3@abc.com

close the edit dialog. Delete both user3 from the list view. Open the edit dialog again. Append the address

user3@abc.com

close the edit dialog and try to delete user3. It doesn't work. You can add as many "user3@abc.com" as you want - you can't delete any of them. If you restart thunderbird, everything is fine again and you can delete as you want. But IMHO restarting is not what you want the user to do for a simple list update.
I once read that the primary key in the list database is just the email address. That's almost ok, as long as you do not allow duplicate entries in the list. Anyway, it's not the most sopisticated way of constructing that database and I think this needs to be changed. Why not insert a single PK value "id" or so? I don't understand why someone would use a construction that's so prone to fail and so easy to circumvent.
RUBadm : does it also happens if you start Thunderbird without extensions (see http://support.mozillamessaging.com/en-US/kb/Safe-Mode) ?
Yes. It also happens when I start Thunderbird with

thunderbird.exe -safe-mode

Btw. can anyone else reproduce this error?
I can't reproduce this either, but there was a similar remark in bug 732722 (with TB10) so maybe we can refine the problem with that user.
Yes I can confirm a similar problem :

Steps to reproduce (it only happens from time to time) :

- Create a mailing list
- Add mail addresses
  user1@abc.com
  user2@abc.com
  user3@abc.com
- Click OK
- All contacts are listed twice !!!
  user1@abc.com
  user1@abc.com
  user2@abc.com
  user2@abc.com
  user3@abc.com
  user3@abc.com
- Click on another mailing list
- Click on the same mailing list and everything looks OK again

If I do it again

- Create a mailing list
- Add mail addresses
  user1@abc.com
  user2@abc.com
  user3@abc.com
- Click OK
- This time contacts are listed correctly !!!

Let's try something else :


- Create a mailing list
- Add mail addresses
  user1@abc.com
  user1@abc.com
  user1@abc.com
  user2@abc.com
  user3@abc.com
- Click OK
- This time contacts are listed correctly :
  user1@abc.com
  user1@abc.com
  user1@abc.com
  user2@abc.com
  user3@abc.com
- BUT if I delete the 3 user1@abc.com  in the list, I see (no change) :
  user1@abc.com
  user1@abc.com
  user1@abc.com
  user2@abc.com
  user3@abc.com
- Click on another mailing list
- Click on the same mailing list and everything looks right this time :
  user2@abc.com
  user3@abc.com

To summarize in 4 words : Addressbook is totally bugged !
Also with thunderbird 10.0.2 you can raise the error. Here's the -HowTo- ;-)

- open the "Address Book" window
- right-click "Personal Address Book"
- click "New List"
- enter any listname
- add these two (equal) email addresses:
   user1@abc.com
   user1@abc.com
- click "OK"
- right-click "user1" -> "Delete" -> "OK"
- right-click "user1" -> "Delete" -> "OK"
- double-click the list you just created
- add the email address again
   user1@abc.com
- click "OK"
- right-click "user1" -> "Delete" -> "OK"

 --> Error

- close the "Address Book" window
- open the "Address Book" window
- click on the list you just created
- right-click "user1" -> "Delete" -> "OK"

 --> works

I guess the database gets sanitized when the address book window is closed. So at least there's no need to restart thunderbird anymore. 

But the issue is still there and reproducible on Windows. I guess this is the same on Linux but I can't confirm from here. Will test this at home later and post the results.
Mconley, could bug 514666 help here too? After all it does some updating of mailinglists. Maybe you could make a try build?

Is any of you able to apply a patch to Thunderbird source and build it?
Actually I should test it myself :)
But I couldn't reproduce the bug so far, will try with the new steps posted today.
I can now reproduce with steps from comment 7, even on TB 13.
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Windows 7 → All
Hardware: x86 → All
Version: 7 → Trunk
(In reply to Denis BUCHER from comment #6)
But do you get the error 
An error occurred executing the button_delete command: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIAbView.deleteSelectedCards]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: chrome://messenger/content/addressbook/abCommon.js :: AbDelete :: line 280"  data: no]
Quelldatei: chrome://global/content/globalOverlay.js

in the Error console? It now looks your problem is a bit different: RUBadm creates 2 same cards intentionally, you do not.
Unfortunately it looks like bug 514666 does not help here.
Mconley can you look at this?
aceman:

I'm fully swamped working on the BigFiles project right now. I might have a chance to poke at this in a few weeks though.

Sorry!

-Mike
I think most of this is duplicate of Bug 628035.
Blocks: 758969
Depends on: 628035
Blocks: 792538
The same problem in openSuse Thunderbird 31.1.2
This still exists.
I noticed that after you delete the duplicate and only a single of the addresses is displayed in the AB window, and you Edit the mailing list, the duplicate address is gone in both duplicates, so actually both of the dupes were deleted not only a single one. The display in the Mailinglist dialog does not match what is shown in the AB window. That may also be the reason for the error, that the entry is only visible in the ML from some code paths. If you click OK in the ML dialog now, the AB window gets updated and the "phantom" message gets finally cleared out of the AB window.
See Also: → 1198923
Severity: normal → S3
Blocks: 1799368

The actual result has changed (which makes this wfm, sort of), so I've re-filed this as a new bug:
https://bugzil.la/1799368 - Adding duplicate email address in Edit mailing list dialog causes temporary ghost duplicate item in the list view, then deleting either duplicate removes both (i.e. the email address now gone from the list).

No longer blocks: 1799368
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
See Also: → 1799368
You need to log in before you can comment on or make changes to this bug.