Closed Bug 455963 Opened 16 years ago Closed 16 years ago

IMAP assertion: db has key - flagState messed up?

Categories

(MailNews Core :: Backend, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 3.0b1

People

(Reporter: dmosedale, Assigned: Bienvenu)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

I'm seeing bunches of these since the autosync code landed:

###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
Moving to mailnews: backend so that we can target appropriately.
Assignee: bugmil.ebirol → nobody
Component: Networking: IMAP → Backend
Flags: blocking-thunderbird3+
Product: Core → MailNews Core
QA Contact: networking.imap → backend
Target Milestone: --- → Thunderbird 3.0b1
Assignee: nobody → bugmil.ebirol
Whiteboard: [needs analysis]
Blocks: 436615
Keywords: regression
I have tested the trunk on Mac OS X with the following test environment:

+ Debug build of trunk 
+ New profile with 5 accounts
+ 3 gmail imap, 1 Zimbra imap, and 1 Cyrus imap 
+ Total message count ~15.000, highest message number in a single mailbox 6.000
+ Spotlight pref is set to false
+ No gloda
+ 1 filter
+ default pref.js

Didn't get the assertion mentioned above even when copying/moving messages all around the folders during/after background downloads. Bienvenu confirmed that he didn't see it neither when reviewing auto-sync patch. So far only dmose gets this and other database related assertions.

Also, bienvenu has mentioned that this is the same assertion given when tb does undo offline move operations.

One thing is worth to mention that I see spotlight console logs even when spotlight is not enabled:

encoded message id = 200806241430.m5OEUjE0027835%40mrapp51.mozilla.org
getting support file path = /Users/ebirol/Library/Thunderbird/Profiles/v8alozct.betatest/ImapMail/mail-test.mozillamessaging.com/INBOX.mozmsgs/200806241430.m5OEUjE0027835%40mrapp51.mozilla.org.mozeml

No .mozeml or .mozmsg files created. Looks like even it is disabled, it hooks into the folder listener (on itemAdded I guess) and prints some logs.

If time permits, I want to try with jcranmer's fake imap server to see whether a flaky connection might generate them or not.

Any debug ideas are highly appreciated.

dmose: Does this assertion stop when tb is back from idle?
Here's some debug spew from nsAutoSyncManager:

*** Skipping folder imap://dmose@mail.meer.net/Archive [Offline: no]
*** Skipping folder imap://dmose@mail.meer.net/Archive/AddrBook [Offline: yes][Status: InQ]
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Burning Man
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Health
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Knobs
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Oracle
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Pats
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Personal
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Sports
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Stuff
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Tech
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Archive/Unsorted
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/bulk
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Deleted Items
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Deleted Messages
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Drafts
*** Skipping folder imap://dmose@mail.meer.net/INBOX [Offline: yes][Status: Downloading]
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Junk
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Pending
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Prof
*** Skipping folder imap://dmose@mail.meer.net/Records [Offline: no]
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Records/Brokers
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Records/Misc
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Records/Receipts
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Records/Speakeasy
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Sent Items
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Sent Messages
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Sent
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Stuff
*** Initiating Auto-Sync on folder imap://dmose@mail.meer.net/Trash
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/@ACTION
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Apple Mail To Do
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Archive
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Bugs
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Bugs/@ACTION
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Chats
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Contacts
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Deleted Messages
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Drafts
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Emailed Contacts
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/INBOX
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Junk
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Lists
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Lists/whatwg
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Pending
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Sent Messages
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Sent
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Templates
*** Initiating Auto-Sync on folder imap://dmosedale@mail.mozilla.com/Trash
*** Skipping folder imap://dmose2@mail.mac.com/INBOX [Offline: no]
*** Skipping folder imap://dmose2@mail.mac.com/Sent Messages [Offline: no]
*** Skipping folder imap://dmose2@mail.mac.com/Trash [Offline: no]
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 3 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 9 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 6 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 4 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 6 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
Downloading 1 messages for folder imap://dmose@mail.meer.net/INBOX
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
in msgsDeleted
encoded message id = NBBBJLEBOLJOHDKOIBDPOEOBGBAA.alex%40edelstein.org
getting support file path = /Users/dmose/Library/Thunderbird/Profiles/7gmvijow.default/ImapMail/mail.meer.net/Pending.mozmsgs/NBBBJLEBOLJOHDKOIBDPOEOBGBAA.alex%40edelstein.org.mozeml
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/comm-central-trunk/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
in msgsDeleted
encoded message id = 001001c008ae%24ebbbf7b0%248701a8c0%40main.gnac.com
getting support file path = /Users/dmose/Library/Thunderbird/Profiles/7gmvijow.default/ImapMail/mail.meer.net/Prof.mozmsgs/001001c008ae%24ebbbf7b0%248701a8c0%40main.gnac.com.mozeml
I _think_ I see the assertion sometimes when it's back from idle, yes.  But it may just be bleeding out the operations already queued at idle time.
Note that this is with the default amount of autosync debug output (L1).  I can trying bumping up to L2 if you think that might help.
>in msgsDeleted
>encoded message id = NBBBJLEBOLJOHDKOIBDPOEOBGBAA.alex%40edelstein.org
>getting support file >path=/Users/dmose/Library/Thunderbird/Profiles/7gmvijow.default/ImapMail/mail.meer.net

This comes from spotlight (even when it is disabled) and says that a message is deleted. I like to know what might cause this deletion: did you delete anything manually while you getting this log, or it is a filter causing it?

One theory is; during auto-sync, we get the semaphore, a filter or something else causes a deletion, since all deletes, moves are pseudo-offline now, operation fails, and it tries to UNDO, and we see this assertion..

L1 is fine. Thanks again for debugging this.
I did delete something manually just before I saw those assertions, so it could well be related.
Another interesting set of assertions which might or might not be related:

###!!! ASSERTION: child count gone negative: 'childCount != 0 || delta > 0', file /Users/dmose/s/gloda/src/mailnews/db/msgdb/src/nsMsgThread.cpp, line 981
###!!! ASSERTION: child count gone to 0 or below: '(PRInt32) childCount >= 0', file /Users/dmose/s/gloda/src/mailnews/db/msgdb/src/nsMsgThread.cpp, line 984
###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: invalid array index: 'i < Length()', file ../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382

This is from a build running with the latest gloda indexer patches.
More from the gloda build:

###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: flag state missing key: 'foundIt', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
in msgsDeleted
encoded message id = 48CEABF3.8030004%40mozilla.org
getting support file path = /Users/dmose/Library/Thunderbird/Profiles/nkg8dt0w.gloda/ImapMail/mail.mozilla.com/Drafts.mozmsgs/48CEABF3.8030004%40mozilla.org.mozeml
2008-09-21 17:37:10     gloda.indexer   DEBUG   msgsDeleted notification
###!!! ASSERTION: db has key - flagState messed up?: 'PR_FALSE', file /Users/dmose/s/gloda/src/mailnews/imap/src/nsImapMailFolder.cpp, line 3749
in msgsDeleted
Saw this in the gloda build too:

2008-09-21 17:43:50     gloda.indexer   DEBUG   msgsDeleted notification
###!!! ASSERTION: Some other operation is in progress: 'PR_FALSE', file /Users/dmose/s/gloda/src/mailnews/db/msgdb/src/nsMailDatabase.cpp, line 177

which may provide support for your theory about interesting things going on around deletions.
>###!!! ASSERTION: child count gone negative: 'childCount != 0 || delta > 0',
>file /Users/dmose/s/gloda/src/mailnews/db/msgdb/src/nsMsgThread.cpp, line 981
>###!!! ASSERTION: child count gone to 0 or below: '(PRInt32) childCount >= 0',
>file /Users/dmose/s/gloda/src/mailnews/db/msgdb/src/nsMsgThread.cpp, line 984
>###!!! ASSERTION: invalid array index: 'i < Length()', file
>../../../mozilla/dist/include/xpcom/nsTArray.h, line 317
>###!!! ASSERTION: flag state missing key: 'foundIt', file
>/Users/dmose/s/gloda/src/mailnews/imap/src/nsImapUtils.cpp, line 382

These assertions are new to me. First two look like something interesting going on with threading, but I am not sure. bienvenu?
The first two have to do with the message counts on a thread getting confused, perhaps because the same message has been removed twice from the same thread, or something like that. If we had a reproducible case, I could try to debug it...
Attached patch possible fixSplinter Review
dmose's imap server advertises CONDSTORE support globally but disables it for folders (I suspect, non-inbox folders). Our check for this was wrong, which I think would lead to these assertions - NOMODSEQ doesn't have any arguments, so we need to include ']' in the token, like we do for other options like this.
Assignee: bugmil.ebirol → bienvenu
Attachment #339951 - Flags: superreview?(dmose)
Attachment #339951 - Flags: review?(dmose)
oops, sorry, that patch includes an other diff that was already reviewed. The interesting part of this patch is the second part.
OS: Mac OS X → All
Whiteboard: [needs analysis] → [has patch; needs r+sr dmose]
Comment on attachment 339951 [details] [diff] [review]
possible fix

r+sr=dmose
Attachment #339951 - Flags: superreview?(dmose)
Attachment #339951 - Flags: superreview+
Attachment #339951 - Flags: review?(dmose)
Attachment #339951 - Flags: review+
Whiteboard: [has patch; needs r+sr dmose] → [needs landing]
this should fix this in the second log you showed me.

Arguably, the get partial uid fetch stuff should be inside #ifdef DEBUG since it's only used for the assertion, but I think that makes the code uglier...
Attachment #339985 - Flags: superreview?(dmose)
Attachment #339985 - Flags: review?(dmose)
Comment on attachment 339985 [details] [diff] [review]
don't assert in the partial uid fetch case

r+sr=dmose
Attachment #339985 - Flags: superreview?(dmose)
Attachment #339985 - Flags: superreview+
Attachment #339985 - Flags: review?(dmose)
Attachment #339985 - Flags: review+
Since the patch that hasn't yet landed merely quiets an unnecessary assertion and doesn't fix any broken behavior, we don't really need this for 3.0b1 (though if it makes it in tonight, great).  Removing from the blocker list.
Target Milestone: Thunderbird 3.0b1 → Thunderbird 3.0b2
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing]
Target Milestone: Thunderbird 3.0b2 → Thunderbird 3.0b1
Reopening; the logic in the last patch was inverted..
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
moving to b2 - I believe the assertion is understood & harmless. I'll attach the correct patch, though.
Target Milestone: Thunderbird 3.0b1 → Thunderbird 3.0b2
Attachment #339985 - Attachment is obsolete: true
Attachment #340587 - Flags: superreview?(dmose)
Attachment #340587 - Flags: review?(dmose)
Comment on attachment 340587 [details] [diff] [review]
use NS_ERROR instead

It would be good to make the comment a bit clearer too.  r=dmose with a suitable comment tweak
Attachment #340587 - Flags: superreview?(dmose)
Attachment #340587 - Flags: superreview+
Attachment #340587 - Flags: review?(dmose)
Attachment #340587 - Flags: review+
fix checked in.
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: