Search Issue Tracker

Not Reproducible

Votes

0

Found in [Package]

1.4.4

Issue ID

UVSB-13

Regression

No

EXC_BAD_ACCESS on IL2CPP Asset Bundle

Package: Visual Scripting

-

Escalated - 9 months ago

[Original issue link|https://support.ludiq.io/communities/5/topics/3994-exc_bad_access-on-il2cpp-asset-bundle]
----
Hi there!

Here in the company I work for, we're developing an application that is meant to be a hub for several minigames. All of the minigames are included into the main application after the user installed the app through AssetBundle, which is downloaded directly from our servers

All minigames are developed in different Unity Projects, therefore they doesn't have any access to the main project until they are downloaded into the main application

I know that isn't possible to send new scripts through Asset Bundle, so all of our scripts that the minigames could use are already compiled into the base application, which include the Bolt plugin

Whenever the main app is open, the user has an option to download new minigames and/or update the minigames he/she has already downloaded if there is any to be updated

When using an iOS device, whenever I try to open a minigame that has any bolt component, such as the _FlowMachine_ attached in a _GameObject_ for exemple, the app crashes. For Android, Windows and Mac it works just fine

I believe that this problem is related with Bolt, because we have minigames that does not have any bolt component and they work perfectly for Android, iOS, Windows and Mac.

I've tried several things in one minigame that had just one _GameObject_ with the _FlowMachine_ component attached to it (with and without the _FlowMacro_ asset referenced), and thats enough to cause the crash. If the same minigame doesn't have the _FlowMachine_ component attached, it works just fine

 

To solve the problem, I've tried:
* Change the Unity version, but never below 2018.3.2f1 due to changes in the prefab system;
* Do the AOT prebuild (Tools>Ludiq>AOT Pre-Build);
* Disable the _Strip Engine Code_ option when making the build of the main application an algo when generating the AssetBundle;
* Enable and disable the _AOT Safe Mode_ option under Ludiq options in the Unity preferences window
* Put some delay between loading the AssetBundle and opening the Scene
* Include into the application base all _FlowMachines_ that is going to be used in the minigames (doing the AOT prebuild process before generating the build for Xcode)
* Doing the Prebuild process before generating the AssetBundle
* Disabling the option in xcode to recompile from bitcode
* Using Macro and embed source into the _FlowMachine_ component

 

The exception is always the same: EXC_BAD_ACCESS (SIGSEGV), always in the thread responsible for the Preload process

[Crash report|https://support.ludiq.io/uploaded/file/21929/5/0/fbecfe56018e257728408ebb574ce0c9.ips]

 

According my research, this exception is related to *missing references* and *object reference not set* erros, but might be something else according with Unity

Has anyone tried something similar or has any idea how to solve this problem?

 
 
Bolt Version:
1.4.4
Unity Version:
2018.3.2f1
Platform(s):
 
Scripting Backend:
 
.NET Version (API Compatibility Level):

  1. Resolution Note:

    It'll be hard for us to triage whether this is a Bolt issue, the user misusing Asset Bundles or a Bolt-unrelated bug. Unless we can get a repro project, this isn't actionable.

Add comment

Log in to post comment