Open kenz-gelsoft opened 3 months ago
I think font sanitizing error comes from GL implementation for this log style
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL no display (t=3.75583) |[1][GFX1-]: glxtest: EGL test failed (t=3.75733) |[2][GFX1-]: No GPUs detected via PCI
(t=3.75847) |[3][GFX1-]: Failed sanitizing font 77 (t=610.165) [GFX1-]: Failed sanitizing font 77
[744] Hit MOZ_CRASH(adding raw font failed: 0 bytes, err=85) at gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs:399
console.error: (new ReferenceError("WebAssembly is not defined", "resource://gre/actors/TranslationsParent.sys.mjs", 2737))
#01: XRE_GetBootstrap[/boot/home/src/gecko-dev/obj-ff-dbg/dist/bin/libxul.so +0xa957006]
#02: XRE_GetBootstrap[/boot/home/src/gecko-dev/obj-ff-dbg/dist/bin/libxul.so +0xa956dff]
workaround patch
diff --git a/gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs b/gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs
index 5885d8f9a270..1868b4750d14 100644
--- a/gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs
+++ b/gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs
@@ -386,7 +396,8 @@ impl FontContext {
let len = bytes.len();
match FONT_CACHE.lock().unwrap().add_font(FontTemplate::Raw(bytes, index)) {
Ok(font) => self.fonts.insert(*font_key, font),
- Err(result) => panic!("adding raw font failed: {} bytes, err={:?}", len, result),
+ Err(result) => None,
+// panic!("adding raw font failed: {} bytes, err={:?}", len, result),
};
}
}
already patched another workaround
diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp
index 0f57e9e7a98b..357dabb3df04 100644
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -451,7 +451,7 @@ static bool ReadRawFont(const OpAddRawFont& aOp, wr::ShmSegmentsReader& aReader,
gfxOTSContext otsContext;
if (!otsContext.Process(&output, source.begin().get(), source.length())) {
gfxCriticalNote << "Failed sanitizing font " << aOp.key().mHandle;
- return false;
+// return false;
}
wr::Vec<uint8_t> bytes = output.forget();
@@ -588,6 +588,7 @@ bool WebRenderBridgeParent::UpdateResources(
}
case OpUpdateResource::TOpAddRawFont: {
if (!ReadRawFont(cmd.get_OpAddRawFont(), reader, aUpdates)) {
+ gfxCriticalNote << "TOpAddRawFont failed";
success = false;
}
break;
these workaround seems to cause another crash #41. just moved crash point to another.
original code doesn't allow to fail adding raw font. we need better workaround for this.
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libEGL no display (t=3.75583) |[1][GFX1-]: glxtest: EGL test failed (t=3.75733) |[2][GFX1-]: No GPUs detected via PCI (t=3.75847) |[3][GFX1-]: Failed sanitizing font 77 (t=610.165) [GFX1-]: Failed sanitizing font 77 [744] Hit MOZ_CRASH(adding raw font failed: 0 bytes, err=85) at gfx/wr/wr_glyph_rasterizer/src/platform/unix/font.rs:399
this error comes from
After opened haiku website at https://github.com/kenz-gelsoft/gecko-dev/issues/39#issuecomment-2308573895,
Navigate to "Documents" crashed entire browser (parent process crash)