Closed Bug 4364 Opened 26 years ago Closed 25 years ago

[PP]Demo #13 crashes on linux

Categories

(Core :: Layout, defect, P1)

x86
Linux
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: mcafee, Assigned: vidur)

Details

Demo #13 crashes on linux, both viewer and apprunner: #0 0x40b446a1 in __kill () #1 0x40b444cf in raise (sig=6) at ../sysdeps/posix/raise.c:27 #2 0x40b456df in abort () at ../sysdeps/generic/abort.c:83 #3 0x4085b13a in PR_Abort () at prlog.c:461 #4 0x4082b426 in nsDebug::Abort (aFile=0x40469841 "nsBlockFrame.cpp", aLine=3679) at nsDebug.cpp:93 #5 0x4082b48a in nsDebug::Break (aFile=0x40469841 "nsBlockFrame.cpp", aLine=3679) at nsDebug.cpp:108 #6 0x4082b5cd in nsDebug::Assertion (aStr=0x40469e5f "no line contains the previous sibling", aExpr=0x40469e50 "nsnull != line", aFile=0x40469841 "nsBlockFrame.cpp", aLine=3679) at nsDebug.cpp:140 #7 0x402cabe8 in nsBlockFrame::InsertNewFrames (this=0x823a7e8, aPresContext=@0x8268250, aFrameList=0x8267240, aPrevSibling=0x8264758) at nsBlockFrame.cpp:3679 #8 0x402ca95a in nsBlockFrame::InsertFrames (this=0x823a7e8, aPresContext=@0x8268250, aPresShell=@0x81cff20, aListName=0x0, aPrevFrame=0x8264758, aFrameList=0x8267240) at nsBlockFrame.cpp:3601 #9 0x403ceb87 in nsCSSFrameConstructor::ContentInserted (this=0x821c048, aPresContext=0x8268250, aContainer=0x822a114, aChild=0x823b904, aIndexInContainer=3) at nsCSSFrameConstructor.cpp:3429 #10 0x403d204d in nsCSSFrameConstructor::RecreateFramesForContent (this=0x821c048, aPresContext=0x8268250, aContent=0x823b904) at nsCSSFrameConstructor.cpp:4571 #11 0x403d0226 in nsCSSFrameConstructor::AttributeChanged (this=0x821c048, aPresContext=0x8268250, aContent=0x823b904, aAttribute=0x81b8448, aHint=4) at nsCSSFrameConstructor.cpp:3953 #12 0x402a9d91 in StyleSetImpl::AttributeChanged (this=0x821c000, aPresContext=0x8268250, aContent=0x823b904, aAttribute=0x81b8448, aHint=4) at nsStyleSet.cpp:793 #13 0x402f39ff in PresShell::AttributeChanged (this=0x81cff20, aDocument=0x81e9fd0, aContent=0x823b904, aAttribute=0x81b8448, aHint=4) at nsPresShell.cpp:1636 #14 0x40294e98 in nsDocument::AttributeChanged (this=0x81e9fd0, aChild=0x823b904, aAttribute=0x81b8448, aHint=4) at nsDocument.cpp:1362 #15 0x4030246a in nsDOMCSSAttributeDeclaration::StylePropertyChanged (this=0x81f2238, aPropertyName=@0xbfffecd4, aHint=4) at nsGenericHTMLElement.cpp:179 #16 0x403f347e in nsDOMCSSDeclaration::SetProperty (this=0x81f2238, aPropertyName=@0xbfffecd4, aValue=@0xbfffed0c, aPriority=@0xbfffece4) at nsDOMCSSDeclaration.cpp:223 #17 0x403f6858 in nsDOMCSSDeclaration::SetLeft (this=0x81f2238, aLeft=@0xbfffed0c) at nsDOMCSSDeclaration.cpp:902 #18 0x4057a960 in SetCSS2PropertiesProperty (cx=0x81c72a8, obj=0x81ca090, id=-111, vp=0xbffff0a0) at nsJSCSS2Properties.cpp:2064 #19 0x407e63a9 in js_SetProperty (cx=0x81c72a8, obj=0x81ca090, id=136494648, vp=0xbffff0a0) at jsobj.c:1914 #20 0x407d45b2 in js_Interpret (cx=0x81c72a8, result=0xbffff174) at jsinterp.c:2160 #21 0x407c5a11 in js_Invoke (cx=0x81c72a8, argc=1, constructing=0) at jsinterp.c:666 #22 0x407c5cc8 in js_CallFunctionValue (cx=0x81c72a8, obj=0x81c8740, fval=136092216, argc=1, argv=0x8264150, rval=0xbffff2c4) at jsinterp.c:735 #23 0x4079f4d9 in JS_CallFunctionValue (cx=0x81c72a8, obj=0x81c8740, fval=136092216, argc=1, argv=0x8264150, rval=0xbffff2c4) at jsapi.c:2369 #24 0x4053c1cd in GlobalWindowImpl::RunTimeout (this=0x81c4b48, aTimeout=0x8264108) at nsGlobalWindow.cpp:1136 #25 0x4053bfcd in nsGlobalWindow_RunTimeout (aTimer=0x8264178, aClosure=0x8264108) at nsGlobalWindow.cpp:1043 #26 0x404bfde9 in TimerImpl::FireTimeout (this=0x8264178) at nsTimer.cpp:73 #27 0x404c02d2 in nsTimerExpired (aCallData=0x8264178) at nsTimer.cpp:189 #28 0x409f4a60 in g_timeout_dispatch (source_data=0x82641a0, current_time=0xbffff408, user_data=0x8264178) at gmain.c:1144 #29 0x409f3d53 in g_main_dispatch (current_time=0xbffff408) at gmain.c:644 #30 0x409f42df in g_main_iterate (block=1, dispatch=1) at gmain.c:851 #31 0x409f4461 in g_main_run (loop=0x81acad0) at gmain.c:909 #32 0x409215f7 in gtk_main () at gtkmain.c:501 #33 0x4004cb74 in nsAppShell::Run (this=0x8085d98) at nsAppShell.cpp:207 #34 0x8053332 in nsNativeViewerApp::Run (this=0x80812c0) at nsGTKMain.cpp:42 #35 0x8053546 in main (argc=1, argv=0xbffff4b4) at nsGTKMain.cpp:97
Assignee: troy → kipp
Kipp, it doesn't crash on NT
Severity: normal → critical
Status: NEW → ASSIGNED
Priority: P3 → P1
Assignee: kipp → vidur
Status: ASSIGNED → NEW
The demo crashes in an assertion in the block frame code (and its a valid assertion); a simple tweak to the test so that it invokes the setTimeout call during the pages onload handler causes the crash to go away. So its a race condition between the timeout and when reflow gets around to creating the frames...What happens is that the left attribute is changed by the DOM and this should be triggering a rendering operation; instead its triggering a "reframe" because the primary frame has not yet been created (primaryFrame in nsCSSFrameConstructor::AttributeChanged is NULL). Vidur - you should take a look at this and figure out how this class of problems should be handled. Thanks.
Status: NEW → ASSIGNED
Target Milestone: M5
Summary: Demo #13 crashes on linux → [PP]Demo #13 crashes on linux
Target Milestone: M5 → M6
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → WORKSFORME
This is working for me, Linux rh5.2. marking WORKSFORME.
Status: RESOLVED → VERIFIED
With the latest Linux build (5/17/99), I can load Demo #13 without it crashing.
You need to log in before you can comment on or make changes to this bug.