Skip to content

[FIX] resolve runtime SIGSEGV caused by QuickJS and mujs symbol collision - #378

Merged
LittleSheep2Code merged 5 commits into
Solsynth:v3from
Texas0295:v3
Jul 14, 2026
Merged

[FIX] resolve runtime SIGSEGV caused by QuickJS and mujs symbol collision#378
LittleSheep2Code merged 5 commits into
Solsynth:v3from
Texas0295:v3

Conversation

@Texas0295

@Texas0295 Texas0295 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

fixes #376

The prebuilt libquickjs_c_bridge_plugin.so provided by flutter_js exports public symbols for js_malloc, js_realloc, and js_free. When the application initializes media_kit (which loads libmpv and subsequently libmujs), a severe symbol collision occurs. The dynamic linker mistakenly routes QuickJS memory allocations to mujs functions, leading to an immediate segmentation fault (SIGSEGV) during runtime.

Solution

Introduced the quickjs_c_bridge source as a submodule under linux/third_party/ to build the plugin from source with proper symbol isolation.
Updated the GitHub Actions workflow to check out submodules and compile the bridge using CMake, ensuring symbols are properly restricted via visibility presets.
The compiled binary automatically overrides the flawed prebuilt file in the release bundle before packaging.

Signed-off-by: Texas0295 <kimura@texas0295.top>
…build

Signed-off-by: Texas0295 <kimura@texas0295.top>
Signed-off-by: Texas0295 <kimura@texas0295.top>
Signed-off-by: Texas0295 <kimura@texas0295.top>
Comment thread linux/third_party/quickjs_c_bridge
@LittleSheep2Code
LittleSheep2Code self-requested a review July 14, 2026 14:54
@LittleSheep2Code
LittleSheep2Code merged commit 98f9655 into Solsynth:v3 Jul 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] AppImage版本因缺失庫 libquickjs_c_bridge_plugin.so 導致 Plugins 功能無法使用

2 participants