nativescript-vscode-extension
nativescript-vscode-extension copied to clipboard
Android: app crash when using workers
Environment
Provide version numbers for the following components (information can be retrieved by running tns info
in your project folder or by inspecting the package.json
of the project):
- CLI: 6.0.3
- Cross-platform modules: 6.0.6
- Android Runtime: 6.0.1
- iOS Runtime: 6.0.2
Describe the bug Using Workers on Android causes the application to crash.
The stack trace seems to indicate that the crash originates in the android-runtime:
Click to expand
adb logcat
08-22 17:16:36.280 23854 23854 I JS : Tapped Button
08-22 17:16:36.315 23854 23932 I JS : This code is shared between worker/app and ran from: worker
08-22 17:16:36.315 23854 23932 E v8 :
08-22 17:16:36.315 23854 23932 E v8 : #
08-22 17:16:36.315 23854 23932 E v8 : # Fatal error in v8::HandleScope::CreateHandle()
08-22 17:16:36.315 23854 23932 E v8 : # Cannot create a handle without a HandleScope
08-22 17:16:36.315 23854 23932 E v8 : #
08-22 17:16:36.315 23854 23932 E v8 :
08-22 17:16:36.315 23854 23932 F libc : Fatal signal 5 (SIGTRAP), code 1 in tid 23932 (3d36a.worker.js)
08-22 17:16:36.356 1170 1170 I TrafficMonitor: update:rxPkts:4,txPkts:0,rxBytes:608,txBytes:0
08-22 17:16:36.356 1170 1170 I TrafficMonitor: start expired. level:-1
08-22 17:16:36.356 1170 1170 I TrafficMonitor: gettimer:interval=2000
08-22 17:16:36.396 24033 24033 I crash_dump64: obtaining output fd from tombstoned
08-22 17:16:36.397 778 778 I /system/bin/tombstoned: received crash request for pid 23854
08-22 17:16:36.399 24033 24033 I crash_dump64: performing dump of process 23854 (target tid = 23932)
08-22 17:16:36.400 24033 24033 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-22 17:16:36.400 24033 24033 F DEBUG : Build fingerprint: 'HUAWEI/ANE-LX1/HWANE:8.0.0/HUAWEIANE-LX1/162(C432):user/release-keys'
08-22 17:16:36.400 24033 24033 F DEBUG : Revision: '0'
08-22 17:16:36.400 24033 24033 F DEBUG : ABI: 'arm64'
08-22 17:16:36.400 24033 24033 F DEBUG : pid: 23854, tid: 23932, name: 3d36a.worker.js >>> org.nativescript.webworkerdemo <<<
08-22 17:16:36.400 24033 24033 F DEBUG : signal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x7d0fe5bfdc
08-22 17:16:36.400 24033 24033 F DEBUG : x0 000000000000006b x1 0000007cfeafc560 x2 0000000000000004 x3 0000000000000003
08-22 17:16:36.400 24033 24033 F DEBUG : x4 0000000040100401 x5 40404000a800a800 x6 0000000000000000 x7 7f7f7f7fff7f7f7f
08-22 17:16:36.400 24033 24033 F DEBUG : x8 0000000000000001 x9 a5bfd08113b6cb5e x10 0000007cfeafc700 x11 0000000000000067
08-22 17:16:36.400 24033 24033 F DEBUG : x12 0000000000000038 x13 ffffffffffffffff x14 ff00000000000000 x15 ffffffffffffffff
08-22 17:16:36.400 24033 24033 F DEBUG : x16 0000007d105c91f8 x17 0000007d0fe5bfc4 x18 00000000000000a2 x19 0000007d103a5a0d
08-22 17:16:36.400 24033 24033 F DEBUG : x20 0000007d103a59ed x21 0000007d02a0d2c0 x22 0000007d1ebd9700 x23 0000007d1ebe2b50
08-22 17:16:36.400 24033 24033 F DEBUG : x24 0000000000000048 x25 0000007cf68804d1 x26 0000007d02a0d3c0 x27 0000007cee641221
08-22 17:16:36.400 24033 24033 F DEBUG : x28 0000007cf68804d1 x29 0000007cfeafccd0 x30 0000007d0fab67f4
08-22 17:16:36.400 24033 24033 F DEBUG : sp 0000007cfeafccb0 pc 0000007d0fe5bfdc pstate 0000000060000000
08-22 17:16:36.405 24033 24033 F DEBUG :
08-22 17:16:36.405 24033 24033 F DEBUG : backtrace:
08-22 17:16:36.405 24033 24033 F DEBUG : #00 pc 0000000000780fdc /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so (_ZN2v84base2OS5AbortEv+24)
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#1 pc 00000000004fe928 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so (_ZN2v88internal11HandleScope6ExtendEPNS0_7IsolateE+60)
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#2 pc 00000000004d2300 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so (_ZN2v88internal7Factory23NewFixedArrayWithFillerENS0_9RootIndexEiNS0_6ObjectENS0_14AllocationTypeE+260)
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#3 pc 00000000004d4554 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so (_ZN2v88internal7Factory13NewFrameArrayEiNS0_14AllocationTypeE+32)
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#4 pc 0000000000546ed0 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#5 pc 0000000000547500 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#6 pc 00000000003e7a00 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so (_ZN2v810StackTrace17CurrentStackTraceEPNS_7IsolateEiNS0_17StackTraceOptionsE+28)
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#7 pc 000000000028f684 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so
08-22 17:16:36.405 24033 24033 F DEBUG : NativeScript/NativeScript#8 pc 0000000000289954 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so
08-22 17:16:36.406 24033 24033 F DEBUG : NativeScript/NativeScript#9 pc 00000000007919c8 /data/app/org.nativescript.webworkerdemo-Dnh2OJjgFtPBgtf4gJr0bw==/lib/arm64/libNativeScript.so
To Reproduce I have uploaded a sample project.
The crash occurs whenever a message is posted from the main thread to the worker outside the constructor. It is interesting that this does not replicate when posting from the constructor, but at a later date.
I have slightly modified the demo from worker-loader to reproduce the issue when tapping the button.
Expected behavior Application should not crash and worker onMessage method should execute to completion.
Sample project worker-loader.zip