Closed Bug 1425350 Opened 2 years ago Closed 2 years ago

Crash in xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T>

Categories

(Core :: Graphics: WebRender, defect, P3, critical)

x86_64
Windows 10
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr52 --- unaffected
firefox57 --- unaffected
firefox58 --- unaffected
firefox59 --- disabled

People

(Reporter: darkspirit, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: crash, nightly-community)

Crash Data

Seen on Socorro. Four reports, two about WebRender.
bug 1424792 was vague about glyph_rasterizer.rs.

bp-12ca730e-776b-4150-b353-fddf10171214 20171213220121 (2017-12-13) Win10
> Crash Reason 	EXCEPTION_ILLEGAL_INSTRUCTION

> GraphicsCriticalError 	 |[G0][GFX1-]: [D3D11] 2 CreateTexture2D failure Size: Size(1280,720)texture11: false Code: 0x8007000e (t=2706.94) 
(Also seen in bug 1424652.)

> 0 	xul.dll 	xul.dll@0x67c0d2 	
> 1 	xul.dll 	rayon_core::job::{{impl}}::execute<closure> 	third_party/rust/rayon-core/src/job.rs:143
> 2 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 3 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 4 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 5 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 6 	xul.dll 	rayon_core::job::{{impl}}::execute<closure> 	third_party/rust/rayon-core/src/job.rs:142
> 7 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 8 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 9 	xul.dll 	rayon_core::job::{{impl}}::execute<rayon_core::latch::SpinLatch, closure, ()> 	third_party/rust/rayon-core/src/job.rs:95
> 10 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 11 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 12 	xul.dll 	rayon_core::job::{{impl}}::execute<rayon_core::latch::SpinLatch, closure, ()> 	third_party/rust/rayon-core/src/job.rs:95
> 13 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 14 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 15 	xul.dll 	rayon_core::job::{{impl}}::execute<closure> 	third_party/rust/rayon-core/src/job.rs:142
> 16 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 17 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 18 	xul.dll 	rayon_core::job::{{impl}}::execute<rayon_core::latch::SpinLatch, closure, ()> 	third_party/rust/rayon-core/src/job.rs:95
> 19 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 20 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 21 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 22 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 23 	xul.dll 	rayon_core::job::{{impl}}::execute<closure> 	third_party/rust/rayon-core/src/job.rs:142
> 24 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 25 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 26 	xul.dll 	rayon_core::registry::in_worker<closure, ((), ())> 	third_party/rust/rayon-core/src/registry.rs:588
> 27 	xul.dll 	rayon::iter::internal::bridge_producer_consumer::helper<rayon::slice::IterProducer<webrender::glyph_rasterizer::GlyphRequest>, rayon::iter::map::MapConsumer<rayon::iter::collect::consumer::CollectConsumer<webrender::glyph_rasterizer::GlyphRasterJob>, closure>> 	third_party/rust/rayon/src/iter/internal.rs:275
> 28 	xul.dll 	rayon_core::job::{{impl}}::execute<closure> 	third_party/rust/rayon-core/src/job.rs:142
> 29 	xul.dll 	rayon_core::registry::WorkerThread::wait_until<rayon_core::latch::CountLatch> 	third_party/rust/rayon-core/src/registry.rs:433
> 30 	xul.dll 	std::sys_common::backtrace::__rust_begin_short_backtrace<closure, ()> 	src/libstd/sys_common/backtrace.rs:131
> 31 	xul.dll 	alloc::boxed::{{impl}}::call_box<(), closure> 	src/liballoc/boxed.rs:725
> 32 	xul.dll 	std::sys::imp::thread::{{impl}}::new::thread_start 	src/libstd/sys/windows/thread.rs:54
> 33 	kernel32.dll 	BaseThreadInitThunk 	
> 34 	ntdll.dll 	RtlUserThreadStart
Crash Signature: [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ] → [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x67d8b2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x67d8b2 | rayon_core::job::{{impl}}::execute<T> ] [@ …
Crash Signature: [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x67d8b2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x67d8b2 | rayon_core::job::{{impl}}::execute<T> ] [@ … → [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ]
Some older crash reports were purged from Socorro. Here is a recent crash report from a GPU process crash:

bp-3c38dd9e-c294-4464-9c24-927ec0180108

There are some rayon panics in the content process with similar stack traces, but they have MOZ_Crash reasons like "already immutably borrowed" and "called `Option::unwrap()` on a `None` value". Perhaps WebRender is hitting a similar problem in the GPU process, but isn't able to panic cleanly?

bp-ade219c3-7090-41f1-b8ac-4e05b0180107

bp-251c6adf-ca16-47ce-8621-2ccaa0180110
Crash Signature: [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ] → [@ xul.dll@0x67c0d2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x6789e2 | rayon_core::job::{{impl}}::execute<T> ] [@ xul.dll@0x67d802 | rayon_core::job::{{impl}}::execute<T> ]
Just had a couple of crashes with a similar signature on macOS 10.13.2 (Macbook Air 11" mid-2012, today’s Nightly).

https://crash-stats.mozilla.com/report/index/808519cd-8d98-44ff-b4d2-f0b780180117

https://crash-stats.mozilla.com/report/index/1a217d85-312d-4ab0-a0da-5a5600180117#tab-details
See Also: → 1431448
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.