0
Cannot Reproduce

Crash with Bolt and Corgi Engine in IL2CPP

avi.o 2 years ago updated by Lazlo Bonin (Lead Developer) 2 years ago 8 1 duplicate

Hi, 

I'm trying to create a 64 bit (by using IL2CPP) build for android with android app bundle enabled. My app crashes when trying to load dynamically a scene with Bolt logic. 

Error Log:
------------------------------------------------------------------------------------------ 

8-14 23:31:29.328 24964 24997 I Unity : loaded training set ...
08-14 23:31:29.328 24964 24997 I Unity : <>c__DisplayClass12_0:b__0(String)
08-14 23:31:29.328 24964 24997 I Unity : System.Action`1:Invoke(T)
08-14 23:31:29.328 24964 24997 I Unity : d__6:MoveNext()
08-14 23:31:29.328 24964 24997 I Unity : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
08-14 23:31:29.328 24964 24997 I Unity :
08-14 23:31:29.328 24964 24997 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)
08-14 23:31:29.328 24964 24997 I Unity :
08-14 23:31:29.333 24964 24997 I Unity : scene loaded:external_content, level3
08-14 23:31:29.333 24964 24997 I Unity : MoreMountains.Tools.MMEventManager:TriggerEvent(MMEvent)
08-14 23:31:29.333 24964 24997 I Unity : <>c__DisplayClass12_0:b__0(String)
08-14 23:31:29.333 24964 24997 I Unity : System.Action`1:Invoke(T)
08-14 23:31:29.333 24964 24997 I Unity : d__6:MoveNext()
08-14 23:31:29.333 24964 24997 I Unity : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
08-14 23:31:29.333 24964 24997 I Unity :
08-14 23:31:29.333 24964 24997 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 48)
08-14 23:31:29.333 24964 24997 I Unity :
08-14 23:31:30.021 899 7084 I ActivityManager: Process adam.funwits.com (pid 24964) has died: fore TOP
08-14 23:31:30.026 899 7084 W ActivityManager: Force removing ActivityRecord{33711f3 u0 adam.funwits.com/com.unity3d.player.UnityPlayerActivity t37675}: app died, no saved state
08-14 23:31:30.134 899 7084 I ActivityManager: Config changes=20000480 {1.0 0 425mcc8mnc [en_US,iw_IL] ldltr sw411dp w411dp h838dp 420dpi nrml long hdr widecg port night finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2201) mAppBounds=Rect(0, 79 - 1080, 2280) mWindowingMode=fullscreen mActivityType=undefined} s.410mThemeChanged = 0}
08-14 23:31:30.156 899 7084 E ActivityManager: Failed to schedule configuration change
08-14 23:31:30.156 899 7084 E ActivityManager: android.os.DeadObjectException
08-14 23:31:30.156 899 7084 E ActivityManager: at android.os.BinderProxy.transactNative(Native Method)
08-14 23:31:30.156 899 7084 E ActivityManager: at android.os.BinderProxy.transact(Binder.java:1177)
08-14 23:31:30.156 899 7084 E ActivityManager: at android.app.IApplicationThread$Stub$Proxy.scheduleTransaction(IApplicationThread.java:1815)
08-14 23:31:30.156 899 7084 E ActivityManager: at android.app.servertransaction.ClientTransaction.schedule(ClientTransaction.java:129)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:47)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ClientLifecycleManager.scheduleTransaction(ClientLifecycleManager.java:100)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService.updateGlobalConfigurationLocked(ActivityManagerService.java:24827)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService.updateDisplayOverrideConfigurationLocked(ActivityManagerService.java:24947)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService.updateDisplayOverrideConfigurationLocked(ActivityManagerService.java:24924)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityStackSupervisor.ensureVisibilityAndConfig(ActivityStackSupervisor.java:1676)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:2927)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityStack.resumeTopActivityUncheckedLocked(ActivityStack.java:2488)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2244)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityStackSupervisor.resumeFocusedStackTopActivityLocked(ActivityStackSupervisor.java:2228)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService.handleAppDiedLocked(ActivityManagerService.java:7103)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService.appDiedLocked(ActivityManagerService.java:7328)
08-14 23:31:30.156 899 7084 E ActivityManager: at com.android.server.am.ActivityManagerService$AppDeathRecipient.binderDied(ActivityManagerService.java:2148)
08-14 23:31:30.156 899 7084 E ActivityManager: at android.os.BinderProxy.sendDeathNotice(Binder.java:1243)
08-14 23:31:30.156 899 7084 I ActivityManager: Override config changes=20000480 {1.0 0 425mcc8mnc [en_US,iw_IL] ldltr sw411dp w411dp h838dp 420dpi nrml long hdr widecg port night finger -keyb/v/h -nav/h winConfig={ mBounds=Rect(0, 0 - 1080, 2201) mAppBounds=Rect(0, 79 - 1080, 2280) mWindowingMode=fullscreen mActivityType=undefined} s.410mThemeChanged = 0} for displayId=0
08-14 23:31:30.226 899 1176 W ActivityManager: setHasOverlayUi called on unknown pid: 24964
08-14 23:31:48.473 899 6427 I ActivityManager: Killing 22403:au.com.shiftyjelly.pocketcasts/u0a142 (adj 904): empty for 2119s

Bolt Version:
1.4.5
Unity Version:
2019.1.8f1
Platform(s):
Android
Scripting Backend:
IL2CPP
.NET Version (API Compatibility Level):

Duplicates 1

Answered

Hi avi.o,

I don't see anything related to Bolt in that error log.

However, this line points me to an asset by MoreMountains, like Corgi engine or something similar?

MoreMountains.Tools.MMEventManager:TriggerEvent(MMEvent)

I recommend you report this on their support.

Hi, 

Thank you for reviewing the issue. 

But I think that this is not to be related to Corgi as the crash does not occur if I remove the graph from the scene (but corgi do events fire).

Is there a way to increase logging level or set a debug mode for Bolt? 


Pending Review

Hi Avi.o,

Unfortunately there is no way to increase the Bolt log level.

Does this happen with *any* Bolt graph or just a specific one? If so, what does that graph contain?

Hi Lazlo, 

I spent some time figuring out when it does happen and found the following: 

I am using Corgi Engine, which has an Event System named 'MMEventListener'. It can be added to any class as an interface. 

public class LetterManager : Singleton, MMEventListener, MMEventListener
{

}

When adding this interface, even without adding any logic or registering to the event system, android 64-bit build crashes. If I remove the interface, it works fine. 

I think this might be related to bolt's code generation/detection?


Hi Avi.o,

Intersting... the only code we generate is in a file called AotStubs.cs. Can you upload that so I can have a look if anything might look fishy with that MMEventListener class?

Hi Lazlo, 

I've attached my AotStubs file. Interesting point, I don't see  MMEventListener class there ... 

aotstubs.cs

Need More Information

Hi Avi.o,

Fist, I apologize about the very late reply on this.

I am unfortunately unable to assist further without clear reproduction steps. The AOT stubs file you attached doesn't seem to have an issue.

Can you give me step-by-step instructions to reproduce the issue in a blank project with Bolt and Corgi engine?

I've reached out to MoreMoutains (the publisher of Corgi) and I've made them aware of this issue. As soon as we hear back, we'll try to collaborate to get this resolved as quickly as possible. Thank you for your patience!

Cannot Reproduce

Hi Avi.o,

Since we did not receive any reproduction steps in the last month I'll close this as cannot reproduce for now. 

We reached to Renaud from MoreMountains and while they provided us with a voucher for the Corgi Engine, they do not see why the error would occur.

If you can reproduce it consistently, please let me know so we can test.