HaxeFoundation / hxcpp

Runtime files for c++ backend for haxe
Other
292 stars 186 forks source link

Critical Error: Allocating from a GC-free thread #662

Open ropwareJB opened 6 years ago

ropwareJB commented 6 years ago

Getting a crash when I use hxcpp debugger on Android.

Seems to be related to #300.

10-25 18:51:58.410 31408 31440 E HXCPP   : Critical Error: Allocating from a GC-free thread
10-25 18:51:58.410 31408 31440 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 31440 (SDLThread)
10-25 18:51:58.495 31441 31441 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-25 18:51:58.496 31441 31441 F DEBUG   : Build fingerprint: 'Sony/E6853/E6853:7.1.1/32.4.A.0.160/3622372188:user/release-keys'
10-25 18:51:58.498 31441 31441 F DEBUG   : Revision: '0'
10-25 18:51:58.498 31441 31441 F DEBUG   : ABI: 'arm'
10-25 18:51:58.498 31441 31441 F DEBUG   : pid: 31408, tid: 31440, name: SDLThread  >>> com.notrelevant <<<
10-25 18:51:58.498 31441 31441 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
10-25 18:51:58.498 31441 31441 F DEBUG   :     r0 00000038  r1 00000000  r2 00000000  r3 00000000
10-25 18:51:58.498 31441 31441 F DEBUG   :     r4 cceeefd0  r5 00000004  r6 cba7f920  r7 00000078
10-25 18:51:58.498 31441 31441 F DEBUG   :     r8 d267d95c  r9 cc707c5c  sl d3aaadbc  fp 0000000b
10-25 18:51:58.498 31441 31441 F DEBUG   :     ip cba7f274  sp cba7f740  lr d3a558b0  pc d3a5586c  cpsr 200f0010
10-25 18:51:58.745 31441 31441 F DEBUG   : 
10-25 18:51:58.745 31441 31441 F DEBUG   : backtrace:
10-25 18:51:58.745 31441 31441 F DEBUG   :     #00 pc 012d886c  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN12_GLOBAL__N_112DebuggerTrapEv+52)
10-25 18:51:58.745 31441 31441 F DEBUG   :     #01 pc 012d88ac  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_Z15CriticalGCErrorPKc+48)
10-25 18:51:58.745 31441 31441 F DEBUG   :     #02 pc 012e059c  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN14LocalAllocator9CallAllocEij+48)
10-25 18:51:58.745 31441 31441 F DEBUG   :     #03 pc 012e10d0  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx11InternalNewEib+380)
10-25 18:51:58.745 31441 31441 F DEBUG   :     #04 pc 0132f99c  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx9ArrayBaseC2Eiiib+132)
10-25 18:51:58.745 31441 31441 F DEBUG   :     #05 pc 000d9fd4  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN9Array_objI7DynamicEC1Eii+64)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #06 pc 000d8d2c  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN9Array_objI7DynamicE5__newEii+52)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #07 pc 0131ef64  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx6Object5__runERK7DynamicS3_+56)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #08 pc 000cdad4  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN7DynamicclERKS_S1_+80)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #09 pc 013254dc  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx15DebuggerContext6attachEPNS_12StackContextE+296)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #10 pc 01325e88  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx12dbgCtxAttachEPNS_15DebuggerContextEPNS_12StackContextE+24)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #11 pc 013220b8  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx12StackContext14onThreadAttachEv+168)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #12 pc 012e15cc  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx21RegisterCurrentThreadEPv+124)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #13 pc 012e0f04  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_ZN2hx13SetTopOfStackEPib+120)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #14 pc 0132de00  /data/app/com.notrelevant-2/lib/arm/libApplicationMain.so (_Z12hxThreadFuncPv+68)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #15 pc 000470c3  /system/lib/libc.so (_ZL15__pthread_startPv+22)
10-25 18:51:58.746 31441 31441 F DEBUG   :     #16 pc 00019d79  /system/lib/libc.so (__start_thread+6)

Objdump for assembly inspection; arm-linux-androideabi-objdump -d Export/android/bin/app/src/main/jniLibs/armeabi/libApplicationMain.so

 0132ddbc <_Z12hxThreadFuncPv>:
 132ddbc:   e52de004    push    {lr}        ; (str lr, [sp, #-4]!)
 132ddc0:   e24dd01c    sub sp, sp, #28
 132ddc4:   e58d000c    str r0, [sp, #12]
 132ddc8:   e59d300c    ldr r3, [sp, #12]
 132ddcc:   e58d3010    str r3, [sp, #16]
 132ddd0:   e3a03000    mov r3, #0
 132ddd4:   e58d3014    str r3, [sp, #20]
 132ddd8:   e59d3010    ldr r3, [sp, #16]
 132dddc:   e59f20b4    ldr r2, [pc, #180]  ; 132de98 <_Z12hxThreadFuncPv+0xdc>
 132dde0:   e08f2002    add r2, pc, r2
 132dde4:   e1a00002    mov r0, r2
 132dde8:   e1a01003    mov r1, r3
 132ddec:   eb000483    bl  132f000 <_ZN2hx7TLSDataI12hxThreadInfoLb0EEaSEPS1_>
 132ddf0:   e28d3010    add r3, sp, #16
 132ddf4:   e2833004    add r3, r3, #4
 132ddf8:   e1a00003    mov r0, r3
 132ddfc:   e3a01001    mov r1, #1
 132de00:   ebfecc21    bl  12e0e8c <_ZN2hx13SetTopOfStackEPib>
 132de04:   e59d3010    ldr r3, [sp, #16]
 132de08:   e5933008    ldr r3, [r3, #8]
 132de0c:   e1a00003    mov r0, r3
 132de10:   ebfeaa02    bl  12d8620 <_ZN11HxSemaphore3SetEv>
 132de14:   e59d3010    ldr r3, [sp, #16]
 132de18:   e283300c    add r3, r3, #12
 132de1c:   e1a00003    mov r0, r3
 132de20:   ebb688e4    bl  d01b8 <_ZNK2hx9ObjectPtrINS_6ObjectEE6GetPtrEv>
 132de24:   e1a03000    mov r3, r0
 132de28:   e3530000    cmp r3, #0
 132de2c:   13a03001    movne   r3, #1
 132de30:   03a03000    moveq   r3, #0
 132de34:   e6ef3073    uxtb    r3, r3
 132de38:   e3530000    cmp r3, #0
 132de3c:   0a00000b    beq 132de70 <_Z12hxThreadFuncPv+0xb4>
 132de40:   e59d3010    ldr r3, [sp, #16]
 132de44:   e283300c    add r3, r3, #12
 132de48:   e1a00003    mov r0, r3
 132de4c:   ebb6888a    bl  d007c <_ZN2hx9ObjectPtrINS_6ObjectEEptEv>
 132de50:   e1a02000    mov r2, r0
 132de54:   e5923000    ldr r3, [r2]
 132de58:   e2833060    add r3, r3, #96 ; 0x60
 132de5c:   e5933000    ldr r3, [r3]
 132de60:   e1a0100d    mov r1, sp
 132de64:   e1a00001    mov r0, r1
 132de68:   e1a01002    mov r1, r2
 132de6c:   e12fff33    blx r3
 132de70:   ebfecdde    bl  12e15f0 <_ZN2hx23UnregisterCurrentThreadEv>
 132de74:   e59f3020    ldr r3, [pc, #32]   ; 132de9c <_Z12hxThreadFuncPv+0xe0>
 132de78:   e08f3003    add r3, pc, r3
 132de7c:   e1a00003    mov r0, r3
 132de80:   e3a01000    mov r1, #0
 132de84:   eb00045d    bl  132f000 <_ZN2hx7TLSDataI12hxThreadInfoLb0EEaSEPS1_>
 132de88:   e3a03000    mov r3, #0
 132de8c:   e1a00003    mov r0, r3
 132de90:   e28dd01c    add sp, sp, #28
 132de94:   e49df004    pop {pc}        ; (ldr pc, [sp], #4)
 132de98:   00470ea0    .word   0x00470ea0
 132de9c:   00470e08    .word   0x00470e08
 132ddf4:   e2833004    add r3, r3, #4
 132ddf8:   e1a00003    mov r0, r3
 132ddfc:   e3a01001    mov r1, #1
 132de00:   ebfecc21    bl  12e0e8c <_ZN2hx13SetTopOfStackEPib>

I believe the lines above indicate hx::SetTopOfStack((int *)&info[1], true);

dzw commented 5 years ago

Server.hx:78: Debug Server Started: Server.hx:540: Connected to vsc debugger server at 127.0.0.1:6972 Debug server connected! ResLoader.hx:87: doLoad:comp/bg.png Critical Error: Allocating from a GC-free thread Socket error: Error: read ECONNRESET

cpp.vm.Thread.create (d:\HaxeToolkit\haxe\std\cpp\vm\Thread.hx:53) lime.system.ThreadPool.queue (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\system\ThreadPool.hx:90) lime._internal.backend.native.NativeHTTPRequest.loadData (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\backend\native\NativeHTTPRequest.hx:304) lime.net._HTTPRequest_Bytes.load (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\net\HTTPRequest.hx:131) lime.graphics.Image.loadFromFile (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\graphics\Image.hx:1182) openfl.display.BitmapData.loadFromFile (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\BitmapData.hx:1874) morn.core.managers.ResLoader.doLoad (d:\DoSwfDec\MornHx\src\morn\core\managers\ResLoader.hx:89) morn.core.managers.ResLoader.load (d:\DoSwfDec\MornHx\src\morn\core\managers\ResLoader.hx:193) morn.core.managers.MassLoaderManager.doLoad (d:\DoSwfDec\MornHx\src\morn\core\managers\MassLoaderManager.hx:98) morn.core.managers.MassLoaderManager.checkNext (d:\DoSwfDec\MornHx\src\morn\core\managers\MassLoaderManager.hx:85) morn.core.managers.MassLoaderManager.load (d:\DoSwfDec\MornHx\src\morn\core\managers\MassLoaderManager.hx:58) morn.core.managers.MassLoaderManager.loadBMD (d:\DoSwfDec\MornHx\src\morn\core\managers\MassLoaderManager.hx:155) morn.core.components.Image.set_url (d:\DoSwfDec\MornHx\src\morn\core\components\Image.hx:47) morn.core.components.Image.set_skin (d:\DoSwfDec\MornHx\src\morn\core\components\Image.hx:63) Reflect.setProperty (d:\HaxeToolkit\haxe\std\cpp_std\Reflect.hx:48) kutil.Reflection.setField (d:\DoSwfDec\MornHx\src\kutil\Reflection.hx:12) morn.core.components.View.setCompValue (d:\DoSwfDec\MornHx\src\morn\core\components\View.hx:143) morn.core.components.View.createCompByXML (d:\DoSwfDec\MornHx\src\morn\core\components\View.hx:119) morn.core.components.View.createComp (d:\DoSwfDec\MornHx\src\morn\core\components\View.hx:66) morn.core.components.View.createCompByXML (d:\DoSwfDec\MornHx\src\morn\core\components\View.hx:113) morn.core.components.View.createComp (d:\DoSwfDec\MornHx\src\morn\core\components\View.hx:66) Main.run (d:\DoSwfDec\MornHx\src\Main.hx:134) Main.onFontLoaded (d:\DoSwfDec\MornHx\src\Main.hx:124) lime.app.Future.onComplete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Future.hx:143) Main.onInit (d:\DoSwfDec\MornHx\src\Main.hx:115) Main.new (d:\DoSwfDec\MornHx\src\Main.hx:75) DocumentClass.new (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:326) ApplicationMain.start (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:230) ApplicationMain.create (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:131) lime.app._Event_Void_Void.dispatch (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\macros\EventMacro.hx:101) openfl.display.Preloader.display_onUnload (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\Preloader.hx:117) openfl.events.EventDispatcher.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\events\EventDispatcher.hx:443) openfl.display.DisplayObject.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:1262) openfl.display.DisplayObject.dispatchWithCapture (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:1333) openfl.display.DisplayObject.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:940) openfl.display.DefaultPreloader.onLoaded (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\Preloader.hx:248) openfl.display.DefaultPreloader.this_onComplete (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\Preloader.hx:301) openfl.events.EventDispatcher.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\events\EventDispatcher.hx:443) openfl.display.DisplayObject.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:1262) openfl.display.DisplayObject.__dispatchWithCapture (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:1333) openfl.display.DisplayObject.dispatchEvent (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\DisplayObject.hx:940) openfl.display.Preloader.start (d:\HaxeToolkit\haxe\lib\openfl\8,6,4\src\openfl\display\Preloader.hx:54) ApplicationMain.create (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:128) lime.app._Event_Void_Void.dispatch (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\macros\EventMacro.hx:101) lime.utils.Preloader.start (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\utils\Preloader.hx:247) lime.utils.Preloader.updateProgress (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\utils\Preloader.hx:350) lime.utils.Preloader.loadedAssetLibrary (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\utils\Preloader.hx:228) lime.utils.Preloader.updateProgress (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\utils\Preloader.hx:328) lime.app.Promise_lime_utils_AssetLibrary.complete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Promise.hx:116) lime.app.Future.onComplete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Future.hx:143) lime.app.Promise_lime_utils_AssetLibrary.completeWith (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Promise.hx:139) lime.utils.Assets.loadLibrary (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\utils\Assets.hx:539) lime.app.Promise.complete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Promise.hx:116) lime.app.Future.onComplete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Future.hx:143) lime.app.Future.then (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Future.hx:324) lime.app.Promise.complete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Promise.hx:116) lime.net._HTTPRequest_Bytes.load (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\net\HTTPRequest.hx:139) lime.app.Promise_haxe_io_Bytes.complete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Promise.hx:116) lime._internal.backend.native.NativeHTTPRequest.threadPool_onComplete (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\backend\native\NativeHTTPRequest.hx:554) lime.app._Event_haxe_Function_Void.dispatch (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\macros\EventMacro.hx:101) lime.system.ThreadPool.update (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\system\ThreadPool.hx:236) lime.app._Event_Int_Void.dispatch (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\macros\EventMacro.hx:101) lime._internal.backend.native.NativeApplication.handleApplicationEvent (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\backend\native\NativeApplication.hx:198) lime._internal.backend.native.NativeApplication.exec (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime_internal\backend\native\NativeApplication.hx:163) lime.app.Application.exec (d:\HaxeToolkit\haxe\lib\lime\7,1,1\src\lime\app\Application.hx:167) ApplicationMain.create (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:147) ApplicationMain.main (d:\DoSwfDec\MornHx\bin\windows\haxe\ApplicationMain.hx:30) hxcpp.__hxcpp_main (d:\DoSwfDec\MornHx\?:1)

nulld commented 5 years ago

Which haxe, hxcpp version?