Closed Bug 1755469 Opened 3 years ago Closed 3 years ago

[firefox] [linux] [sway] crash when opening bookmark folder on right side of screen

Categories

(Core :: Graphics: WebRender, defect)

Firefox 97
defect

Tracking

()

RESOLVED DUPLICATE of bug 1746812

People

(Reporter: dumitru.sipos, Unassigned)

References

()

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0

Steps to reproduce:

Open Firefox (UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0).
Have bookmark toolbar enabled.
Click on right most folder "Other Bookmarks".
Hover mouse over sub-folder inside "Other Bookmarks": the content of the sub-folder is not properly shown: it appears as the content flickers: it briefly appears on screen then disappears.
Hover mouse over other sub-folder which itself contains subfolders (ex: TabStash bookmarks).

Actual results:

Firefox closes unexpectedly.

Expected results:

I expected to see content of bookmark folder.

Note: this is quite easy to reproduce.

The Bugbug bot thinks this bug should belong to the 'Firefox::Bookmarks & History' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → Bookmarks & History

Do you get the crash reporter dialog up? If so, please can you get a crash report id or two and paste them here please?

https://support.mozilla.org/en-US/kb/mozillacrashreporter#w_viewing-crash-reports

This may be a duplicate of bug 1745553 or bug 1746812

Flags: needinfo?(dumitru.sipos)

No, the crash reporter dialog does not appear.
Is there a way to convince the crash reporter to show up?

I can reproduce it very easily but as far as I can tell my CPU does not spike like in Bug 1745553.
Seems more similar to the Bug 1746812.

Flags: needinfo?(dumitru.sipos)

gdb backtrace looks like this:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `/usr/lib/firefox/firefox'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:49
49	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fdbe30ff640 (LWP 23651))]
(gdb) bt
#0  raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007fdc021ab648 in nsProfileLock::FatalSignalHandler (signo=11, info=0x7fdbe30fd390, context=0x7fdbe30fd440) at ./toolkit/profile/nsProfileLock.cpp:174
#2  <signal handler called>
#3  MOZ_Crash (aReason=0x7fdbe30fdae2 "Attempting to create a 748x229744 window/document", aLine=1375, aFilename=0x7fdbe30fdcea "gfx/wr/webrender/src/render_api.rs")
    at ../../../obj-x86_64-unknown-linux-gnu/dist/include/mozilla/Assertions.h:261
#4  RustMozCrash (aFilename=0x7fdbe30fdcea "gfx/wr/webrender/src/render_api.rs", aLine=1375, aReason=0x7fdbe30fdae2 "Attempting to create a 748x229744 window/document")
    at wrappers.cpp:18
#5  0x00007fdc02db511d in mozglue_static::panic_hook (info=<optimized out>) at mozglue/static/rust/lib.rs:91
#6  0x00007fdc02db4e49 in core::ops::function::Fn::call<fn(&core::panic::panic_info::PanicInfo), (&core::panic::panic_info::PanicInfo)> ()
    at /builddir/rustc-1.57.0-src/library/core/src/ops/function.rs:70
#7  0x00007fdc02fc0757 in std::panicking::rust_panic_with_hook () from /usr/lib/firefox/libxul.so
#8  0x00007fdc02fc0114 in std::panicking::begin_panic_handler::{{closure}} () from /usr/lib/firefox/libxul.so
#9  0x00007fdc02fbeef4 in std::sys_common::backtrace::__rust_end_short_backtrace::h54cc540f2a5a6bf2 () from /usr/lib/firefox/libxul.so
#10 0x00007fdc02fc009d in rust_begin_unwind () from /usr/lib/firefox/libxul.so
#11 0x00007fdbfe7ce731 in std::panicking::begin_panic_fmt () from /usr/lib/firefox/libxul.so
#12 0x00007fdc0351bd7d in webrender::render_api::window_size_sanity_check (size=...) at gfx/wr/webrender/src/render_api.rs:1375
#13 webrender::render_api::Transaction::set_document_view (self=<optimized out>, device_rect=...) at gfx/wr/webrender/src/render_api.rs:320
#14 0x00007fdbff5ebf6a in mozilla::wr::TransactionBuilder::SetDocumentView (this=this@entry=0x7fdbe30fe330, aDocumentRect=...)
    at ./gfx/webrender_bindings/WebRenderAPI.cpp:307
#15 0x00007fdbff4cc81b in mozilla::layers::WebRenderBridgeParent::SetDisplayList (this=this@entry=0x7fdb98de8000, aRect=..., aDLItems=..., aDLCache=..., aSpatialTreeDL=...,
    aDLDesc=..., aResourceUpdates=..., aSmallShmems=..., aLargeShmems=..., aTxnStartTime=..., aTxn=..., aWrEpoch=..., aObserveLayersUpdate=false)
    at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1139
#16 0x00007fdbff4cded5 in mozilla::layers::WebRenderBridgeParent::ProcessDisplayListData (this=0x7fdb98de8000, aDisplayList=..., aWrEpoch=..., aTxnStartTime=...,
    aValidTransaction=<optimized out>, aObserveLayersUpdate=<optimized out>) at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1192
#17 0x00007fdbff4ce60f in mozilla::layers::WebRenderBridgeParent::RecvSetDisplayList (this=0x7fdb98de8000, aDisplayList=..., aToDestroy=...,
    aFwdTransactionId=<optimized out>, aTransactionId=..., aContainsSVGGroup=<optimized out>, aVsyncId=..., aVsyncStartTime=..., aRefreshStartTime=..., aTxnStartTime=...,
    aTxnURL=..., aFwdTime=..., aPayloads=...) at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1248
#18 0x00007fdbff03cafd in mozilla::layers::PWebRenderBridgeParent::OnMessageReceived (this=0x7fdb98de8000, msg__=...) at PWebRenderBridgeParent.cpp:433
#19 0x00007fdbfee90936 in mozilla::layers::PCompositorManagerParent::OnMessageReceived (this=<optimized out>, msg__=...) at PCompositorManagerParent.cpp:204
#20 0x00007fdbfeddd2df in mozilla::ipc::MessageChannel::DispatchAsyncMessage (this=0x7fdbd7548ac0, aProxy=0x7fdbd7584d60, aMsg=...) at ./ipc/glue/MessageChannel.cpp:2039
#21 0x00007fdbfede8c77 in mozilla::ipc::MessageChannel::DispatchMessage (this=0x7fdbd7548ac0, aMsg=...) at ./ipc/glue/MessageChannel.cpp:1964
#22 0x00007fdbfedea328 in mozilla::ipc::MessageChannel::MessageTask::Run (this=0x7fdbbadc5900) at ../../dist/include/mozilla/ipc/MessageChannel.h:558
#23 0x00007fdbfe96605e in nsThread::ProcessNextEvent (this=0x7fdc07f4aae0, aMayWait=<optimized out>, aResult=0x7fdbe30feb17) at ./xpcom/threads/nsThread.cpp:1189
#24 0x00007fdbfe950038 in NS_ProcessNextEvent (aThread=<optimized out>, aThread@entry=0x7fdc07f4aae0, aMayWait=aMayWait@entry=true) at ./xpcom/threads/nsThreadUtils.cpp:467
#25 0x00007fdbfedcff7a in mozilla::ipc::MessagePumpForNonMainThreads::Run (this=0x7fdbef8c5880, aDelegate=0x7fdbe30febe0) at ./ipc/glue/MessagePump.cpp:330
#26 0x00007fdbfed90945 in MessageLoop::RunInternal (this=0x7fdc081ba31c <PR_GetCurrentThread+28>) at ./ipc/chromium/src/base/message_loop.cc:331
#27 MessageLoop::RunHandler (this=0x7fdc081ba31c <PR_GetCurrentThread+28>) at ./ipc/chromium/src/base/message_loop.cc:324
#28 MessageLoop::Run (this=this@entry=0x7fdbe30febe0) at ./ipc/chromium/src/base/message_loop.cc:306
#29 0x00007fdbfe965590 in nsThread::ThreadFunc (aArg=<optimized out>) at ./xpcom/threads/nsThread.cpp:391
#30 0x00007fdc081b99be in ?? () from /usr/lib/libnspr4.so
#31 0x00007fdc0879deae in start_thread (arg=0x7fdbe30ff640) at pthread_create.c:463
#32 0x00007fdc084442ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

(In reply to Dumitru Sipos from comment #4)

gdb backtrace looks like this:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `/usr/lib/firefox/firefox'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:49
49	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fdbe30ff640 (LWP 23651))]
(gdb) bt
#0  raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:49
#1  0x00007fdc021ab648 in nsProfileLock::FatalSignalHandler (signo=11, info=0x7fdbe30fd390, context=0x7fdbe30fd440) at ./toolkit/profile/nsProfileLock.cpp:174
#2  <signal handler called>
#3  MOZ_Crash (aReason=0x7fdbe30fdae2 "Attempting to create a 748x229744 window/document", aLine=1375, aFilename=0x7fdbe30fdcea "gfx/wr/webrender/src/render_api.rs")
    at ../../../obj-x86_64-unknown-linux-gnu/dist/include/mozilla/Assertions.h:261
#4  RustMozCrash (aFilename=0x7fdbe30fdcea "gfx/wr/webrender/src/render_api.rs", aLine=1375, aReason=0x7fdbe30fdae2 "Attempting to create a 748x229744 window/document")
    at wrappers.cpp:18
#5  0x00007fdc02db511d in mozglue_static::panic_hook (info=<optimized out>) at mozglue/static/rust/lib.rs:91
#6  0x00007fdc02db4e49 in core::ops::function::Fn::call<fn(&core::panic::panic_info::PanicInfo), (&core::panic::panic_info::PanicInfo)> ()
    at /builddir/rustc-1.57.0-src/library/core/src/ops/function.rs:70
#7  0x00007fdc02fc0757 in std::panicking::rust_panic_with_hook () from /usr/lib/firefox/libxul.so
#8  0x00007fdc02fc0114 in std::panicking::begin_panic_handler::{{closure}} () from /usr/lib/firefox/libxul.so
#9  0x00007fdc02fbeef4 in std::sys_common::backtrace::__rust_end_short_backtrace::h54cc540f2a5a6bf2 () from /usr/lib/firefox/libxul.so
#10 0x00007fdc02fc009d in rust_begin_unwind () from /usr/lib/firefox/libxul.so
#11 0x00007fdbfe7ce731 in std::panicking::begin_panic_fmt () from /usr/lib/firefox/libxul.so
#12 0x00007fdc0351bd7d in webrender::render_api::window_size_sanity_check (size=...) at gfx/wr/webrender/src/render_api.rs:1375
#13 webrender::render_api::Transaction::set_document_view (self=<optimized out>, device_rect=...) at gfx/wr/webrender/src/render_api.rs:320
#14 0x00007fdbff5ebf6a in mozilla::wr::TransactionBuilder::SetDocumentView (this=this@entry=0x7fdbe30fe330, aDocumentRect=...)
    at ./gfx/webrender_bindings/WebRenderAPI.cpp:307
#15 0x00007fdbff4cc81b in mozilla::layers::WebRenderBridgeParent::SetDisplayList (this=this@entry=0x7fdb98de8000, aRect=..., aDLItems=..., aDLCache=..., aSpatialTreeDL=...,
    aDLDesc=..., aResourceUpdates=..., aSmallShmems=..., aLargeShmems=..., aTxnStartTime=..., aTxn=..., aWrEpoch=..., aObserveLayersUpdate=false)
    at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1139
#16 0x00007fdbff4cded5 in mozilla::layers::WebRenderBridgeParent::ProcessDisplayListData (this=0x7fdb98de8000, aDisplayList=..., aWrEpoch=..., aTxnStartTime=...,
    aValidTransaction=<optimized out>, aObserveLayersUpdate=<optimized out>) at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1192
#17 0x00007fdbff4ce60f in mozilla::layers::WebRenderBridgeParent::RecvSetDisplayList (this=0x7fdb98de8000, aDisplayList=..., aToDestroy=...,
    aFwdTransactionId=<optimized out>, aTransactionId=..., aContainsSVGGroup=<optimized out>, aVsyncId=..., aVsyncStartTime=..., aRefreshStartTime=..., aTxnStartTime=...,
    aTxnURL=..., aFwdTime=..., aPayloads=...) at ./gfx/layers/wr/WebRenderBridgeParent.cpp:1248
#18 0x00007fdbff03cafd in mozilla::layers::PWebRenderBridgeParent::OnMessageReceived (this=0x7fdb98de8000, msg__=...) at PWebRenderBridgeParent.cpp:433
#19 0x00007fdbfee90936 in mozilla::layers::PCompositorManagerParent::OnMessageReceived (this=<optimized out>, msg__=...) at PCompositorManagerParent.cpp:204
#20 0x00007fdbfeddd2df in mozilla::ipc::MessageChannel::DispatchAsyncMessage (this=0x7fdbd7548ac0, aProxy=0x7fdbd7584d60, aMsg=...) at ./ipc/glue/MessageChannel.cpp:2039
#21 0x00007fdbfede8c77 in mozilla::ipc::MessageChannel::DispatchMessage (this=0x7fdbd7548ac0, aMsg=...) at ./ipc/glue/MessageChannel.cpp:1964
#22 0x00007fdbfedea328 in mozilla::ipc::MessageChannel::MessageTask::Run (this=0x7fdbbadc5900) at ../../dist/include/mozilla/ipc/MessageChannel.h:558
#23 0x00007fdbfe96605e in nsThread::ProcessNextEvent (this=0x7fdc07f4aae0, aMayWait=<optimized out>, aResult=0x7fdbe30feb17) at ./xpcom/threads/nsThread.cpp:1189
#24 0x00007fdbfe950038 in NS_ProcessNextEvent (aThread=<optimized out>, aThread@entry=0x7fdc07f4aae0, aMayWait=aMayWait@entry=true) at ./xpcom/threads/nsThreadUtils.cpp:467
#25 0x00007fdbfedcff7a in mozilla::ipc::MessagePumpForNonMainThreads::Run (this=0x7fdbef8c5880, aDelegate=0x7fdbe30febe0) at ./ipc/glue/MessagePump.cpp:330
#26 0x00007fdbfed90945 in MessageLoop::RunInternal (this=0x7fdc081ba31c <PR_GetCurrentThread+28>) at ./ipc/chromium/src/base/message_loop.cc:331
#27 MessageLoop::RunHandler (this=0x7fdc081ba31c <PR_GetCurrentThread+28>) at ./ipc/chromium/src/base/message_loop.cc:324
#28 MessageLoop::Run (this=this@entry=0x7fdbe30febe0) at ./ipc/chromium/src/base/message_loop.cc:306
#29 0x00007fdbfe965590 in nsThread::ThreadFunc (aArg=<optimized out>) at ./xpcom/threads/nsThread.cpp:391
#30 0x00007fdc081b99be in ?? () from /usr/lib/libnspr4.so
#31 0x00007fdc0879deae in start_thread (arg=0x7fdbe30ff640) at pthread_create.c:463
#32 0x00007fdc084442ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

This 'height' looks unexpected...
(gdb) fr 12
#12 0x00007fdc0351bd7d in webrender::render_api::window_size_sanity_check (size=...) at gfx/wr/webrender/src/render_api.rs:1375
1375 gfx/wr/webrender/src/render_api.rs: No such file or directory.
(gdb) p size
$1 = euclid::size::Size2D<i32, webrender_api::units::DevicePixel> {width: 748, height: 229744, _unit: core::marker::PhantomData<webrender_api::units::DevicePixel>}

Thank you for the stack, looks like this might be a duplicate of bug 1695591, but the stack isn't quite the same. I'll move this across to the correct component and the Webrender team can check it.

Component: Bookmarks & History → Graphics: WebRender
Product: Firefox → Core
Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.