Closed
Bug 201390
Opened 22 years ago
Closed 21 years ago
Freeze when scrolling web pages and mail messages
Categories
(Core Graveyard :: GFX: Gtk, defect)
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 136362
People
(Reporter: ecoder, Assigned: blizzard)
Details
(Keywords: hang)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030401
My Mozilla is freezing very often when I scroll through web pages and mail
messages. This happens regardless of whether I use the mouse wheel or Page
Up/Down to scroll the screen. Certain web pages seem to be more problematic
than others -- I have noticed consistent problems with Google and Yahoo. For
example, the following Yahoo page freezes every time when I scroll it:
http://story.news.yahoo.com/news?tmpl=story&ncid=578&e=1&cid=578&u=/nm/20030409/ts_nm/iraq_dc
Mail messages freeze also, especially ones with foreign characters in them...
but ones without foreign characters freeze occasionally also.
When Mozilla freezes, I have to kill it... it never comes back.
Reproducible: Always
Steps to Reproduce:
1. Open Mozilla
2. Surf to
http://story.news.yahoo.com/news?tmpl=story&ncid=578&e=1&cid=578&u=/nm/20030409/ts_nm/iraq_dc
3. Scroll the page
Actual Results:
Mozilla freezes
Expected Results:
Mozilla doesn't freeze
I compiled Mozilla from source and used DDD to get a backtrace of the program
when it crashes. Here it is:
#0 0x4044387e in sigsuspend () from /lib/libc.so.6
#1 0x40132879 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
#2 0x4012f102 in pthread_cond_wait () from /lib/libpthread.so.0
#3 0x401058e0 in PR_WaitCondVar (cvar=0x8121840, timeout=4294967295) at
ptsynch.c:389
#4 0x4065a7d0 in nsThreadPool::GetRequest (this=0x8121750,
currentThread=0x8719898) at nsThread.cpp:662
#5 0x4065b657 in nsThreadPoolRunnable::Run (this=0x8719880) at nsThread.cpp:891
#6 0x40658e0d in nsThread::Main (arg=0x8719898) at nsThread.cpp:118
#7 0x4010d911 in _pt_root (arg=0x8719918) at ptthread.c:214
#8 0x401300ba in pthread_start_thread () from /lib/libpthread.so.0
#9 0x40130101 in pthread_start_thread_event () from /lib/libpthread.so.0
Hopefully that will be helpful. I suppose this may be related to bug 176231 (
http://bugzilla.mozilla.org/show_bug.cgi?id=176231 ), but it's probably unlikely
since that is a Mac version, while I'm using Linux.
My computer is an Intel P4 @ 2GHz. I am using Debian Linux, with kernel version
2.4.21-pre3. I am using XFree86 version 4, with a dual-head monitor setup using
a Matrox graphics card (MGA G200 AGP). However, the problem also happened even
before I had two monitors.
This problem has been happening for close to a year now, across many different
kernel versions.
Comment 1•22 years ago
|
||
worksforme with linux trunk 20030401.
it looks like the stacktrace is for one of Mozilla's helper threads. can you
check the other threads (especially the main one) to see if any of them are
doing anything more useful.
also, does Mozilla hog CPU during the freeze?
Keywords: hang
Reporter | ||
Comment 2•22 years ago
|
||
Ah, right, should have thought about this. I'm including the backtrace from the main thread. And it seems that Mozilla is not hogging the CPU, it doesn't even show up on my 'top'. Thanks!(gdb) #0 0x404e47ee in select () from /lib/libc.so.6#1 0x403adfdc in _XlcPublicMethods () from /usr/X11R6/lib/libX11.so.6#2 0x403093ba in _XRead () from /usr/X11R6/lib/libX11.so.6#3 0x40309dc3 in _XReply () from /usr/X11R6/lib/libX11.so.6#4 0x40305a77 in XSync () from /usr/X11R6/lib/libX11.so.6#5 0x4027d841 in gdk_flush () from /usr/lib/libgdk-1.2.so.0#6 0x41db12f1 in nsNativeThemeGTK::DrawWidgetBackground (this=0x826f000, aContext=0x8dd4da0, aFrame=0x8be898c, aWidgetType=87 'W', aRect=@0xbfffdddc, aClipRect=@0xbfffdfc8) at nsNativeThemeGTK.cpp:359#7 0x40f7ef33 in nsCSSRendering::PaintBackgroundWithSC (aPresContext=0x8c516d8, aRenderingContext=@0x8dd4da0, aForFrame=0x8be898c, aDirtyRect=@0xbfffdfc8, aBorderArea=@0xbfffdddc, aColor=@0x8bc710c, aBorder=@0x8be977c, aPadding=@0x8be9d14, aUsePrintSettings=0) at nsCSSRendering.cpp:2896#8 0x40f7ea2a in nsCSSRendering::PaintBackground (aPresContext=0x8c516d8, aRenderingContext=@0x8dd4da0, aForFrame=0x8be898c, aDirtyRect=@0xbfffdfc8, aBorderArea=@0xbfffdddc, aBorder=@0x8be977c, aPadding=@0x8be9d14, aUsePrintSettings=0) at nsCSSRendering.cpp:2821#9 0x40e42c06 in nsFrame::PaintSelf (this=0x8be898c, aPresContext=0x8c516d8, aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8, aSkipSides=0, aUsePrintBackgroundSettings=0) at nsFrame.cpp:972#10 0x40ff1ee8 in nsBoxFrame::Paint (this=0x8be898c, aPresContext=0x8c516d8, aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8, aWhichLayer=eFramePaintLayer_Underlay, aFlags=0) at nsBoxFrame.cpp:1456#11 0x40ec7d80 in PresShell::Paint (this=0x8b59f30, aView=0x8b7f158, aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8) at nsPresShell.cpp:5809#12 0x413d6b09 in nsView::Paint (this=0x8b7f158, rc=@0x8dd4da0, rect=@0xbfffdfc8, aPaintFlags=0, aResult=@0xbfffdff4) at nsView.cpp:281#13 0x413e3c3b in nsViewManager::RenderDisplayListElement (this=0x8abdbb8, element=0x8c22e78, aRC=@0x8dd4da0) at nsViewManager.cpp:1250#14 0x413e3a61 in nsViewManager::RenderViews (this=0x8abdbb8, aRootView=0x8cb0870, aRC=@0x8dd4da0, aRegion=@0xbfffe238, aResult=@0xbfffe218) at nsViewManager.cpp:1198#15 0x413e2260 in nsViewManager::Refresh (this=0x8abdbb8, aView=0x8cb0870, aContext=0x8dd4da0, aRegion=0x8aac350, aUpdateFlags=1) at nsViewManager.cpp:792#16 0x413e578b in nsViewManager::DispatchEvent (this=0x8abdbb8, aEvent=0xbfffe560, aStatus=0xbfffe3f8) at nsViewManager.cpp:1800#17 0x413d63c7 in HandleEvent (aEvent=0xbfffe560) at nsView.cpp:80#18 0x4190d2aa in nsWidget::DispatchEvent (this=0x8abdd78, aEvent=0xbfffe560, aStatus=@0xbfffe4b8) at nsWidget.cpp:1496#19 0x4190ce97 in nsWidget::DispatchWindowEvent (this=0x8abdd78, event=0xbfffe560) at nsWidget.cpp:1384#20 0x419139a5 in nsWindow::DoPaint (this=0x8abdd78, aClipRegion=0x8aac350) at nsWindow.cpp:839#21 0x41913b5e in nsWindow::Update (this=0x8abdd78) at nsWindow.cpp:863#22 0x413e9ae7 in nsViewManager::ForceUpdate (this=0x8abdbb8) at nsViewManager.cpp:3375#23 0x4117798a in nsEventStateManager::ForceViewUpdate (this=0x8bab270, aView=0x8b82fb0) at nsEventStateManager.cpp:4418#24 0x4116b48c in nsEventStateManager::DoWheelScroll (this=0x8bab270, aPresContext=0x8c516d8, aTargetFrame=0x8d71da0, aMSEvent=0xbffff20c, aNumLines=3, aScrollHorizontal=0, aScrollPage=0, aUseTargetFrame=0) at nsEventStateManager.cpp:1649#25 0x4116cdc0 in nsEventStateManager::PostHandleEvent (this=0x8bab270, aPresContext=0x8c516d8, aEvent=0xbffff20c, aTargetFrame=0x8d71da0, aStatus=0xbfffeeec, aView=0x8b82fb0) at nsEventStateManager.cpp:1935#26 0x40eca405 in PresShell::HandleEventInternal (this=0x8b59f30, aEvent=0xbffff20c, aView=0x8b82fb0, aFlags=1, aStatus=0xbfffeeec) at nsPresShell.cpp:6323#27 0x40ec9c81 in PresShell::HandleEvent (this=0x8b59f30, aView=0x8b82fb0, aEvent=0xbffff20c, aEventStatus=0xbfffeeec, aForceHandle=0, aHandled=@0xbfffee84) at nsPresShell.cpp:6211#28 0x413e6cd1 in nsViewManager::HandleEvent (this=0x8abdbb8, aView=0x8bea5d0, aEvent=0xbffff20c, aCaptured=0) at nsViewManager.cpp:2221#29 0x413d6b6d in nsView::HandleEvent (this=0x8bea5d0, aVM=0x8abdbb8, aEvent=0xbffff20c, aCaptured=0) at nsView.cpp:308#30 0x413e6076 in nsViewManager::DispatchEvent (this=0x8abdbb8, aEvent=0xbffff20c, aStatus=0xbffff088) at nsViewManager.cpp:1953#31 0x413d63c7 in HandleEvent (aEvent=0xbffff20c) at nsView.cpp:80#32 0x4190d2aa in nsWidget::DispatchEvent (this=0x8bea660, aEvent=0xbffff20c, aStatus=@0xbffff148) at nsWidget.cpp:1496#33 0x4190ce97 in nsWidget::DispatchWindowEvent (this=0x8bea660, event=0xbffff20c) at nsWidget.cpp:1384#34 0x4190ddc4 in nsWidget::OnButtonPressSignal (this=0x8bea660, aGdkButtonEvent=0x8222808) at nsWidget.cpp:1873#35 0x419156b1 in nsWindow::OnButtonPressSignal (this=0x8bea660, aGdkButtonEvent=0x8222808) at nsWindow.cpp:1647#36 0x41915a7b in nsWindow::HandleGDKEvent (this=0x8bea660, event=0x8222808) at nsWindow.cpp:1757#37 0x418ffd27 in dispatch_superwin_event (event=0x8222808, window=0x8bea660) at nsGtkEventHandler.cpp:1002#38 0x418ff92f in handle_gdk_event (event=0x8222808, data=0x0) at nsGtkEventHandler.cpp:860#39 0x4027d457 in gdk_wm_protocols_filter () from /usr/lib/libgdk-1.2.so.0#40 0x402ae4d8 in g_get_current_time () from /usr/lib/libglib-1.2.so.0#41 0x402aeae3 in g_get_current_time () from /usr/lib/libglib-1.2.so.0#42 0x402aec7c in g_main_run () from /usr/lib/libglib-1.2.so.0#43 0x401ce7e7 in gtk_main () from /usr/lib/libgtk-1.2.so.0#44 0x418ef576 in nsAppShell::Run (this=0x8155760) at nsAppShell.cpp:334#45 0x418927ea in nsAppShellService::Run (this=0x8155200) at nsAppShellService.cpp:479#46 0x08065e93 in main1 (argc=1, argv=0xbffff8b4, nativeApp=0x80f0178) at nsAppRunner.cpp:1271#47 0x08066c0d in main (argc=1, argv=0xbffff8b4) at nsAppRunner.cpp:1642(gdb) (gdb)
Reporter | ||
Comment 3•22 years ago
|
||
Ugh. Sorry about that backtrace being formatted like that. This should be better:
(gdb) #0 0x404e47ee in select () from /lib/libc.so.6
#1 0x403adfdc in _XlcPublicMethods () from /usr/X11R6/lib/libX11.so.6
#2 0x403093ba in _XRead () from /usr/X11R6/lib/libX11.so.6
#3 0x40309dc3 in _XReply () from /usr/X11R6/lib/libX11.so.6
#4 0x40305a77 in XSync () from /usr/X11R6/lib/libX11.so.6
#5 0x4027d841 in gdk_flush () from /usr/lib/libgdk-1.2.so.0
#6 0x41db12f1 in nsNativeThemeGTK::DrawWidgetBackground (this=0x826f000,
aContext=0x8dd4da0, aFrame=0x8be898c, aWidgetType=87 'W', aRect=@0xbfffdddc,
aClipRect=@0xbfffdfc8) at nsNativeThemeGTK.cpp:359
#7 0x40f7ef33 in nsCSSRendering::PaintBackgroundWithSC (aPresContext=0x8c516d8,
aRenderingContext=@0x8dd4da0, aForFrame=0x8be898c, aDirtyRect=@0xbfffdfc8,
aBorderArea=@0xbfffdddc, aColor=@0x8bc710c, aBorder=@0x8be977c,
aPadding=@0x8be9d14, aUsePrintSettings=0) at nsCSSRendering.cpp:2896
#8 0x40f7ea2a in nsCSSRendering::PaintBackground (aPresContext=0x8c516d8,
aRenderingContext=@0x8dd4da0, aForFrame=0x8be898c, aDirtyRect=@0xbfffdfc8,
aBorderArea=@0xbfffdddc, aBorder=@0x8be977c, aPadding=@0x8be9d14,
aUsePrintSettings=0) at nsCSSRendering.cpp:2821
#9 0x40e42c06 in nsFrame::PaintSelf (this=0x8be898c, aPresContext=0x8c516d8,
aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8, aSkipSides=0,
aUsePrintBackgroundSettings=0) at nsFrame.cpp:972
#10 0x40ff1ee8 in nsBoxFrame::Paint (this=0x8be898c, aPresContext=0x8c516d8,
aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8,
aWhichLayer=eFramePaintLayer_Underlay, aFlags=0) at nsBoxFrame.cpp:1456
#11 0x40ec7d80 in PresShell::Paint (this=0x8b59f30, aView=0x8b7f158,
aRenderingContext=@0x8dd4da0, aDirtyRect=@0xbfffdfc8) at nsPresShell.cpp:5809
#12 0x413d6b09 in nsView::Paint (this=0x8b7f158, rc=@0x8dd4da0,
rect=@0xbfffdfc8, aPaintFlags=0, aResult=@0xbfffdff4) at nsView.cpp:281
#13 0x413e3c3b in nsViewManager::RenderDisplayListElement (this=0x8abdbb8,
element=0x8c22e78, aRC=@0x8dd4da0) at nsViewManager.cpp:1250
#14 0x413e3a61 in nsViewManager::RenderViews (this=0x8abdbb8,
aRootView=0x8cb0870, aRC=@0x8dd4da0, aRegion=@0xbfffe238, aResult=@0xbfffe218)
at nsViewManager.cpp:1198
#15 0x413e2260 in nsViewManager::Refresh (this=0x8abdbb8, aView=0x8cb0870,
aContext=0x8dd4da0, aRegion=0x8aac350, aUpdateFlags=1) at nsViewManager.cpp:792
#16 0x413e578b in nsViewManager::DispatchEvent (this=0x8abdbb8,
aEvent=0xbfffe560, aStatus=0xbfffe3f8) at nsViewManager.cpp:1800
#17 0x413d63c7 in HandleEvent (aEvent=0xbfffe560) at nsView.cpp:80
#18 0x4190d2aa in nsWidget::DispatchEvent (this=0x8abdd78, aEvent=0xbfffe560,
aStatus=@0xbfffe4b8) at nsWidget.cpp:1496
#19 0x4190ce97 in nsWidget::DispatchWindowEvent (this=0x8abdd78,
event=0xbfffe560) at nsWidget.cpp:1384
#20 0x419139a5 in nsWindow::DoPaint (this=0x8abdd78, aClipRegion=0x8aac350) at
nsWindow.cpp:839
#21 0x41913b5e in nsWindow::Update (this=0x8abdd78) at nsWindow.cpp:863
#22 0x413e9ae7 in nsViewManager::ForceUpdate (this=0x8abdbb8) at
nsViewManager.cpp:3375
#23 0x4117798a in nsEventStateManager::ForceViewUpdate (this=0x8bab270,
aView=0x8b82fb0) at nsEventStateManager.cpp:4418
#24 0x4116b48c in nsEventStateManager::DoWheelScroll (this=0x8bab270,
aPresContext=0x8c516d8, aTargetFrame=0x8d71da0, aMSEvent=0xbffff20c,
aNumLines=3, aScrollHorizontal=0, aScrollPage=0, aUseTargetFrame=0) at
nsEventStateManager.cpp:1649
#25 0x4116cdc0 in nsEventStateManager::PostHandleEvent (this=0x8bab270,
aPresContext=0x8c516d8, aEvent=0xbffff20c, aTargetFrame=0x8d71da0,
aStatus=0xbfffeeec, aView=0x8b82fb0) at nsEventStateManager.cpp:1935
#26 0x40eca405 in PresShell::HandleEventInternal (this=0x8b59f30,
aEvent=0xbffff20c, aView=0x8b82fb0, aFlags=1, aStatus=0xbfffeeec) at
nsPresShell.cpp:6323
#27 0x40ec9c81 in PresShell::HandleEvent (this=0x8b59f30, aView=0x8b82fb0,
aEvent=0xbffff20c, aEventStatus=0xbfffeeec, aForceHandle=0,
aHandled=@0xbfffee84) at nsPresShell.cpp:6211
#28 0x413e6cd1 in nsViewManager::HandleEvent (this=0x8abdbb8, aView=0x8bea5d0,
aEvent=0xbffff20c, aCaptured=0) at nsViewManager.cpp:2221
#29 0x413d6b6d in nsView::HandleEvent (this=0x8bea5d0, aVM=0x8abdbb8,
aEvent=0xbffff20c, aCaptured=0) at nsView.cpp:308
#30 0x413e6076 in nsViewManager::DispatchEvent (this=0x8abdbb8,
aEvent=0xbffff20c, aStatus=0xbffff088) at nsViewManager.cpp:1953
#31 0x413d63c7 in HandleEvent (aEvent=0xbffff20c) at nsView.cpp:80
#32 0x4190d2aa in nsWidget::DispatchEvent (this=0x8bea660, aEvent=0xbffff20c,
aStatus=@0xbffff148) at nsWidget.cpp:1496
#33 0x4190ce97 in nsWidget::DispatchWindowEvent (this=0x8bea660,
event=0xbffff20c) at nsWidget.cpp:1384
#34 0x4190ddc4 in nsWidget::OnButtonPressSignal (this=0x8bea660,
aGdkButtonEvent=0x8222808) at nsWidget.cpp:1873
#35 0x419156b1 in nsWindow::OnButtonPressSignal (this=0x8bea660,
aGdkButtonEvent=0x8222808) at nsWindow.cpp:1647
#36 0x41915a7b in nsWindow::HandleGDKEvent (this=0x8bea660, event=0x8222808) at
nsWindow.cpp:1757
#37 0x418ffd27 in dispatch_superwin_event (event=0x8222808, window=0x8bea660) at
nsGtkEventHandler.cpp:1002
#38 0x418ff92f in handle_gdk_event (event=0x8222808, data=0x0) at
nsGtkEventHandler.cpp:860
#39 0x4027d457 in gdk_wm_protocols_filter () from /usr/lib/libgdk-1.2.so.0
#40 0x402ae4d8 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#41 0x402aeae3 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
#42 0x402aec7c in g_main_run () from /usr/lib/libglib-1.2.so.0
#43 0x401ce7e7 in gtk_main () from /usr/lib/libgtk-1.2.so.0
#44 0x418ef576 in nsAppShell::Run (this=0x8155760) at nsAppShell.cpp:334
#45 0x418927ea in nsAppShellService::Run (this=0x8155200) at
nsAppShellService.cpp:479
#46 0x08065e93 in main1 (argc=1, argv=0xbffff8b4, nativeApp=0x80f0178) at
nsAppRunner.cpp:1271
#47 0x08066c0d in main (argc=1, argv=0xbffff8b4) at nsAppRunner.cpp:1642
(gdb) (gdb)
Reporter | ||
Comment 4•22 years ago
|
||
I just checked the rest of the threads, and none of them offer anything useful.
The main thread seems to repeatably get into that state (inside the select from
libX11) from hang to hang.
Comment 5•22 years ago
|
||
I have been having the same sort of problem but with a twist. I am running
Mozilla 1.3, RH 9, AMD XP, but most importantly for this bug a Matrox card with
two monitors. I get this exact bug if I run the two monitors in 1600x1200
xinerama, but not in 1280x1024 merged. This is very repeatable and the bug only
happens in Mozilla programs, Mail, Phoenix, etc. I can try testing something
with some instructions if you like.
Reporter | ||
Comment 6•22 years ago
|
||
Thanks for the comment... What do you mean by "merged"? I run mine in 2560x1024
with the dual-head. I guess then it's safe to assume that the problem is due to
some bug in or incompatibility with some Xinerama thing? I'm going to test
things one in single-monitor mode and see if it still happens.
Comment 7•22 years ago
|
||
see also bug 136362
that bug hangs with xinerama+xfs+international fonts (anti-aliased bitmaps), but
it also says that problems occur even without anti-aliasing (bug 136362 comment
51), so you might be experiencing that (the stack in comment 3 does not contain
anti-aliasing code)
Reporter | ||
Comment 8•22 years ago
|
||
Hmm, yes, this does indeed seem to be the same problem as bug 136362 . And for
me, disabling xfs seems to help, but the user_pref workaround does not. Should
we mark this as a duplicate?
Comment 9•22 years ago
|
||
Merged is the name given to making the two screens into one, the main effects
being that Gnome Panel runs across both screens and when you maximise an app it
fills both screens. Neither of these features are desirable in my case,
Xinerama is much more suitable. I think that bug 136362 may be the same as this
one, but this bug shows a more repeatable way to demonstrate it. There seems to
be alot of uncertainty in the other bug. I would like to try the disable xfs
and user_prefs tests but I don't know how. I have reported this bug to Matrox
but nothing much seems to happen on their forum.
Comment 10•22 years ago
|
||
==> GFX/gtk
Assignee: asa → blizzard
Component: Browser-General → GFX: Gtk
Depends on: 136362
QA Contact: asa → ian
Reporter | ||
Comment 11•22 years ago
|
||
You can test out running X without xfs by (1) killing X, (2) killing the xfs
server process and then (3) restarting X. How xfs gets started up would depend
on what kind of system you are using. On my machine, I just blew away xfs from
Debian's dselect.
The user_prefs thing is in a file called prefs.js somewhere under your .mozilla
directory. I just found that file and pasted in the line from the other bug
user_pref("font.scale.aa_bitmap.enable", false);
Comment 12•21 years ago
|
||
Was this bug resolved? I am facing the same problem with
MozillaFirebird-0.6.1-i686-pc-linux-gnu
running on a P4 with Dual-monitors (Geforce3 and ATI 98 Pro) in Xinerama mode. I
never had this problem in single monitor mode.
For me, the brozer freezes when I scroll to the bottom of any sourceforge.net
page. e.g. http://sourceforge.net .. It also consistantly occurs with other
pages e.g. from CNN, CNet etc, but not as site wide as sourceforge.
Reporter | ||
Comment 13•21 years ago
|
||
I don't think this bug was ever "resolved", and probably can't ever be simply
resolved within Mozilla, since it seems to be an xfs problem. I have not had the
problem since I've disabled xfs on my system... that may be the way to go.
Comment 14•21 years ago
|
||
confirming, but it might be better as a duplicate.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 15•21 years ago
|
||
probably better off as a dupe. Everything I see in this bug is the same as bug
136362
*** This bug has been marked as a duplicate of 136362 ***
Updated•16 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•