Closed Bug 131733 Opened 23 years ago Closed 16 years ago

Flickering of mail-preview-window - after enlarging the mailheader

Categories

(SeaMonkey :: MailNews: Message Display, defect)

x86
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 201379

People

(Reporter: schoechlin, Unassigned)

References

Details

(Keywords: hang)

Attachments

(7 files)

Hi ! If I enlarge a long mail-header in preview-window, this window starts flickering. I suppose that this is caused by a very long mail-header - this prevents me to do anything else than watching the flickering :-) Only kill can fix this problem :-)) Regards Marc Schöchlin
related: bug 124658
Keywords: hang
I've also seen this behaviour when I expand the headers section. Unfortunately, it's a hard bug to reproduce. I suspect it shows up the first time I load the mail viewer. Note: To stop the flickering, I just need to reclick the disclosure triangle. I am using the RC1 release.
Critical severity.
Severity: normal → critical
This or a similar problem with continuous MailNews preview UI resizes still exists in moz1.2.1 . I can only reproduce it on low resolution displays, in our case 800x600. The machines in question are X11 thin clients, making the problem even more obvious (since its slower) but I have reproduced it on a local display as well. I'll provide a detailed description next time I see this problem, I've been on holidays for 3 weeks.... It seems to be caused by very long /attachment names/ as well as headers. IMHO its a very big barrier to Mozilla's usability on lower resolution displays. Please confirm bug.
I've been able to reproduce this -- it seems that the fewer memory resources available, the more severe the problem. Full Desktop Environments (i.e. Gnome, KDE) seem to produce this more accurately than lighter WM's. Unfortunately, it's not 100% reproducable on my system, and may not be a Mozilla bug at all...
A great way to observe problems like this is to install LTSP and a second NIC, then run moz remotely on a 486 with 16mb of RAM. You get to see all the draws, flickers, redraws, rearrangements, etc quite nicely. We use P100 thin clients with 32mb of RAM here and mozilla is quite useable, but its very clear where there is inefficiency in the layout and redraw engine.
Is this a dupe of (or rather, superceded by) Bug 188138? Looks like it.
I was mistaken about the duplication of 188138; but I think it might be the same thing reported in bug 126129. Still present in 1.3Final? 1.4a? 1.4b nightly? I do not agree that this is a "critical" or even major bug; there is no data loss or crash, and it appears to be hard to duplicate. To clarify: I believe the original report is talking about "long header" in the sense that expanding the header pane pushes the vertical splitter upwards (see Bug 167468) which starts the horizontal splitter vibrating (similar to Bug 201379). (Marc, do you agree with that?) Comment 4 appears to be talking about long strings within a header, as discussed in bug 188138 (and which is pretty easy to duplicate). Craig, am I reading that right?
Severity: critical → normal
Re: #7 I observe the exact problem described in this bug on our client machines at work. However, yes I also see behaviour like that described in the bug you reference.
Also, I must disagree regarding the severity of the bug. IMHO its quite a serious problem for anybody who is encountering this problem. There is often data loss and/or a crash, since the user must frequently "killall mozilla-bin" before they can get things back in working order. You'll lose any messages you're composing, the state of your browser, etc. It is hard to duplicate intentionally, but I've done it accidentally a fair few times. Unfortunately, it hasn't happened yet when I can look into the problem more rather than killing mozilla and getting on with my work. Sorry for the spam.
Craig, you are right about the severity, I somehow missed that the program has to be killed externally when this occurs. Any thoughts on whether this bug duplicates bug 126129?
Severity: normal → critical
Could be. It looks related, but he seems to be very specific that its the number of messages / list length of the message list pane that causes the problem. He also hasn't mentioned any dividers moving, something that seems to come with the problem described in this bug (and my experience of it). I wouldn't think it a dupe, at least on the surface - header length and resulting positioning problems & effects, vs a message list bug. That said, I suspect I've seen both in action - hard to say. I'm not overly familiar with Mozilla's innards (yet! have to find /time/ first) so I can't comment on that side of things.
Confirming this bug due a lot of interest and its apparent relation to bug 201460. I'm willing to set a dependency for this bug on that one if any of the reporters agree. There is a patch available at that bug; if anyone interested in this one is able and willing to build with the patch and report whether it addresses this problem, that would be good.
Status: UNCONFIRMED → NEW
Ever confirmed: true
*** Bug 126129 has been marked as a duplicate of this bug. ***
Would you please read Bug 210184, is this the same Bug? Thanks.
OK, I've done some screenshots. The jitter was slow enough that with a P133 LTSP client I was able to, after many repitions, capture some hopefully useful shots. This was a very inaccurate process, since the capture doesn't ocurr the moment one clicks to take the screenshot. In these screenshots I'm switching between the two messages you see highlighted. I start with the 'test' message selected, and then click on the one below it. The separator jumps around, first moving left (shrinking the mailbox area) then jumping back to it's original position. Nothing is achieved but a lot of wasted redrawing and uglyness. Interestingy, if I hide the mailbox area the problem does not ocurr. If I shrink the mailbox area below a certain size, it does not ocurr. It seems to be some issue where Mozilla tries to rearrange things to better fit the message on screen, but then changes everything back again. IMHO the dividers should be ABSOLUTELY FIXED unless the USER moves them, since things jumping around for any reason can be annoying. Anyway, I'll attach those PNGs now. They were taken at 800x600 screen resolution BTW - this issue appears to only ocurr in small mail windows. This bug is a MAJOR barrier to useability at low screen resolutions, especially on slower machines. Sometimes the jitter doesn't stop, either - whenever the user clicks in the attachments area or message body the whole thing gets redrawn, complete with mail pane rearrangement.
This is the mail window in a fairly normal state. Note the fairly long email address and the presence of the attachments area with a few files that have medium-length names.
Attached image mid-jump #1
The following screenshots are not from a single sequence - this wasn't possible. I repeated things quite a few times to get them. Anyway, I've moved to the message below the test, and as you can see the separator bar has been moved and is redrawing.
Attached image mid-jump #2
Similar to the previous - things are redrawing after the bar has jumped to the left, and jumped back to it's normal position.
OK, here's an interesting one. I managed to capture a screenshot of Mozilla when the separator had jumped to the left of the window (compressing the mail folders pane to a smaller size) but before it'd jumped back. Hope this tells you all what I'm on about!
Jumping, jittering and repeated half-completed redraws are over. Everything has settled down to display the next message.
With this message, when I clicked on it the separator between the mailboxes and the rest of the window jumped back and forth 5+ times in rapid succession. While it settled down looking like this, with the separator displaced to the left of where it normally sits (where I put it!), the message will periodically jitter around again before returning to this state. Almost any interaction with the mail client window seems to cause this, ie clicking on the msg body, an attachment, the grey area displaying the headers, or the message in the message selection pane. It appears to be MOVING FOCUS between these things that causes the issue - or at least, if I click in the msg body it will jitter once, but further clicks in the msg body don't cause more jittering. If I click on (say) an attachment, it'll jitter, and it'll jitter again when I click back in the msg body. Weird, eh? Utterly infuriating to use, too. To reproduce, try sending yourself several messages with long email addrs, attachments, possibly long subjects, etc. Shrink the mozilla window to ~800x600 or smaller (though I've reproduced this at home on a 1600x1200 display it's not easy!) and click on one of the messages. Then click on a normal length one w/o attachments, or another large one. If things work as expected, it'll leap all over the place - though probably very rapidly if you're working on a local display on a fast-ish machine. Maybe this would fix it: disallow messages from changing the position of the separators, full stop. Force them to display only within the already allocated area framed off by the vertical and horizontal pane separators. I'm going to see how hard it is to do, but I've never even looked at the Moz code beyond messing with the DOM inspector, so don't expect miracles (or results, probably).
I just realised that the screenshots I did recently were using the gtk2 mozilla build. Just to confirm, the problem does exist under the default mozilla builds as well. It is easier to capture screenshots in the gtk2 build due to the slower redrawing. I've been able to cause this on up to 1280x960 displays using long attachment names, From: addresses and subjects. Any suggestions on what bits of code to start looking at - this is driving me nuts, so maybe I can help fix it. bug 201379 is vaguely related to this one, I think. The problem is still present in 1.4 final - I'm now testing 1.5a.
Hi all I've just started testing with a self-built 1.4 and the bug is present, but less obvious. Interesting how it varies. I've had a bit of an idea that I was hoping someone might be able to help with. If there's a set of calls that could be used to wrap the redrawing of the message pane such that (very-pseudocode): <user clicks on next message> changeSelectionTo(newmessage); disableDrawing(mozillaMail3PaneBody) drawMessageHeaders(newmessage); drawMessageBody(newmessage); drawAttachments(newmessage); drawScrollBars(newmessage); enableDrawing(mozillaMail3PaneBody); in other words, any jumping and jittering would be supressed by just not redrawing until it was all done. It'd be an ugly workaround, but there seem to be a bunch of different problems causing the layout and jitter issues, and perhaps an ugly workaround is called for to get it /working/ for now. Specific issues I'm seeing: - vertical separator (between mailboxes pane and messagelist+message panes) gets pushed to the left by display of a message with very long subject or other headers. Causes mailbox name truncation, annoying repeated redrawing while skipping from message to message. Especially severe in threaded message display. - Attachments box in message headers area gets pushed out to the right of the headers area (and out of the mozilla window) by long message headers, especially from: address. Causes: inaccessable attachments - scroll bars on message display pane sometimes fail to draw when displaying a message with very long subject &/or from address as the current message. Causes: user confusion, need to scroll using arrow keys, annoying redraws. I also notice that mozilla /never/ truncates From addresses in the main message display. Perhaps it should truncate them like it does mailbox names and subjects, either: "blah .. blah <bob@ ... >" or "blah blah ..." It seems like assumptions about the minimum resolution are responsable for a lot of these issues. It's like the total width of all the components Moz is trying to draw is greater than the mozilla window size. Certainly this is the case for the vanishing attachments box, and probably the scroll bars as well. It may well be the root of the problem with the vertical separator jumping around, too. Being able to lock that thing in place would help a /lot/... I'm looking at the code now, perhaps in 100 years I'll be able to fix something. I've got to learn the Mozilla codebase, C++, JavaScript, XUL etc enough to figure out what's going on... and I've got plenty else going on too. I'll give it a try, but some pointers would be /wonderful/.
Craig Ringer: The three "specific issues" you mention in comment 24 are all described in bug 91662, but as 'static' layout issues. Are you seeing rapid, repeated redraws for those cases? Do those cases involve a situation where you need to "killall mozilla-bin" as you stated in comment 10? This bug, I thought, was about the sort of jittering/flickering seen in bug 201379 and bug 201460, where Mozilla repeatedly redraws itself (as in, lays out with a scrollbar, draws, decides the new layout doesn't need a scrollbar, re-lays out, redraws, decides the scrollbar is necessary after all, ...). Note that there is a patch pending in 201460 that you should integrate if you're making your own builds. If the problems you're attempting to fix are static, that is 91662, you'll make a lot of people happy if you can fix them.
I see the effects of bug 91662 regularly. It addresses some, but not all, of the issues I've seen here, so I'll post a reference to this bug there. Bug 91662 doesn't seem to cover repeated rapid redraws, however. As for needing to kill -9 mozilla due to the effects of bug 201460, that hasn't happened in a while. While unnecessary redraws are still very common, they don't seem to go into an infinite loop anymore. In fact, I rarely see the horizontal separator (between message list and message display pane) move at all now. Good! The less the browser rearranges the display, the better IMHO. When I see the scroll bar vanish (bug 91662), that is generally not accompanied by repeated redraws. However, when the actual message display pane pushes the vertical separator out to the left and reduces the size of the mailboxes area, that is usually accompanied by at least one, if not 3 or 5, redraws - all very rapidly. Sometimes when displaying a problematic message, tiny redraws, sort of a momentary repositioning of some elements, ocurr periodicaly (every few seconds) even when the user does nothing but move the mouse. I haven't yet traced a cause for this beyond "when the layout is already broken". 99% of cases are worked around by collapsing the mailbox pane, but that's not really a useful way to work. So, what this bug covers that the others do not is repeated, but not looping/infinite, movement of the vertical separator when messages are opened that have very long subjects, From: addresses, or medium length subject/from and attachments (especially long attachment names). Not only does it move the vertical separator (which IMHO it should not do, ever), but it does so repeatedly and frequently to no purpose. Especially, when /leaving/ a problematic message, the separator returns to it's normal position, jumps back to the left again, and finially returns to normal. Each movement is accompanied by redraws of many elements of the mailnews window contents. So, I see | | | | |----| | | | ( || | ||-------| || | | | | | |----| | | | ) repeats several times, stops on middle diagram if the message has long subject etc, or bottom diagram if I've just /left/ such a message and selected a more normal one. Even one level of threading seems to make this /much/ worse. Reading the original bug message, perhaps what I'm talking about is a different bug again. The original bug report appears to be talking about but 201379. *arrggh* This mess of layout & redraw problems is a bit nightmarish to sort out, isn't it? I have a few observations, from /use/ of mozilla mail, about the general nature of these layout/redraw issues. Having not yet had time to delve in the code, I can't back them up with anything and may be just wrong, but this is the percieved behavior: mozilla doesn't appear to have a "policy" for dealing with oversize objects ESPECIALLY strings. Instead of tuncating them (... termination or "blah blah ... blah"), and displaying a tooltip, wrapping them, or otherwise handling it, mozilla seems to "make space no matter what". When it does truncate strings, it seems to do so based on a hard-coded length limit, not something based on the amount of space actually available. This causes issues for lower-resolution displays and users of large fonts. Additionally, mozilla seems to consider a lot of elements OK to move around where, perhaps, it should not. Pane separators are a good example. While there are times that these need to move to display all the content, it seems I question if this should be happening automatically at all. Perhaps it's better to let the user arrange things and not mess with it? Certainly Mailnews is currently much too free with rearranging things message-to-message. These two issues - the tendancy to try to shove things around or just break layout rather than truncate strings, and the tendancy to shove separators around to make space, results in an annoyingly fluid and jumpy UI. At least, that's my impression and opinion. I hope I've at least clarified what I'm on about here.
Further information and initial basic workaround: The problem can be /significantly/ reduced by setting the attribute "flex=0" on the vbox element folderPaneBox ( a direct child element of messengerWindow ). I did it via the DOM inspector, and noticed an instant improvement. It does not eliminate the multiple redraws, but it's now much closer to the behaviour reported in bug 91662 . There is still extra redrawing that's just not needed, but it's nowhere near as bad. Is there any reason not to do this, at least for a private "low res screen" build? If there isn't, I'll be deploying a custom 1.4 build for our LTSP workstations soon, this makes a massive difference. All because I noticed a casual reference to "flex=0" in one of the other bugs :-) Craig Ringer
Could this be related to the flickering I get when clicking the "view" link at the bottom of http://www.xulplanet.com/tutorials/xultu/trees.html? If I resize the window that pops up even smaller, Firebird pegs the CPU at 100%. If I make it larger, the flickering stops.
I don't see any jitter, and I'm working at 800x600 (*ick*) now. Perhaps you're working under Windows with "large fonts" set or something? If I shrink the window, the beyond a certain amount, the contents don't cleanly scale but project over the edges - the elements appear to have minimum sizes. I cant't reproduce any flickering (Mozilla 1.4, RH9, gtk2/xft build - I'm @home so I'm not using the 'vanilla' mozilla I usually use for testing).
I'll check it on my home machine later. My work machine runs Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b; MultiZilla v1.4.0.3J) Gecko/20030728 Mozilla Firebird/0.6.1
Check out the CPU time... it doesn't ever stop flickering. Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4b) Gecko/20030811 Mozilla Firebird/0.6.1+ (latest win32 firebird nightly)
Chris Thomas, your bug may be related but isn't this bug. Note that bug 201460 is sort of the clearing-house for rapid-redraw/flickering/jittering issues, which happen in a number of locations, so you might want to add your symptom to that bug, particularly if it's easily reproducible; when you report, please state your version and theme, if applicable. (With Moz1.4 Final, I don't see the Find File dialog flickering.) If you're up to building your own executable, there is a patch at that bug which may help. Craig, regarding your comment 26: I tend to agree that this bug originally was the same thing as bug 201379, and Marc has not commented here since I started paying attention to it. Since I've never seen these symptoms in Mozilla mail (not W2K, 1600x1200, large fonts, nor W98, 1280x768, small fonts), and have never run Linux, I've not marked this as a dupe; in particular, your comment 10 let this bug continue as New. If this bug does dupe 201379 (originally), and your current symptoms are largely 91662, I'd just as soon see this duped over. If there is something distinct that's still present here, it should stand, but the summary should be updated to indicate what that is (or a new bug should be opened to supercede this). I have no idea about the flex=0 change, but if it works, great. I notice that Neil's patch at 201460 includes changes that set flex=1 (where no value for flex had been set previously).
Craig Ringer, have you checked a current 1.5b build with the fix for bug 201379? How does that fix affect the issues you have seen? I think that vibrating VERTICAL splitter problem in your comment 26, if not bug 91662, may be bug 188138 -- which you have commented in, back in April.
Marc Schöchlin, if you are still reading your bugmail, please respond: the fix for bug 201379 is in Mozilla 1.4.1 and 1.5 Final. Your original report appeared to be a duplicate of that bug, despite all the gyrations following. If the bug has in fact been cleared up for you, please mark this bug as a duplicate of that one. Craig Ringer, I assume you've switched your focus to the other bugs discussed in recent comments; as you said in comment 26 "The original bug report appears to be talking about ... 201379." I would really like to see this bug closed.
I'd just missed the last note in which you asked for testing of the patch. I'll check it out soon and let you know how I go.
*** Bug 233032 has been marked as a duplicate of this bug. ***
Product: Browser → Seamonkey
Assignee: sspitzer → mail
QA Contact: esther → search
duping based on comment 34
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: