Skip to content

v0.4.29

Choose a tag to compare

@proggeramlug proggeramlug released this 30 Mar 03:22
· 4498 commits to main since this release

Bug Fixes

  • Android crash — thread-local arena freed after main() returned: On Android, the perry-native thread ran main() which allocated module-level arrays (thresholds, levels) on the thread's arena. After main() returned, the thread exited, triggering arena Drop which freed all memory blocks. The UI thread's 8ms pump ticks then called getLevelInfo() on dangling pointers → SIGSEGV. Fixed by parking the perry-native thread after init.

  • Android -Bsymbolic linker flag: Prevents ELF symbol interposition where PLT calls to main() could resolve to the Android process's main() instead of perry's.

  • Android strip_duplicate_objects_from_lib (v0.4.26): Skipped on Android so js_nanbox_* runtime symbols survive in the UI lib.

  • Android JNI_GetCreatedJavaVMs (v0.4.27): C stub compiled at link time since Android has no libjvm.so.

  • Module-level array type mismatch (v0.4.28): Arrays with Unknown/Any HIR type were loaded as F64 instead of I64 in functions. Now arrays/closures/maps/sets/buffers always use I64.

See docs/android-crash-fix-v0.4.29.md for detailed writeup.