Closed
Bug 1410027
Opened 7 years ago
Closed 6 years ago
Assertion in nsXPCWrappedJS::Release due to call from Render thread.
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | unaffected |
People
(Reporter: jya, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [gfx-noted])
Running an asan build with debug symbols on (though optimised)
=thread-group-added,id="i1"
GNU gdb (Ubuntu 7.12.50.20170314-0ubuntu1.1) 7.12.50.20170314-git
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
=cmd-param-changed,param="auto-load safe-path",value="/"
=cmd-param-changed,param="print object",value="on"
=cmd-param-changed,param="pagination",value="off"
Stopped due to shared library event (no libraries added or removed)
Loaded '/lib64/ld-linux-x86-64.so.2'. Symbols loaded.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, main (argc=-10392, argv=0x7fffffffd738, envp=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/browser/app/nsBrowserApp.cpp:256
256 {
Loading JavaScript value pretty-printers; see js/src/gdb/README.
If they cause trouble, type: disable pretty-printer .* SpiderMonkey
SpiderMonkey unwinder is disabled by default, to enable it type:
enable unwinder .* SpiderMonkey
[New Thread 0x7fffd3863700 (LWP 7423)]
[Thread 0x7fffd3863700 (LWP 7423) exited]
[New Thread 0x7fffd3863700 (LWP 7425)]
[New Thread 0x7fffd2079700 (LWP 7426)]
[New Thread 0x7fffd186a700 (LWP 7427)]
[New Thread 0x7fffcfd5e700 (LWP 7428)]
[New Thread 0x7fff8ea2c700 (LWP 7429)]
[New Thread 0x7fff8e215700 (LWP 7430)]
[New Thread 0x7fff8d9fe700 (LWP 7431)]
[New Thread 0x7fff8d1c7700 (LWP 7432)]
[New Thread 0x7fff8c9b0700 (LWP 7433)]
[New Thread 0x7fff8c799700 (LWP 7434)]
[New Thread 0x7fff8c582700 (LWP 7435)]
[New Thread 0x7fff8c36b700 (LWP 7436)]
[New Thread 0x7fff8c154700 (LWP 7437)]
[New Thread 0x7fff8bf3d700 (LWP 7438)]
[New Thread 0x7fff8bd26700 (LWP 7439)]
[New Thread 0x7fff8bb0f700 (LWP 7440)]
[New Thread 0x7fff8b8f8700 (LWP 7441)]
[New Thread 0x7fff8b6e1700 (LWP 7442)]
[New Thread 0x7fff8b4ca700 (LWP 7443)]
[New Thread 0x7fff8b2b3700 (LWP 7444)]
[New Thread 0x7fff8ac73700 (LWP 7445)]
[New Thread 0x7fff8a416700 (LWP 7446)]
[New Thread 0x7fff89bfe700 (LWP 7447)]
[New Thread 0x7fff88fef700 (LWP 7448)]
[New Thread 0x7fff875ff700 (LWP 7449)]
[New Thread 0x7fff867f1700 (LWP 7452)]
[New Thread 0x7fff8230b700 (LWP 7453)]
[New Thread 0x7fff818a7700 (LWP 7454)]
[New Thread 0x7fff8109e700 (LWP 7455)]
[New Thread 0x7fff80e87700 (LWP 7456)]
[New Thread 0x7fff80c70700 (LWP 7457)]
[New Thread 0x7fff80a59700 (LWP 7458)]
[New Thread 0x7fff80842700 (LWP 7459)]
[New Thread 0x7fff8062b700 (LWP 7460)]
[New Thread 0x7fff80414700 (LWP 7461)]
[New Thread 0x7fff801fd700 (LWP 7462)]
[New Thread 0x7fff7ffe6700 (LWP 7463)]
[New Thread 0x7fff7f7cf700 (LWP 7464)]
[New Thread 0x7fff7ee4b700 (LWP 7465)]
[New Thread 0x7fff7e633700 (LWP 7466)]
[New Thread 0x7fff7de1b700 (LWP 7467)]
[New Thread 0x7fff7d603700 (LWP 7468)]
[New Thread 0x7fff7cdeb700 (LWP 7469)]
[New Thread 0x7fff7be53700 (LWP 7470)]
[New Thread 0x7fff7b652700 (LWP 7471)]
[New Thread 0x7fff7ae49700 (LWP 7473)]
[New Thread 0x7fff7a27e700 (LWP 7474)]
[New Thread 0x7fff798ff700 (LWP 7475)]
[New Thread 0x7fff790d0700 (LWP 7476)]
[New Thread 0x7fff78847700 (LWP 7477)]
[Thread 0x7fff7be53700 (LWP 7470) exited]
[Thread 0x7fff7a27e700 (LWP 7474) exited]
[Thread 0x7fff7b652700 (LWP 7471) exited]
[Thread 0x7fff78847700 (LWP 7477) exited]
[New Thread 0x7fff77366700 (LWP 7478)]
[New Thread 0x7fff78847700 (LWP 7479)]
[Thread 0x7fff78847700 (LWP 7479) exited]
[New Thread 0x7fff78847700 (LWP 7482)]
[New Thread 0x7fff7b652700 (LWP 7483)]
[New Thread 0x7fff74c8d700 (LWP 7485)]
[New Thread 0x7fff7a27e700 (LWP 7527)]
[New Thread 0x7fff7be53700 (LWP 7528)]
[New Thread 0x7fff72e7e700 (LWP 7529)]
[New Thread 0x7fff7267d700 (LWP 7530)]
[New Thread 0x7fff71e7c700 (LWP 7531)]
[New Thread 0x7fff7167b700 (LWP 7532)]
[New Thread 0x7fff70e7a700 (LWP 7533)]
[New Thread 0x7fff70679700 (LWP 7534)]
[New Thread 0x7fff6fc75700 (LWP 7562)]
[New Thread 0x7fff6f2ff700 (LWP 7611)]
[New Thread 0x7fff6eafe700 (LWP 7612)]
[New Thread 0x7fff6e2fd700 (LWP 7616)]
[New Thread 0x7fff75c36700 (LWP 7640)]
[New Thread 0x7fff6c8ff700 (LWP 7641)]
[New Thread 0x7fff6c0fe700 (LWP 7642)]
[New Thread 0x7fff6b8fd700 (LWP 7643)]
[Thread 0x7fff6c8ff700 (LWP 7641) exited]
[Thread 0x7fff6c0fe700 (LWP 7642) exited]
[Thread 0x7fff6b8fd700 (LWP 7643) exited]
[New Thread 0x7fff6aef6700 (LWP 7652)]
[New Thread 0x7fff694a4700 (LWP 7657)]
[New Thread 0x7fff6b8fd700 (LWP 7658)]
[New Thread 0x7fff6c0fe700 (LWP 7669)]
[New Thread 0x7fff6c8ff700 (LWP 7670)]
[Thread 0x7fff6c0fe700 (LWP 7669) exited]
[New Thread 0x7fff670f9700 (LWP 7671)]
[New Thread 0x7fff666cf700 (LWP 7672)]
[New Thread 0x7fff6c0fe700 (LWP 7673)]
[New Thread 0x7fff65a14700 (LWP 7674)]
[New Thread 0x7fff651f5700 (LWP 7675)]
[Thread 0x7fff875ff700 (LWP 7449) exited]
[New Thread 0x7fff642dd700 (LWP 7676)]
[New Thread 0x7fff63adc700 (LWP 7677)]
[Thread 0x7fff63adc700 (LWP 7677) exited]
[Thread 0x7fff6c0fe700 (LWP 7673) exited]
[New Thread 0x7fff875ff700 (LWP 7678)]
[Thread 0x7fff875ff700 (LWP 7678) exited]
[New Thread 0x7fff62f09700 (LWP 7679)]
[New Thread 0x7fff875ff700 (LWP 7680)]
[New Thread 0x7fff63adc700 (LWP 7681)]
[New Thread 0x7fff6c0fe700 (LWP 7702)]
[Thread 0x7fff7ae49700 (LWP 7473) exited]
[New Thread 0x7fff7ae49700 (LWP 7777)]
[Thread 0x7fff642dd700 (LWP 7676) exited]
[New Thread 0x7fff642dd700 (LWP 7778)]
[Thread 0x7fff7ae49700 (LWP 7777) exited]
[New Thread 0x7fff7ae49700 (LWP 7784)]
[New Thread 0x7fff626af700 (LWP 7805)]
[New Thread 0x7fff61eae700 (LWP 7836)]
[Thread 0x7fff642dd700 (LWP 7778) exited]
[Thread 0x7fff875ff700 (LWP 7680) exited]
[Thread 0x7fff63adc700 (LWP 7681) exited]
[Thread 0x7fff651f5700 (LWP 7675) exited]
[Thread 0x7fff65a14700 (LWP 7674) exited]
[New Thread 0x7fff65a14700 (LWP 7843)]
[New Thread 0x7fff651f5700 (LWP 7888)]
[New Thread 0x7fff63adc700 (LWP 7901)]
[New Thread 0x7fff6cfbd700 (LWP 7902)]
[New Thread 0x7fff5d8ff700 (LWP 7910)]
[New Thread 0x7fff875ff700 (LWP 7911)]
[Thread 0x7fff626af700 (LWP 7805) exited]
[Thread 0x7fff65a14700 (LWP 7843) exited]
[Thread 0x7fff651f5700 (LWP 7888) exited]
[Thread 0x7fff61eae700 (LWP 7836) exited]
[New Thread 0x7fff61eae700 (LWP 7936)]
[New Thread 0x7fff651f5700 (LWP 7955)]
[New Thread 0x7fff5bf8f700 (LWP 7964)]
[New Thread 0x7fff5be8e700 (LWP 7966)]
[New Thread 0x7fff5bc8d700 (LWP 7967)]
[New Thread 0x7fff65a14700 (LWP 7969)]
[Thread 0x7fff5bf8f700 (LWP 7964) exited]
[Thread 0x7fff5be8e700 (LWP 7966) exited]
[Thread 0x7fff5bc8d700 (LWP 7967) exited]
Thread 1 "firefox" received signal SIGINT, Interrupt.
0x00007ffff6c3ad8d in poll () at ../sysdeps/unix/syscall-template.S:84
[Switching to thread 107 (Thread 0x7fff65a14700 (LWP 7969))](running)
=thread-selected,id="107"
Thread 1 "firefox" received signal SIGINT, Interrupt.
0x00007ffff6c3ad8d in poll () at ../sysdeps/unix/syscall-template.S:84
84 in ../sysdeps/unix/syscall-template.S
[Switching to thread 107 (Thread 0x7fff65a14700 (LWP 7969))](running)
=thread-selected,id="107"
[Thread 0x7fff65a14700 (LWP 7969) exited]
Thread 1 "firefox" received signal SIGINT, Interrupt.
0x00007ffff6c3ad8d in poll () at ../sysdeps/unix/syscall-template.S:84
84 in ../sysdeps/unix/syscall-template.S
[Switching to thread 103 (Thread 0x7fff651f5700 (LWP 7955))](running)
=thread-selected,id="103"
[Thread 0x7fff651f5700 (LWP 7955) exited]
[Thread 0x7fff61eae700 (LWP 7936) exited]
Thread 1 "firefox" received signal SIGINT, Interrupt.
0x00007ffff6c3ad8d in poll () at ../sysdeps/unix/syscall-template.S:84
84 in ../sysdeps/unix/syscall-template.S
We hit:
MozExternalRefCountType
nsXPCWrappedJS::Release(void)
{
MOZ_RELEASE_ASSERT(NS_IsMainThread(), <---- crash here
this is called from the Renderer thread.
backtrace:
#0 0x00007fffdaf5516b in nsXPCWrappedJS::Release() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/js/xpconnect/src/XPCWrappedJS.cpp:260
#1 0x00007ffff6b78270 in __run_exit_handlers (status=1, listp=0x7ffff6eff5d8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:83
#2 0x00007ffff6b782ca in __GI_exit (status=<optimized out>) at exit.c:105
#3 0x00007fff82f38771 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4 0x00007fff82f38114 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5 0x00007fff82f0af72 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#6 0x00007fff82cef5e5 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#7 0x00007fff82cef8aa in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#8 0x00007fff82d629dc in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#9 0x00007fff82d63938 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#10 0x00007fff82d64c5a in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#11 0x00007fff82f4a2de in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#12 0x00007fff82caabdb in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#13 0x00007fff82caae46 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#14 0x00007fff82cab268 in () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#15 0x00007fffe80f57c3 in gleam::ffi_gl::Gl::TexSubImage2D (target=<optimized out>, level=<optimized out>, xoffset=<optimized out>, yoffset=<optimized out>, width=<optimized out>, height=115, format=0, type_=5126, pixels=<optimized out>, self=<optimized out>) at /home/jyavenard/Work/Mozilla/objdir-ff-asan/toolkit/library/x86_64-unknown-linux-gnu/release/build/gleam-c06a03f979d39dbd/out/gl_bindings.rs:2534
#16 0x00007fffe80f57c3 in gleam::gl::{{impl}}::tex_sub_image_2d_pbo (self=0x10dca00 <mozilla::gInitialized+32>, target=6311248, level=-2121642912, xoffset=0, yoffset=-718453440, width=-152037552, height=1, format=6408, ty=5126, offset=0) at /home/jyavenard/Work/Mozilla/mozilla-central/third_party/rust/gleam/src/gl_fns.rs:522
#17 0x00007fffe805d6ed in webrender::device::Device::update_texture_from_pbo (self=0x6220000d0910, texture=0x6220000d19d0, x0=0, y0=38, width=<optimized out>, height=1, layer_index=0, stride=..., offset=0) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/device.rs:1590
#18 0x00007fffe80a339e in webrender::renderer::CacheTexture::flush (device=0x6220000d0910, self=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/renderer.rs:736
#19 0x00007fffe80a339e in webrender::renderer::Renderer::update_gpu_cache (self=0x6220000d0900, frame=0x7fff818a5ac0) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/renderer.rs:2177
#20 0x00007fffe80a339e in webrender::renderer::{{impl}}::render::{{closure}} () at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/renderer.rs:2090
#21 0x00007fffe80a1770 in webrender::profiler::TimeProfileCounter::profile<webrender::device::FrameId,closure> (self=<optimized out>, callback=...) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/profiler.rs:198
#22 0x00007fffe80a1770 in webrender::renderer::Renderer::render (self=<optimized out>, framebuffer_size=...) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender/src/renderer.rs:2077
#23 0x00007fffe8008bef in webrender_bindings::bindings::wr_renderer_render (renderer=0x7fff818a4c60, width=<optimized out>, height=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender_bindings/src/bindings.rs:466
#24 0x00007fffdc20edd9 in mozilla::wr::RendererOGL::Render() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender_bindings/RendererOGL.cpp:177
#25 0x00007fffdc20e0db in mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId) (this=<optimized out>, aWindowId=...) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:222
#26 0x00007fffdc20dcd1 in mozilla::wr::RenderThread::NewFrameReady(mozilla::wr::WrWindowId) (this=0x61100036e100, aWindowId=...) at /home/jyavenard/Work/Mozilla/mozilla-central/gfx/webrender_bindings/RenderThread.cpp:169
#27 0x00007fffdc21c38f in mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::applyImpl<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, 0ul>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), mozilla::Tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId> >&, mozilla::IndexSequence<0ul>) (o=<optimized out>, m=<optimized out>, args=...) at /home/jyavenard/Work/Mozilla/objdir-ff-asan/dist/include/nsThreadUtils.h:1142
#28 0x00007fffdc21c38f in mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId>::apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId)) (o=<optimized out>, m=<optimized out>, this=<optimized out>) at /home/jyavenard/Work/Mozilla/objdir-ff-asan/dist/include/nsThreadUtils.h:1148
#29 0x00007fffdc21c38f in mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId>::Run() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/objdir-ff-asan/dist/include/nsThreadUtils.h:1192
#30 0x00007fffd9fe8942 in MessageLoop::RunTask(already_AddRefed<nsIRunnable>) (aTask=..., this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:452
#31 0x00007fffd9fe8942 in MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask&&) (this=<optimized out>, pending_task=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:460
#32 0x00007fffd9fe8942 in MessageLoop::DoWork() (this=0x7fff818a6bf0) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:535
#33 0x00007fffd9feac39 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) (this=0x60400015c0a8, delegate=0x7fff818a6bf0) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_pump_default.cc:36
#34 0x00007fffd9fe5859 in MessageLoop::RunInternal() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:326
#35 0x00007fffd9fe5859 in MessageLoop::RunHandler() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:319
#36 0x00007fffd9fe5859 in MessageLoop::Run() (this=<optimized out>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/message_loop.cc:299
#37 0x00007fffda018e71 in base::Thread::ThreadMain() (this=0x60700009b3d0) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/thread.cc:181
#38 0x00007fffd9ff446d in ThreadFunc(void*) (closure=0x604d50 <InitializeCommonInterceptors()::metadata_mem>) at /home/jyavenard/Work/Mozilla/mozilla-central/ipc/chromium/src/base/platform_thread_posix.cc:38
#39 0x00007ffff7bc06da in start_thread (arg=0x7fff818a7700) at pthread_create.c:456
#40 0x00007ffff6c46d7f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105
Comment 1•7 years ago
|
||
It looks like the driver is hitting an abort while trying to do upload textures (in glTexSubImage2D), and the abort runs destructors and atexit handlers, and that's where we hit the assertion. So we crash while crashing.
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
This looks like a WR version of bug 1218070
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
Updated•7 years ago
|
Whiteboard: [gfx-noted]
Comment 3•6 years ago
|
||
Lot's has changed since this was filed. Closing now. Please re-open if you still see it.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•