Closed Bug 316639 Opened 19 years ago Closed 19 years ago

Crash [@ nsStyleContext::FindChildWithRules() line 182]

Categories

(Core :: Layout, defect)

x86
All
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bc, Unassigned)

References

Details

(Keywords: crash, Whiteboard: [sg:critical] uses freed memory)

Crash Data

Whiteboard: [sg:fix] uses freed memory
Flags: blocking1.8.0.1?
Hrm, with this testcase the first thing I hit was bug 311457.  I should retest once that's fixed.
On a ff1.5 debug build I didn't crash (this time, maybe neopets changed slightly) but did eventually go brain-dead (not quite a hang, but useless; corrupted memory?). Lots and lots of assertions, eventually including like these:

###!!! ASSERTION: Don't call me!: 'Error', file c:/dev/ff15/mozilla/dom/src/base/nsDOMClassInfo.cpp, line 3100

###!!! ASSERTION: running past end: 'mCurrent != mListLink', file c:\dev\ff15\mozilla\layout\generic\nsLineBox.h, line 5
89
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [sg:fix] uses freed memory → [sg:critical] uses freed memory
(In reply to comment #1)
> Hrm, with this testcase the first thing I hit was bug 311457.  I should retest
> once that's fixed.
> 

Still crashes SeaMonkey 2005-12-27-00 trunk Linux.

In a local debug build I get crashes in DeletingFrameSubtree().
With the proposed fix for bug 310638 it seems more stable -
it runs for 15-20 minutes but crashes eventually,
example crash (view->mParent == 0x5):

(gdb) bt
#0  0xe80cec83 in ?? ()
#1  0x4101f76c in nsIFrame::Invalidate(nsRect const&, int) const (this=0x8925f3c, aDamageRect=@0x8d44ea8, aImmediate=0) at nsFrame.cpp:2654
#2  0x4104288e in nsImageFrame::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0x8925f3c, aContainer=0x8914878,
    aNewFrame=0x89132b8, aDirtyRect=0xbfffe590) at nsImageFrame.cpp:670
#3  0x4104604e in nsImageListener::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0xbfffe3b0, aContainer=0x8914878,
    newframe=0x89132b8, dirtyRect=0xbfffe590) at nsImageFrame.cpp:2046
#4  0x411e7781 in nsImageLoadingContent::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0x8918804, aContainer=0x8914878,
    aFrame=0x89132b8, aDirtyRect=0xbfffe590) at nsImageLoadingContent.cpp:147
#5  0x41b5ee6c in imgRequestProxy::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0x8919b90, container=0x8914878,
    newframe=0x89132b8, dirtyRect=0xbfffe590) at imgRequestProxy.cpp:392
#6  0x41b5b29a in imgRequest::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0x89190b0, container=0x8914878, newframe=0x89132b8,
    dirtyRect=0xbfffe590) at imgRequest.cpp:401
#7  0x41b641cb in imgContainerGIF::Notify(nsITimer*) (this=0x8914878, timer=0x8918000) at imgContainerGIF.cpp:455
#8  0x4016e2ed in nsTimerImpl::Fire() (this=0x8918000) at nsTimerImpl.cpp:403
#9  0x4016e462 in handleTimerEvent (aEvent=0x88e2498) at nsTimerImpl.cpp:467
#10 0x40167551 in PL_HandleEvent (self=0x88e2498) at plevent.c:688
#11 0x4016742a in PL_ProcessPendingEvents (self=0x80d48a8) at plevent.c:623
#12 0x40169faa in nsEventQueueImpl::ProcessPendingEvents() (this=0x80daa28) at nsEventQueue.cpp:417
#13 0x41d19faa in event_processor_callback (source=0x8348d90, condition=G_IO_IN, data=0xbfffe3b0) at nsAppShell.cpp:67
#14 0x40686def in g_io_unix_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#15 0x40664148 in g_main_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#16 0x406651a8 in g_main_context_dispatch () from /opt/gnome/lib/libglib-2.0.so.0
#17 0x406655a8 in g_main_context_iterate () from /opt/gnome/lib/libglib-2.0.so.0
#18 0x40665bf7 in g_main_loop_run () from /opt/gnome/lib/libglib-2.0.so.0
#19 0x403896ff in gtk_main () from /opt/gnome/lib/libgtk-x11-2.0.so.0
#20 0x41d1a554 in nsAppShell::Run() (this=0x8164b18) at nsAppShell.cpp:139
#21 0x41c896ed in nsAppStartup::Run() (this=0x8163728) at nsAppStartup.cpp:207
#22 0x08051663 in main1 (argc=2, argv=0xbfffeae4, nativeApp=0x80b5380) at nsAppRunner.cpp:1248
#23 0x08051fe0 in main (argc=2, argv=0xbfffeae4) at nsAppRunner.cpp:1736
(gdb) fr 2
#2  0x4104288e in nsImageFrame::FrameChanged(imgIContainer*, gfxIImageFrame*, nsRect*) (this=0x8925f3c, aContainer=0x8914878,
    aNewFrame=0x89132b8, aDirtyRect=0xbfffe590) at nsImageFrame.cpp:670
670       Invalidate(r, PR_FALSE);
(gdb) p *this
$1 = {<nsSplittableFrame> = {<nsFrame> = {<nsBox> = {<nsIFrame> = {<nsISupports> = {_vptr.nsISupports = 0x415a65e8}, mRect = {x = 0, y = 0,
            width = 0, height = 0}, mContent = 0x89187e8, mStyleContext = 0x8c88050, mParent = 0x89214ec, mNextSibling = 0x0, mState = 9506},
        static gGotTheme = 1, static gTheme = 0x8313a08}, <nsIFrameDebug> = {<nsISupports> = {
          _vptr.nsISupports = 0x415a6810}, <No data fields>}, <No data fields>}, mPrevInFlow = 0x0,
    mNextInFlow = 0x0}, <nsIImageFrame> = {<nsISupports> = {_vptr.nsISupports = 0x415a6838}, <No data fields>}, mImageMap = 0x0, mListener = {
    mRawPtr = 0x8bc6cb0}, mComputedSize = {width = 0, height = 0}, mIntrinsicSize = {width = 0, height = 0}, mTransform = {m00 = 1, m11 = 1,
    m20 = 0, m21 = 0, type = 0}, mBorderPadding = {top = 0, right = 0, bottom = 0, left = 0}, static sIOService = 0x813b828,
  static gIconLoad = 0x88ef310}
(gdb) fr 1
#1  0x4101f76c in nsIFrame::Invalidate(nsRect const&, int) const (this=0x8925f3c, aDamageRect=@0x8d44ea8, aImmediate=0) at nsFrame.cpp:2654
2654        view->GetViewManager()->UpdateView(view, damageRect, flags);
(gdb) p view
$2 = (class nsIView *) 0x8d44ea8
(gdb) p *view
$3 = {_vptr.nsIView = 0x1, mViewManager = 0x40b98f00, mParent = 0x5, mWindow = 0x4, mNextSibling = 0x8d0cdb8, mFirstChild = 0x1c00,
  mClientData = 0x0, mZIndex = 0, mVis = nsViewVisibility_kHide, mPosX = 0, mPosY = 142381560, mDimBounds = {x = 0, y = 0, width = 0,
    height = 0}, mOpacity = 0, mVFlags = 0}
(gdb)
Depends on: 310638
OS: Windows XP → All
No sign of a fix, not realistic for 1.8.0.1
Flags: blocking1.8.0.2?
Flags: blocking1.8.0.1?
Flags: blocking1.8.0.1-
Neopets isn't a good site for getting reproducible fuzz crashes, and I don't see problems, so marking WFM.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
Flags: blocking1.8.0.2? → blocking1.8.0.2-
Group: security
in-testsuite- since it sounds like it's not worth the effort here given reproducibility concerns.
Flags: in-testsuite-
Crash Signature: [@ nsStyleContext::FindChildWithRules() line 182]
You need to log in before you can comment on or make changes to this bug.