Data loaded, the application crash after updating Fuse 1.2.1

Hello,

I updated Fuse to 1.2.1. Building on Android is ok but when the data is loaded the application is terminated abnormally.
here is the log when the application terminated.

I did “uno clean” on my project.

Thanks.

I/art     (12597): Background partial concurrent mark sweep GC freed 9057(648KB) AllocSpace objects, 50(1705KB) LOS objects, 44% free, 4MB/8MB, paused 3.021ms total 107.269ms
F/libc    (12597): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7 in tid 12624 (Thread-1092)
I/DEBUG   (  176): pid: 12597, tid: 12624, name: Thread-1092  >>> com.apps.ohmyplay_1line <<<
I/ActivityManager(  738): Process com.apps.ohmyplay_1line (pid 12597)(adj 0) has died(68,509)
I/Zygote  (  188): Process 12597 exited due to signal (11)
D/InputDispatcher(  738): Focus left window: 12597
W/InputMethodManagerService(  738): Got RemoteException sending setActive(false) notification to pid 12597 uid 10219
Process com.apps.ohmyplay_1line terminated.

Could you please post the full log from Android run? There might be some more relevant info at the top of it.

Thank you Uldis!!!

Here is my log.


Uno 1.2.2 (build 5754) macOS 10.12 i386 8fb0cf0

Configuring
Target is up-to-date -- stopping build (pass --force to override)

Build completed in 0.27 seconds

---
Installing APK on 1 device(s)
Launching activity 'ohmyplay_1line'
Running logcat on 'Hi120Q64G45160402257'
I/art     (20947): Late-enabling -Xcheck:jni
E/art     (20947): setrlimit(RLIMIT_CORE) failed for pid 20947: Operation not permitted
I/ActivityManager( 2942): Start proc 20947:com.apps.ohmyplay_1line/u0a156 for activity com.apps.ohmyplay_1line/.ohmyplay_1line
D/houdini (20947): [20947] Initialize library(version: 5.2.3_y.48127 RELEASE)... successfully.
D/ohmyplay_1line(20947): SDK: 22
D/houdini (20947): [20947] Added shared library /data/app/com.apps.ohmyplay_1line-1/lib/arm/libgnustl_shared.so for ClassLoader by Native Bridge.
D/houdini (20947): [20947] Added shared library /data/app/com.apps.ohmyplay_1line-1/lib/arm/libV8Simple.so for ClassLoader by Native Bridge.
D/houdini (20947): [20947] Added shared library /data/app/com.apps.ohmyplay_1line-1/lib/arm/libohmyplay_1line.so for ClassLoader by Native Bridge.
D/ufoEGL  (20947): ENV OGL (32bit) enabled for all processes, use "setptop persist.intel.ogl.procname" to limit it to a single process
I/ufoGralloc(20947): Hello, this is UFO GRALLOC/Intel Corporation
D/ufoEGL  (20947): droid_create_context : config id = 22 conf->NativeVisualID=1
I/ufoEGL  (20947): Requested context : GLES 2.0
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): droid_create_context : config id = 22 conf->NativeVisualID=1
I/ufoEGL  (20947): Requested context : GLES 2.0
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): droid_create_context : config id = 22 conf->NativeVisualID=1
I/ufoEGL  (20947): Requested context : GLES 2.0
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/OpenGLRenderer(20947): Use EGL_SWAP_BEHAVIOR_PRESERVED: true
D/Atlas   (20947): Validating map...
I/Choreographer(20947): Skipped 189 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer(20947): Initialized EGL, version 1.4
W/OpenGLRenderer(20947): Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
D/ufoEGL  (20947): droid_create_context : config id = 9 conf->NativeVisualID=1
I/ufoEGL  (20947): Requested context : GLES 2.0
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/OpenGLRenderer(20947): Enabling debug mode 0
D/skuwa   (20947): Detected device 22B0:34 family 17:11
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
D/ufoEGL  (20947): Pixel Format : GGL_PIXEL_FORMAT_RGBA_8888
I/Choreographer(20947): Skipped 34 frames!  The application may be doing too much work on its main thread.
I/Choreographer(20947): Skipped 35 frames!  The application may be doing too much work on its main thread.
I/Choreographer(20947): Skipped 123 frames!  The application may be doing too much work on its main thread.
E/ohmyplay_1line(20947): InternalError: Invalid values in ArrangeMarginBox in Fuse.Controls.Rectangle, Name: scrollIndicator2</usr/local/share/uno/Packages/Fuse.Elements/1.2.1/$.uno:2113>
F/libc    (20947): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7 in tid 21024 (Thread-1339)
I/DEBUG   ( 2659): pid: 20947, tid: 21024, name: Thread-1339  >>> com.apps.ohmyplay_1line <<<
E/lowmemorykiller( 2447): Error writing /proc/20947/oom_score_adj; errno=22
I/Zygote  ( 2676): Process 20947 exited due to signal (11)
I/ActivityManager( 2942): Process com.apps.ohmyplay_1line (pid 20947) has died
Process com.apps.ohmyplay_1line terminated.

Could you add the compilation flag -DCPPSTACKTRACE, and post the new log?

And could you please share the project that triggers the issue? I’d like to run it on my Android 6.0 test device to see if that’s a run-time permissions issue I suspect or something else.

If it’s sensitive, you could upload it here.

Uldis, I uploaded my project.

you should put ID/PW (ohmyplay), and you should check checkbox when you log in. you should try to login twice.

Alright, I believe we’ve located the culprit for the crash. It happens when you try do Timer.delete() a null timer - a timer that is not a timer, basically. Maybe you can work around the problem knowing this bit of information and make sure there always is a timer to delete when you delete one.

That said, this should not result in a fatal crash, so we have now logged a ticket for it, so you can watch progress on that there.

@Eric Faye-Lund

Thanks, Eric.
This is a log when I added DCPPSTACKTRACE flag.

ung-iui-Mac-Pro:v0.2.2 2 Mac$ fuse build --target=Android --configuration=Release -DCPPSTACKTRACE
Uno 1.2.2 (build 5754) macOS 10.12 i386 8fb0cf0

Configuring (0.9 s)
Compiling syntax tree (2.8 s)
Generating code and data (6.8 s)
Building Android app
2/2: ohmyplay_1line.apk
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
(1:19)

Dear Uldis

I edited my code that Timer should not be deleted when null Timer. But application crush happend again. I uploaded my mainPage.js file in your drop box.
Please check whether I misunderstood your meaning.

Checked the file, and it doesn’t convince me that the timer you’re deleting is never null, particularly because you’re [optionally] deleting them from within functions that create them.

Either way, I’m certain that the root cause for this crash is still the same, and we’re looking into fixing that. In the mean time, you should add some logging to your code and check what the type and value of the timer is right before you try to delete it in the various places.