Bug 14281

Summary: Epiphany fails at runtime with WebKitProcess segfault (musl builds)
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Andrei Gherzan <andrei>
Component: oe-core otherAssignee: Khem Raj <raj.khem>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: bero, randy.macleod
Version: unspecified   
Target Milestone: 3.3 M4   
Hardware: Other   
OS: x86_64   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Andrei Gherzan 2021-03-04 23:51:49 UTC
The bug is reproducible both on dunfell and master.
Reproducible on musl but not on glibc
Reproduced on qemux86-64 and Avenger96 (CortexA7).

At runtime, WebKitProcess segfaults with console looping "Web process crashed".

It was observed that in developer mode (see https://lists.openembedded.org/g/openembedded-core/message/148949) WebKit doesn't fail and web pages load to some extend but js support is completely broken (including the browser's js console which just doesn't load). Console loops: "Error running javascript: RangeError: Maximum call stack size exceeded."

The developer mode switch change of behaviour was narrowed down to (in epiphany):

#if DEVELOPER_MODE
  webkit_web_context_set_web_extensions_directory (web_context, BUILD_ROOT "/embed/web-process-extension");
#else
  webkit_web_context_set_web_extensions_directory (web_context, EPHY_WEB_PROCESS_EXTENSIONS_DIR);
#endif

This can be easily confirmed even without DEVELOPER_MODE by forcing the browser to not load the web-process-extension. So simply removing "libephywebprocessextension.so" would make WebKit stop crashing but the js support is as described above.

On master, the same versions of the relevant packages are also currently in archlinux and they work fine (epiphany 3.38.2/WebKitGTK 2.30.5).
Comment 1 Khem Raj 2021-03-18 02:16:41 UTC
patch is in master-next
Comment 2 Andrei Gherzan 2021-03-23 16:23:30 UTC
Tested the patch - all good.