Closed zakorgy closed 5 years ago
gdb backtrace:
(gdb) bt
#0 0x00007fffe77d7238 in MOZ_CrashOOL(char const*, int, char const*) (aFilename=<optimized out>, aLine=997, aReason=0x7fffe024959a "Allocate memory failed: AllocationError(OutOfMemory(OutOfDeviceMemory))")
at /home/zakorgy/Work/gecko-dev/obj-ff-dbg-vk/dist/include/mozilla/Assertions.h:314
#1 0x00007fffe77d7210 in GeckoCrashOOL(char const*, int, char const*) (aFilename=0x7ffff706e680 <_IO_2_1_stderr_> "\207(\255", <incomplete sequence \373>, aLine=-150538064, aReason=0x0) at /home/zakorgy/Work/gecko-dev/toolkit/xre/nsAppRunner.cpp:4881
#2 0x00007fffe85d2c6a in gkrust_shared::panic_hook (info=<optimized out>) at toolkit/library/rust/shared/lib.rs:232
#3 0x00007fffe85d2029 in core::ops::function::Fn::call ()
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/ops/function.rs:69
#4 0x00007fffe8c71d39 in rust_panic_with_hook () at src/libstd/panicking.rs:478
#5 0x00007fffe8c717d2 in continue_panic_fmt () at src/libstd/panicking.rs:381
#6 0x00007fffe8c716b6 in rust_begin_unwind () at src/libstd/panicking.rs:308
#7 0x00007fffe8c9246d in panic_fmt () at src/libcore/panicking.rs:85
#8 0x00007fffe8dfd61f in core::result::unwrap_failed (msg=..., error=...)
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/macros.rs:18
#9 0x00007fffe8eba421 in core::result::Result<T,E>::expect (self=..., msg=...)
at /rustc/3c235d5600393dfe6c36eeed34042efad8d4f26e/src/libcore/result.rs:825
#10 0x00007fffe8eba421 in webrender::device::gfx::buffer::Buffer<B>::new (device=0x7fffa8acc010, heaps=0x7fffa8acc018, memory_usage=rendy_memory::usage::MemoryUsageValue::Dynamic, buffer_usage=..., alignment_mask=127, data_len=8192, stride=68)
at gfx/wr/webrender/src/device/gfx/buffer.rs:42
#11 0x00007fffe8e862a6 in webrender::device::gfx::buffer::InstancePoolBuffer<B>::new (device=<optimized out>, heaps=<optimized out>, buffer_usage=..., data_stride=<optimized out>, alignment_mask=<optimized out>, non_coherent_atom_size_mask=<optimized out>) at gfx/wr/webrender/src/device/gfx/buffer.rs:238
#12 0x00007fffe8e862a6 in webrender::device::gfx::buffer::InstanceBufferHandler<B>::new (device=<optimized out>, heaps=<optimized out>, data_stride=<optimized out>, non_coherent_atom_size_mask=<optimized out>, alignment_mask=<optimized out>)
at gfx/wr/webrender/src/device/gfx/buffer.rs:292
#13 0x00007fffe8e862a6 in webrender::device::gfx::program::Program<B>::create (pipeline_requirements=..., device=<optimized out>, pipeline_layout=<optimized out>, heaps=<optimized out>, limits=<optimized out>, shader_name=..., features=..., shader_kind=..., render_pass=<optimized out>, frame_count=<optimized out>, shader_modules=<optimized out>, pipeline_cache=..., surface_format=<optimized out>) at gfx/wr/webrender/src/device/gfx/program.rs:353
#14 0x00007fffe8e5413b in webrender::device::gfx::device::Device<B>::create_program (self=<optimized out>, shader_name=..., shader_kind=<optimized out>, features=...) at gfx/wr/webrender/src/device/gfx/device.rs:1341
#15 0x00007fffe8dcb08a in webrender::device::gfx::device::Device<B>::create_program_with_kind (self=0x7fffa8acc010, shader_name=..., shader_kind=0x7ffff706f8b0 <_IO_stdfile_2_lock>, features=..., _precache_flags=...)
at gfx/wr/webrender/src/device/gfx/device.rs:1372
--DOMWINDOW == 2 (0x7fffdd310000) [pid = 5334] [serial = 3] [outer = (nil)] [url = about:home]
#16 0x00007fffe8dcb08a in webrender::shade::LazilyCompiledShader::get_internal (self=0x7fffa8aa0630, device=0x7fffa8acc010, precache_flags=...) at gfx/wr/webrender/src/shade.rs:130
#17 0x00007fffe8dcb08a in webrender::shade::LazilyCompiledShader::get (self=0x7fffa8aa0630, device=0x7fffa8acc010)
at gfx/wr/webrender/src/shade.rs:143
#18 0x00007fffe8dcb08a in webrender::shade::LazilyCompiledShader::bind (self=0x7fffa8aa0630, device=0x7fffa8acc010, projection=0x7fffe024b050, renderer_errors=0x7fffa8acd7b0) at gfx/wr/webrender/src/shade.rs:113
#19 0x00007fffe87085de in webrender::renderer::Renderer::draw_alpha_target (self=<optimized out>, target=<optimized out>, projection=<optimized out>, render_tasks=<optimized out>, stats=<optimized out>, draw_target=...)
at gfx/wr/webrender/src/renderer.rs:3434
#20 0x00007fffe87085de in webrender::renderer::Renderer::draw_tile_frame (self=<optimized out>, frame=<optimized out>, framebuffer_size=..., framebuffer_depth_is_ready=<optimized out>, frame_id=..., stats=<optimized out>)
at gfx/wr/webrender/src/renderer.rs:3972
#21 0x00007fffe8e785de in webrender::renderer::Renderer::render_impl::{{closure}} () at gfx/wr/webrender/src/renderer.rs:2373
#22 0x00007fffe8e785de in webrender::profiler::TimeProfileCounter::profile (self=0x7fffe024b508, callback=...)
at gfx/wr/webrender/src/profiler.rs:190
---Type <return> to continue, or q <return> to quit---
#23 0x00007fffe87035a0 in webrender::renderer::Renderer::render_impl (self=<optimized out>, framebuffer_size=...)
at gfx/wr/webrender/src/renderer.rs:2326
#24 0x00007fffe870321c in webrender::renderer::Renderer::render (self=0x7fffa8acc000, framebuffer_size=...)
at gfx/wr/webrender/src/renderer.rs:2257
#25 0x00007fffe8653684 in wr_renderer_render (renderer=0x7fffa8acc000, width=1280, height=<optimized out>, had_slow_frame=<optimized out>, out_stats=0x7fffe024b8c0) at gfx/webrender_bindings/src/bindings.rs:662
#26 0x00007fffe4c74491 in mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > const&, mozilla::Maybe<mozilla::Range<unsigned char> > const&, bool, mozilla::wr::RendererStats*) (this=0x7fffa8a99f40, aReadbackSize=..., aReadbackBuffer=..., aHadSlowFrame=false, aOutStats=0x7fffe024b8c0)
at /home/zakorgy/Work/gecko-dev/gfx/webrender_bindings/RendererOGL.cpp:121
#27 0x00007fffe4c73a91 in mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, bool, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> > const&, mozilla::Maybe<mozilla::Range<unsigned char> > const&, bool) (this=<optimized out>, aWindowId=..., aStartId=..., aStartTime=..., aRender=true, aReadbackSize=..., aReadbackBuffer=..., aHadSlowFrame=<optimized out>)
at /home/zakorgy/Work/gecko-dev/gfx/webrender_bindings/RenderThread.cpp:369
#28 0x00007fffe4c735b2 in mozilla::wr::RenderThread::HandleFrame(mozilla::wr::WrWindowId, bool) (this=0x7ffff6acd180, aWindowId=..., aRender=<optimized out>) at /home/zakorgy/Work/gecko-dev/gfx/webrender_bindings/RenderThread.cpp:262
#29 0x00007fffe4c7cb85 in mozilla::detail::RunnableMethodArguments<mozilla::wr::WrWindowId, bool>::applyImpl<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool>, 0ul, 1ul>(mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool), mozilla::Tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByConstLRef<bool> >&, std::integer_sequence<unsigned long, 0ul, 1ul>) (o=<optimized out>, m=<optimized out>, args=...)
at /home/zakorgy/Work/gecko-dev/obj-ff-dbg-vk/dist/include/nsThreadUtils.h:1119
#30 0x00007fffe4c7cb85 in _ZN7mozilla6detail23RunnableMethodArgumentsIJNS_2wr10WrWindowIdEbEE5applyINS2_12RenderThreadEMS6_FvS3_bEEEDTcl9applyImplfp_fp0_dtdefpT10mArgumentstlSt16integer_sequenceImJLm0ELm1EEEEEEPT_T0_ (o=<optimized out>, m=<optimized out>, this=<optimized out>) at /home/zakorgy/Work/gecko-dev/obj-ff-dbg-vk/dist/include/nsThreadUtils.h:1125
#31 0x00007fffe4c7cb85 in mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, bool), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId, bool>::Run() (this=
0x555555790588 <gMozCrashReason>) at /home/zakorgy/Work/gecko-dev/obj-ff-dbg-vk/dist/include/nsThreadUtils.h:1171
#32 0x00007fffe43578f9 in MessageLoop::RunTask(already_AddRefed<nsIRunnable>) (this=0x7fffe024bcd0, aTask=...)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:442
#33 0x00007fffe4357e47 in MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask&&) (this=0x7fffe024bcd0, pending_task=...) at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:450
#34 0x00007fffe4358047 in MessageLoop::DoWork() (this=0x7fffe024bcd0)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:523
#35 0x00007fffe4358ae8 in base::MessagePumpDefault::Run(base::MessagePump::Delegate*) (this=0x7fffd6962250, delegate=0x7fffe024bcd0) at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_pump_default.cc:35
#36 0x00007fffe4357735 in MessageLoop::RunInternal() (this=0x7fffe024bcd0)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:315
#37 0x00007fffe4357690 in MessageLoop::RunHandler() (this=0x7fffe024bcd0)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:308
#38 0x00007fffe4357690 in MessageLoop::Run() (this=0x7fffe024bcd0)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:290
#39 0x00007fffe4361a42 in base::Thread::ThreadMain() (this=0x7fffd6970ab0)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/thread.cc:192
#40 0x00007fffe435d267 in ThreadFunc(void*) (closure=0x7ffff706e680 <_IO_2_1_stderr_>)
at /home/zakorgy/Work/gecko-dev/ipc/chromium/src/base/platform_thread_posix.cc:40
#41 0x00007ffff7bbd6db in start_thread (arg=0x7fffe024c700) at pthread_create.c:463
#42 0x00007ffff6da388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) [Child 5334, Main Thread] WARNING: 'NS_FAILED(rv)', file /home/zakorgy/Work/gecko-dev/xpcom/base/MemoryTelemetry.cpp, line 280
Link to the Gecko branch: https://github.com/zakorgy/gecko-dev/commits/ff_66_0b6_rel_gfx_with_desc_refakt
This was fixed by #300
We still have a Gecko version which is compatible with our WR version, and can use it to run MotionMark test to measure performance changes. With our latest master (f60f89717d0a3da7d82612b82deae07416b23461) after a few minutes of run we have the following crash with Vulkan on Linux: