Mysterious WebGL crash

Hi

I am struggling with a crash when running my game in WebGL.

I’ll start with sharing the stack I get when the web app crashes:

Invoking error handler due to
Uncaught abort(89) at Error
at jsStackTrace (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:1270:13)
at stackTrace (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:1287:22)
at abort (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:3448808:44)
at nullFunc_iii (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:15785:466)
at Array.b89 (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:3442673:44)
at __ZN13MemoryManager10DeallocateEPvRK10MemLabelId [MemoryManager::smile:eallocate(void*, MemLabelId?&)] (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:724915:40)
at __Z19free_alloc_internalPvRK10MemLabelId [free_alloc_internal(void*, MemLabelId?&)] (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:724290:2)
at __ZN20TextRenderingPrivate17TextMeshGenerator14GarbageCollectEv [TextRenderingPrivate::TextMeshGenerator::GarbageCollect()] (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:1167284:6)
at __ZZ29InitializeTextRenderingModulevEN27TextRenderingGarbageCollect7ForwardEv [undefined?Z()] (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:1690143:2)
at __Z10PlayerLoopbbP10IHookEvent [PlayerLoop(bool, bool, IHookEvent?*)] (blob:http%3A//localhost%3A56036/29c08587-4273-433b-bf54-92996fdfc7d5:859530:5)

I can’t really share my code or explain it as it as quite complex, but I just need some general direction of where to investigate. It is happening in the garbage collector, and none of the lines in this stack point to a code of mine.

The stack also varies: here it points to some text rendering object, but another time it pointed to some canvas rendering manager object.

Do you think I am doing something wrong with memory, am I maybe out of memory ?

Mu application is using a LOT of textures, like more than a dozen of textures of 2048x2048 filling up to 500MB of memory. They do fit and the app runs beautifully, but after a while it crashes for some reason.

Any idea will be welcome !

Thanks

Michael

I have the same abort(89) but a different message. Doesn’t appear when testing or on a Stand-Alone or Development Build.

is this the whole stacktrace ? perhaps you can check in the console log.

EDIT: Sorry, fixed the crash, problem was on my end. Sending commands to the disabled touchscreen controls in the WebGL build.


Yes, that is the full error that Chrome gave me. I took some time again this morning to go over this, but I am not sure what console log you are talking about… If you mean the Unity Console Log, there is only one warning* and no errors while Testing in Playmode. If you mean a WebGL Development Build log, there are no errors or warnings while running in that mode. Nor are there any errors or warnings from a StandAlone Development Build. I got a different Stacktrace message from Firefox while testing on my own machine:

uncaught exception: abort(89) at jsStackTrace@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:22814
stackTrace@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:22997
abort@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:35:51693
Gxo@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:28:982134
T0f@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:13:296960
y_m@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:28:198933
_$g@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:7:578341
dBg@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:7:142252
jtm@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:6:990203
Oto@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:28:964433
invoke_iiii@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:365594
LL@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:22:428307
Fv@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:22:89055
cvb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:20:563286
OTb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:9:296820
uQb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:9:208670
tQb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:9:208267
Fcb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:16:918182
iOb@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:9:109951
kEe@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:17:390649
qto@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:28:961672
Runtime.dynCall@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:6885
Browser_mainLoop_runner/<@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:208890
Browser.mainLoop.runIter@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:239216
Browser_mainLoop_runner@blob:null/80cc5746-d0b3-4576-adcd-073947cd8ff9:1:208786

If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

*Animator not playing a Playable, and this warning occurs several places before the crash without causing issue during play.


EDIT: Sorry, fixed the crash, problem was on my end. Sending commands to the disabled touchscreen controls in the WebGL build.