Closed Bug 20634 Opened 25 years ago Closed 25 years ago

[dogfood]Thread view out of sync

Categories

(SeaMonkey :: MailNews: Message Display, defect, P3)

x86
Windows 98
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: german, Assigned: Bienvenu)

Details

(Whiteboard: [PDT+] found fix - waiting for approval to check in - ETA 12/10)

Attachments

(1 file)

Using the build from Dec 1, 1999, I am selecting a message in the threadview but
a different message appears. In fact I cannot access some of the messages at the
bottom of the thread list at all.
Assignee: phil → putterman
Whiteboard: [PDT+]
Putting on PDT+ radar.
German,  could you give me some more info on what is happening here?  Are you
around today?  I'm wondering if this is similar to the scrolling problem we have
when you scroll all the way down, select a message and then get bounced to the
top. When that happens you can't generally scroll down again until you play with
the scroll bar.  However, I haven't seen this display a different message than
the one you selected.
Attached image proof from the 1202 build —
it also seems to affect the wrong message when trying to delete or file, very
annoying as it accidentally destroys important mail messages
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
I can't reproduce this.  German said that after he removed the .msf file and
regenerated this, it is working again.  I'm going to mark this WORKSFORME.  If
it happens again then it should be reopened.  cc'ing bienvenu in case he knows
of anything that might have caused this.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Status: REOPENED → ASSIGNED
German just reproduced this again with a build from yesterday.  This is what I
know. Maybe Jeff or David have ideas.

It's his POP Inbox.  It looks like it might be happening after GetMsgs.  Bug
20312 happened to him also. When downloading messages, it downloaded only 200 of
them.  But what's more interesting is that the message count shows up as there
only being 30 messages.  The first message displays correctly, but then when he
clicks on the second it gets messed up.  It looks like it's in the middle of
some other message and no headers show up.  Lots of errors start appearing in
the console.  Anyway, as the summary says, it looks like we are out of synch.

Does it sound like this could be related to the line ending problem that Jeff
fixed the other day?
Try remove old *.msf files. I suspect you have a corrupted summary file.
He did. that's why I reopened it.  He deleted his .msf file yesterday and
everything worked.  But this morning it is no longer working.
Scott, did you get a chance to examine his inbox. We may be able to tell what
went wrong if compare to imap view page source from 4.7. The other thing we
could do is to turn on the pop3 protocol logging.

set NSPR_LOG_FILE=e:\tmp\pop3_50.txt
set NSPR_LOG_MODULES=POP3:5
I did that and put the file to http://blues/users/german/publish/pop3_50.txt
Actions I did while logging was on: Opened Messenger, Selected my inbox, clicked
on get messages, where it claimed that it downloaded 16 messages. The unread
message count in my inbox interstingly stayed at 24 where it was before. Then I
clicked on the last 3 messages from the bottom up in the threadpane. I always got
to see the same message which isn't even in the inbox according to the thread
view. Please Help. I am flying solo, and right now Mail 5 is the only mail client
I use :-)
It looks okay from the protocol point of view. We have a proper "QUIT" send to
the server indicating every thing is fine. Now the next would be to examine your
pop3 Inbox. It's a text file. You can view it using any text file editor. Note
pad will do fine. vi will be good. emacs will be the best. :-) Load your Inbox
into one of your text editor. Every line should have a proper endings and it
shouldn't be longer than 78(?) characters. Every message should have "From -
kkkk" dummy envelope header separate them to each other. Another possible thing
is you may have a corrupted Inbox. Try to delete the Inbox. Touch Inbox and then
re get msg.
Whiteboard: [PDT+] → [PDT+]Still looking. No ETA.
Inbox file looks OK to me. Every message is indeed properly separated. The from
headers are all there too. No line was found to be longer than 80 chars.
What happened if you remove the Inbox.msf file and then relaunch without Get
Msg? Can you see the message? If you cannot then we might have reparsing
the folder problem. If the message displayed okay, then try Get Msg. If that
screws up the inbox again then we might have incorparating new messages problem.
We just removed the .msf file and then it seemed to work. But as soon as we did
GetMsg, it messed up.  The headers didn't show up in the thread pane and then
when we clicked on a different message, it displayed the contents for the wrong
message.

One thing we noticed is that there are 211 occurrences of "From -" but only 209
that begin a message.  There are occurences of ">From -" which I assume are
replies or Fwd's.  could this be causing a problem in terms of the message count
when downloading a message?
We should ignore the >From -. Do we think we have 209 messages? I wouldn't think
we'd have a problem parsing the mailbox, but we might have a problem when
downloading messages with embedded >From lines, if we have to escape the From
ourselves (this is a special case, because we insert the > ourselves)
Before we did a Get Msg we found the Inbox said it had 206 messages when we
think it had 209 based on a search we did for an empty line followed by "From -"
plus the first message.
Here's some more detail:
It happens after a combination of deleting messages with downloading new ones
afterwards. If then I select a certain message a different one gets displayed.
This only happens from a certain message on downward, so subsequent messages are
also corrupted. The first corrputed ones still display headers, the ones further
below, show just snippets of the messages content and even further below, it
would not show anything due to XUL errors (according to console). Messages above
the first broken one appear fine. Scott just witnessed that behavior on my machine.
Unfortunately it's hard to see a pattern.
BTW I downloaded fresh binaries build ID 1999120708, and tried - same thing there.
I still can't reproduce this on my machine even though I've watched German do
this on his.  One other note, as German said, the msg key must be messed up.
often time it will display a message that has been deleted.  I will try today's
release build to see if this makes any difference for me.
If anyone has any ideas on what else to check, I'd appreciate them.  I've seen
this happen multiple times on German's machine.  However, I can't reproduce it
on mine.  I've set up a profile that uses German's prefs.js and also has a
replica of his mail directory so it has all of the folders and all of the filter
rules.  And I'm grabbing mail from his account.  And everything works for me.
No combination of getting mail and deleting mail seems to be causing this.  The
only other difference I can think of is that I've got a much faster machine.  Is
there anything that could be timing related?
I'm not sure - is German really running win98? I doubt that's a difference,
however.
Yes, that is definitely a difference.  He's running windows 98.
OK here's another blue's clue I found this morning:
I downloaded eight messages. 2 of which actually show up in the thread view of
the inbox. That's because the other six have been filtered away (moved using
filters from 4.x) into other folders. Now here's the clue:
The last previously downloaded message still displays OK. The next one displays
OK but actually it's content pane shows the content of first of the messages
which has been filtered to another folder. This tells me as a mere mortal that
something went wrong when the message was marked for getting moved/deleted. This
is because messages do not actually get deleted initially when being moved from
the originating folder. Instead they just get marked for deletion.
Now here's the weird part:
The next message after that is the first that start getting out of sync. So here
something seems to be wrong in addition where it is confusing the length of a
message that was marked for deletion with the length of the message that it was
supposed to display. Because it is assuming the wrong length of the previous
message, it gets the wrong entry point for this message, and starts displaying
it somewhere from the message middle of the body. That would explain why a)
initially messages don't display their headers anymore and then further down
even exhibit XUL errors, since chopping potentially used HTML in a message might
render that HTML invalid, thus XUL(XML) thinks the page is not well formed,
refusing to display it alltogether. Again this is just my speculation, but it
would explain some of these somehow seemingly unrelated weirdnesses. Just it
might help. BTW I am using POP3 and ca 90-100 filters.
Assignee: putterman → bienvenu
Status: ASSIGNED → NEW
German, are you still using the Dec 1 build? Because I fixed a bug a while ago
very much like this - we're not supposed to leave the filtered message in the
inbox - that was fixed in the Dec 7 build. I'll take this bug, since it's
definitely mine, but it would really be helpful to know if you've downloaded a
more recent build.
I just checked and German's using the most recent build. Also, we removed
rules.dat so now filters were not applied and using the steps that seemed to
cause this problem, everything worked.
Status: NEW → ASSIGNED
Whiteboard: [PDT+]Still looking. No ETA. → [PDT+]Still looking. Can reproduce but can't debug ETA 12/15
This only seems to happen on slow machines running win98 or win95. I determined
that the truncate after the move operation is failing. It doesn't seem to be
because the file is open, but because the truncate offset is invald (perhaps the
stream stuff doesn't flush during a close? that would suck)
David,

Can I help you debug this today?  What code should I be looking in?
I'm debugging it now, remotely. Unless you can debug this with a debugger, I can
struggle along myself. The last thing I found out is nsFileSpec::Truncate is
failing in the win32 api SetEndOfFile, with an error code ERROR_ACCESS_DENIED.
This is strange, because the open call in truncate succeeds, and it opens for
write.
OK, I think I have a fix for this - in nsFileSpec::Truncate, we're calling
CreateFile to open the file with the following flags : FILE_FLAG_NO_BUFFERING |
FILE_FLAG_OVERLAPPED. If I change these to just FILE_ATTRIBUTE_NORMAL,
truncating doesn't fail. My guess is that nsFileSpec::Truncate does not work on
win95/win98. If you read the MSDN comments about FILE_FLAG_OVERLAPPED and
FILE_FLAG_NO_BUFFERING, it's pretty scary. I also notice them used in
nsLocalFile::SetFileSize(PRInt64 aFileSize) - if this is not obsolete, this
should be looked at as well.

I'll do some more testing to see if the problem is really fixed, but my first
test worked.
Whiteboard: [PDT+]Still looking. Can reproduce but can't debug ETA 12/15 → [PDT+] found fix - waiting for code review
OK, things seem to be working much better. I'll try to get a code review from
Doubg.
Whiteboard: [PDT+] found fix - waiting for code review → [PDT+] found fix - waiting for approval to check in - ETA 12/10
got a code review, just waiting for approval to checkin for chofmann. I'll ping
him again this afternoon.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
German, can you try this again on Monday and see if you see any problems?
thanks for all your help!
Blocks: 21564
QA Contact: lchiang → suresh
german - can you try out this bug fix?
suresh - since the problem was reproducible on the system in your cubicle, I'm
going to make you qa contact to verify this bug. Thanks.
Status: RESOLVED → VERIFIED
Verified this using 1999-12-14-09-M12 windows commercial build.
No longer blocks: 21564
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: