profile
viewpoint

chalup/dawggenerator 79

Fast directed acyclic word graph generator

chalup/cerberus 24

Android library for detecting and reporting long running SQLite queries.

chalup/gsonadapters 2

Various TypeAdapers for Gson

chalup/android-widget-fail 1

Project demonstrating several issues with android app widgets

chalup/blog-scrollbargotcha 1

Sample code for issue described on http://porcupineprogrammer.blogspot.com/2012/08/custom-scrollbar-graphics-in-android.html

chalup/dawg 1

Kotlin library for working with Directed Acyclic Word Graphs

issue commentLiquidPlayer/LiquidCore

Android, liquidcore-V8 native crashes on production

It seems that the root cause of these crashes was a memory leak. I've managed to reproduce it with a very simple application with a data flow that resembles what our app is doing:

https://drive.google.com/file/d/1LV6FymYoSlCqR0dYyAf3JC3JA78Dt2E8/view?usp=sharing

It seems that a state variable in test.js (or some other data structures allocated by LiquidCore) is leaked every time our handleEvent function is invoked from JVM. In our case, this state might be a deeply nested JSON object weighing about 200kb and might be updated and exchanged between JS and JVM quite often. This is the memory leak that eventually sinks our app.

Because of that issue, we've switched to another JS interpreter recently, but we'd love to switch back to LiquidCore, as it's faster and we found it easier to use.

Let me know if everything's clear and if you're able to reproduce the issue (I recommend putting some massive string in state, running the app, and observing with watch -n 0.5 adb shell dumpsys meminfo how the memory usage increases with every click on the "LEAK" button).

chalup

comment created time in 2 months

more