Assertion failure: aFrame->IsFloating() (DoRemoveFloats() can only remove float elements!), at /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:6649
Categories
(Core :: Layout: Block and Inline, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr140 | --- | unaffected |
| firefox145 | --- | unaffected |
| firefox146 | --- | wontfix |
| firefox147 | --- | verified |
People
(Reporter: tsmith, Assigned: TYLin)
References
(Regression)
Details
(Keywords: assertion, regression, testcase, Whiteboard: [bugmon:bisected,confirmed], [wptsync upstream])
Attachments
(2 files)
Found while fuzzing 20251031-90470f136143 (--enable-debug --enable-fuzzing)
To reproduce via Grizzly Replay:
$ pip install fuzzfetch grizzly-framework --upgrade
$ python -m fuzzfetch -d --fuzzing -n firefox
$ python -m grizzly.replay.bugzilla ./firefox/firefox <bugid>
Assertion failure: aFrame->IsFloating() (DoRemoveFloats() can only remove float elements!), at /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:6649
#0 0x7127dee0fe38 in MOZ_CrashSequence /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:237:3
#1 0x7127dee0fe38 in nsBlockFrame::DoRemoveFloats(mozilla::FrameDestroyContext&, nsIFrame*) /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:6648:3
#2 0x7127dee0ecb8 in nsBlockFrame::RemoveFrame(mozilla::FrameDestroyContext&, mozilla::FrameChildListID, nsIFrame*) /builds/worker/checkouts/gecko/layout/generic/nsBlockFrame.cpp:6379:5
#3 0x7127def083aa in nsPlaceholderFrame::Destroy(mozilla::FrameDestroyContext&) /builds/worker/checkouts/gecko/layout/generic/nsPlaceholderFrame.cpp:165:9
#4 0x7127dee2a730 in nsContainerFrame::RemoveFrame(mozilla::FrameDestroyContext&, mozilla::FrameChildListID, nsIFrame*) /builds/worker/checkouts/gecko/layout/generic/nsContainerFrame.cpp:189:19
#5 0x7127ded352ec in nsCSSFrameConstructor::RemoveFloatingFirstLetterFrames(mozilla::PresShell*, nsIFrame*) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:10335:3
#6 0x7127ded2c61d in nsCSSFrameConstructor::RemoveLetterFrames(mozilla::PresShell*, nsContainerFrame*) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:10438:5
#7 0x7127ded2b4ba in nsCSSFrameConstructor::ContentAppended(nsIContent*, nsCSSFrameConstructor::InsertionKind) /builds/worker/checkouts/gecko/layout/base/nsCSSFrameConstructor.cpp:6455:5
#8 0x7127dec1fd85 in mozilla::RestyleManager::ProcessRestyledFrames(nsStyleChangeList&) /builds/worker/checkouts/gecko/layout/style/RestyleManager.cpp:1633:27
#9 0x7127dec27314 in mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) /builds/worker/checkouts/gecko/layout/style/RestyleManager.cpp:3300:7
#10 0x7127dec287a1 in mozilla::RestyleManager::ProcessPendingRestyles() /builds/worker/checkouts/gecko/layout/style/RestyleManager.cpp:3390:3
#11 0x7127decd140e in mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:4463:37
#12 0x7127dc9afd31 in FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1495:5
#13 0x7127dc9afd31 in mozilla::EventStateManager::FlushLayout(nsPresContext*) /builds/worker/checkouts/gecko/dom/events/EventStateManager.cpp:6930:16
#14 0x7127dc9ab95b in mozilla::EventStateManager::PreHandleEvent(nsPresContext*, mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, nsIContent*) /builds/worker/checkouts/gecko/dom/events/EventStateManager.cpp:1214:7
#15 0x7127dece871c in mozilla::PresShell::EventHandler::DispatchEvent(mozilla::EventStateManager*, mozilla::WidgetEvent*, bool, nsEventStatus*, nsIContent*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:9271:39
#16 0x7127dece1775 in mozilla::PresShell::EventHandler::HandleEventWithCurrentEventInfo(mozilla::WidgetEvent*, nsEventStatus*, bool, nsIContent*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:9238:17
#17 0x7127dece66cb in mozilla::PresShell::EventHandler::HandleEventWithTarget(mozilla::WidgetEvent*, nsIFrame*, nsIContent*, nsEventStatus*, bool, nsIContent**, nsIContent*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:9145:17
#18 0x7127dca52dcd in HandleEventWithTarget /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:690:25
#19 0x7127dca52dcd in mozilla::PointerEventHandler::DispatchPointerFromMouseOrTouch(mozilla::PresShell*, nsIFrame*, nsIContent*, mozilla::dom::Element*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*, nsIContent**) /builds/worker/checkouts/gecko/dom/events/PointerEventHandler.cpp:1324:12
#20 0x7127dece3911 in mozilla::PresShell::EventHandler::DispatchPrecedingPointerEvent(AutoWeakFrame&, mozilla::WidgetGUIEvent*, mozilla::dom::Element*, bool, mozilla::PresShell::EventHandler::EventTargetData*, nsEventStatus*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:8153:3
#21 0x7127dece1026 in mozilla::PresShell::EventHandler::HandleEventUsingCoordinates(AutoWeakFrame&, mozilla::WidgetGUIEvent*, nsEventStatus*, bool) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:7775:8
#22 0x7127decdfb67 in mozilla::PresShell::EventHandler::HandleEvent(AutoWeakFrame&, mozilla::WidgetGUIEvent*, bool, nsEventStatus*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:7657:12
#23 0x7127decda6a7 in mozilla::PresShell::HandleEvent(nsIFrame*, mozilla::WidgetGUIEvent*, bool, nsEventStatus*) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:7477:23
#24 0x7127de833ff3 in nsViewManager::DispatchEvent(mozilla::WidgetGUIEvent*, nsView*, nsEventStatus*) /builds/worker/checkouts/gecko/view/nsViewManager.cpp:593:18
#25 0x7127de833d96 in nsView::HandleEvent(mozilla::WidgetGUIEvent*, bool) /builds/worker/checkouts/gecko/view/nsView.cpp:793:9
#26 0x7127de877753 in mozilla::widget::PuppetWidget::DispatchEvent(mozilla::WidgetGUIEvent*, nsEventStatus&) /builds/worker/checkouts/gecko/widget/PuppetWidget.cpp:308:37
#27 0x7127da19c447 in mozilla::layers::APZCCallbackHelper::DispatchWidgetEvent(mozilla::WidgetGUIEvent&) /builds/worker/checkouts/gecko/gfx/layers/apz/util/APZCCallbackHelper.cpp:538:21
#28 0x7127de07810b in DispatchWidgetEventViaAPZ /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:1845:10
#29 0x7127de07810b in mozilla::dom::BrowserChild::HandleRealMouseButtonEvent(mozilla::WidgetMouseEvent const&, mozilla::layers::ScrollableLayerGuid const&, unsigned long const&) /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:1802:3
#30 0x7127de079b0b in mozilla::dom::BrowserChild::RecvRealMouseButtonEvent(mozilla::WidgetMouseEvent const&, mozilla::layers::ScrollableLayerGuid const&, unsigned long const&) /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:1753:3
#31 0x7127de079cc3 in mozilla::dom::BrowserChild::RecvSynthMouseMoveEvent(mozilla::WidgetMouseEvent const&, mozilla::layers::ScrollableLayerGuid const&, unsigned long const&) /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:1711:8
#32 0x7127de1983b1 in mozilla::dom::PBrowserChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PBrowserChild.cpp:5305:80
#33 0x7127de208a53 in mozilla::dom::PContentChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PContentChild.cpp:8500:32
#34 0x7127d998c3be in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1794:25
#35 0x7127d9989940 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, std::unique_ptr<IPC::Message, std::default_delete<IPC::Message>>) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1720:9
#36 0x7127d998a347 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1509:3
#37 0x7127d998b329 in mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1611:14
#38 0x7127d8d84cf7 in mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:705:16
#39 0x7127d8d7f647 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1325:20
#40 0x7127d8d7e2e7 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:1148:15
#41 0x7127d8d7e765 in mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:641:36
#42 0x7127d8d8bc49 in operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:336:37
#43 0x7127d8d8bc49 in mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_1>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:549:5
#44 0x7127d8d9dc13 in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1166:16
#45 0x7127d8da44df in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:461:10
#46 0x7127d9991c03 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:107:5
#47 0x7127d98ecae1 in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:361:3
#48 0x7127d98ecae1 in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:343:3
#49 0x7127de899108 in nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:152:27
#50 0x7127de968164 in nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:470:33
#51 0x7127df99d9ab in XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:656:20
#52 0x7127d9992af4 in mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9
#53 0x7127d98ecae1 in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:361:3
#54 0x7127d98ecae1 in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:343:3
#55 0x7127df99d101 in XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:594:34
#56 0x555fc63dbaac in main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:465:22
Comment 1•6 months ago
|
||
Verified bug as reproducible on mozilla-central 20251110211328-5c1a693f1ed1.
The bug appears to have been introduced in the following build range:
Start: 9126b83a2a852cd12525178e8419bbb9ca87746c (20251031083842)
End: 2f019b4dca3766259dbca45766bad0d7b2e50a5c (20251031112202)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=9126b83a2a852cd12525178e8419bbb9ca87746c&tochange=2f019b4dca3766259dbca45766bad0d7b2e50a5c
| Reporter | ||
Updated•6 months ago
|
Comment 2•6 months ago
|
||
:TYLin, since you are the author of the regressor, bug 1997502, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Comment 3•6 months ago
|
||
Set release status flags based on info from the regressing bug 1997502
| Assignee | ||
Comment 4•6 months ago
|
||
nsFloatingFirstLetterFrame might lose its floating style after calling
nsBlockFrame::UpdateFirstLetterStyle(). I believe we have existing issues with
::first-letter and ::first-line styling. It's probably related to bug 13610
or bug 548836.
Updated•6 months ago
|
Comment 6•6 months ago
|
||
| bugherder | ||
Comment 7•6 months ago
|
||
Verified bug as fixed on rev mozilla-central 20251115204042-8f16036f9483.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.
| Assignee | ||
Comment 10•6 months ago
|
||
The patch adjusted a debug-only assertion, so it does not affect the user behavior. Uplifting is nice to have, but not necessary.
Description
•