Log in or register to post comments

Crash IL2CPP unity 5.1.1 32 bits

June 26, 2015 - 6:44am #1

Vuforia SDK Version: 4.2.3 -

Description with steps to reproduce:

Building for 64bit goes fine but 32bit crashes on this:

 

extern "C" bool QCARManagerImpl_Update_m11287 (QCARManagerImpl_t2198 * __this, int32_t ___counterRotation, const MethodInfo* method)
{
        IL_00b5:
	{
		bool L_20 = V_0;
		if (!L_20)
		{
			goto IL_0116;
		}
	}
	{
		FrameState_t2191 * L_21 = &(__this->___mFrameState_14);
		int32_t L_22 = (L_21->___numTrackableResults_8);
		FrameState_t2191 * L_23 = &(__this->___mFrameState_14);
		int32_t L_24 = (L_23->___numPropTrackableResults_13);
		QCARManagerImpl_InitializeTrackableContainer_m11292(__this, ((int32_t)((int32_t)L_22+(int32_t)L_24)), /*hidden argument*/NULL);
		QCARManagerImpl_UpdateCameraFrame_m11298(__this, /*hidden argument*/NULL);
		FrameState_t2191  L_25 = (__this->___mFrameState_14);
		QCARManagerImpl_UpdateTrackers_m11293(__this, L_25, /*hidden argument*/NULL);
		IL2CPP_RUNTIME_CLASS_INIT(QCARRuntimeUtilities_t452_il2cpp_TypeInfo_var);
		bool L_26 = QCARRuntimeUtilities_IsPlayMode_m1812(NULL /*static, unused*/, /*hidden argument*/NULL);
		if (!L_26)
		{
			goto IL_010f;
		}
	}

 

those line below crash, the L_25 variables ends up null.

        FrameState_t2191  L_25 = (__this->___mFrameState_14);
	QCARManagerImpl_UpdateTrackers_m11293(__this, L_25, /*hidden argument*/NULL);

 

Is that a bug or something I do wrong. The same code runs with no issue on 64bit (two different iPhone6).

 

The problem occurs on iPhone 5, iPad2 and iPad4 (32bit). 

-

Development OS (Mac OS X, Windows, Linux): MAC OSX -

Mobile OS and Version: iOS 32bit -

Mobile Device Manufacturer and Model name: Apple -

Do the Vuforia Sample Applications show the same behavior?:

Crash IL2CPP unity 5.1.1 32 bits

July 29, 2015 - 2:39pm #22

You may be interested in trying the new SDK 5.0 just released:

https://developer.vuforia.com/downloads/sdk

https://developer.vuforia.com/downloads/samples

 

Before ugrading to Vuforia 5.0, make sure to read the transition guides:

https://developer.vuforia.com/library/articles/Solution/Vuforia-5-Migration

https://developer.vuforia.com/library//articles/Solution/How-To-Migrate-Your-Existing-Apps

https://developer.vuforia.com/library//articles/Solution/Migrating-Unity-Projects-to-Vuforia-5

 

In our recent tests with Unity 5.1.2f1 and SDK 5.0 we observed the following:

 iPhone 5s iOS 8.3 - OK

 iPhone 5s iOS 8.4 - OK

iPhone 6 Plus iOS 8.4 - OK

iPad 2 iOS 8.1.3 - OK

iPad 2 iOS 8.4 – OK

iPad 4 iOS 8.1.3 - OK

iPad mini iOS 7.1.2 - OK

iPad mini 2 iOS 8.3 – CRASH => not crashing when upgraded to iOS 8.4

 

The iPad 2 - iOS 8.3 crash seems to be an iOS 8.3 + Xcode combination issue, as reported in Unity forums:

 http://forum.unity3d.com/threads/app-wont-initialise-on-device.338782/

Bug details: http://issuetracker.unity3d.com/issues/ios-crash-in-allocaterenderbufferstoragefromeagllayer-on-ios-8-dot-3

 

 

Crash IL2CPP unity 5.1.1 32 bits

July 28, 2015 - 1:38pm #21

Ok so the fast setting is not working for me. my app crash on an iPad Air2 with and without Xcode connected to it.

Crash IL2CPP unity 5.1.1 32 bits

July 25, 2015 - 2:47am #20

i tried with the the fast fix setting but it crach with the 64bits iOS devices when i'm connected with xcode. i'll will try with 32bits iOS devices outside the Xcode link to see if it works

Crash IL2CPP unity 5.1.1 32 bits

July 24, 2015 - 3:07pm #19

Crash IL2CPP unity 5.1.1 32 bits

July 24, 2015 - 8:19am #18

Thanks Semrau, that's helpful information.

This is not exactly what we've observed in the first place (for us using Mono2x did not make a difference), but  we'll have another round on this, based on your findings you just shared.

 

2 notes about Mono2x working OK:

  1. if you see the app not crashing when built with Mono2x (32bit) and crashing when built with IL2CPP (also in 32bit), that just reinforces the hypothesis of some sort of IL2CPP issue, i.e. a regression between 5.1.1f1 and 5.1.1p1 (and subsequent versions), as basically we now have a reference case (Mono2x) that works flawlessly and which suggests the failure might originate specifically from an IL2CPP related issue.
  2. Unfortunately you cannot build your Apps with Mono2x on iOS, cause that backend only supports 32bit armv7 architectures (does not support arm64); this means that Apple would reject your App as it is missing the 64bit support; so, you need to use IL2CPP anyway in order to be able to submit an App to Apple App Store

 

Crash IL2CPP unity 5.1.1 32 bits

July 24, 2015 - 7:42am #17

@AlessandroB

I already tried to launch the App with the iPad 2 being disconnected. I always do, because sometimes Xcode makes it crash. But this time it didn't help.

I'm using Unity version 5.1.1f1, but I found out that you can use Unity 5.1.2f1 and change the Scripting  Backend from IL2CPP to Mono2x and it will work.

Project Settings -> Player -> iOS tab -> Other Settings -> Configuration -> Scripting Backend.

My App works, I don't know what consequences this switch will have later on trying to upload to the App Store.

I just wanted to inform in case someone was searching for an alternative solution.

Best Regards,

R.

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 2:25pm #16

Quick update:

In our tests we noticed that, after the initial crash, if you disconnect the device from Xcode (using Xcode 6.4) and launch the App directly from the device, the crash does not occur.

 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 1:54pm #15

Thanks SuperZ.

We did reproduce the same issue on 5.1.1 patches (p1+), on 32bit iPad 2.

We will follow up with Unity and post any updates.

In the meantime, you can keep using Unity 5.1.1 f1, which does not exhibit the issue. Thank you. 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 10:41am #14

AlessandroB, i can't try with my iPad because it's a 64bits device, but i made a distribution ipa file for a friend to test, and he used it on his iPhone4S, and the problem is still there. So the debug xcode link with the iPad seems to have no impact on this.

it's really the test you are asking for , because i need to set my xcode project to release code signing to make my ipa file. To be sure someone need to test with a debug code signing intall with the build and run button of Xcode.

But if it's not working with a released code signing ipa, i think a debug one will not work to.

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 10:25am #13

SuperZ, or anyone in this thread, 

have you tried the following:

after the first run crash (running from Xcode), have you tried running the App again without using Xcode, i.e. starting the App directly from your iPad (i.e. touching on the App Icon in the iPad screen) ? does the App still crash when doing that (using Unity 5.1.2 or Unity 5.1.1patch p1/2/3/4) ?

 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 10:17am #12

OK. Thanks SuperZ for clarifying this;

so, to summarize:

Unity 5.1.1 f1 seems to work in all cases,  while the issues are seen starting with 5.1.1 patch p1 and above (up to and including 5.1.2f1 and 5.1.2p1)

Thanks,

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 10:09am #11

My mistake AlessandroB, i have to problem with Unity 5.1.1p1 i was using it for about a month, and i only noticed the problem few days ago. i switched to unity 5.1.2p1 and the problem is still there.

 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 9:47am #10

There seem to be some slightly contradictory information from this thread:

 

  • according to SuperZ, there is no issue with 5.1.1 p1, but the issue appears with 5.1.2.

 

  • according to Semrau (and later confirmed by SamuelCavalli too) there isn't any issue with 5.1.1 f1,  but the issue appears starting with 5.1.1 p1 and any subsequent patch (p2,p3,p4):

When I use Unity 5.1.1f1 it works on all all my iOS test devices 32- and 64-bit, but if I use Unity 5.1.1p1 p2 p3 p4 it crashes just like with the last version.

 

A common pattern of this thread seems to be that the problem occurs on 32bit CPU iPad models.

 

Another common pattern seems to be that 5.1.2 (either f1 or p1) seems to show the issue consistently on 32bit iPads.

 

We will look at this to see if we can reproduce with any of the above device + unity version combinations. 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 9:08am #9

I only noticed the issue few days ago, i was using Unity 5.1.1p1 and today i tried with 5.1.2p1. I saw in this post that the problem appears with the 5.1.1p1 so i didn't test the other versions of Unity (And i don't have any device to test with).

I am using Xcode 6.4 (6E35b).

 

I also tried the fix in this post  but it did'nt work. In fact it was worst, my app crash even with an 64bits iOS device with the optimisation level set to "Fast".

 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 8:33am #8

Hi SuperZ,

could you tell if you are using Xcode 6.4 or Xcode 6.3 (or older) version ?

and could you confirm that you see the issue in Unity 5.1.2,  but NOT on Unity 5.1.1p4  (or other 5.1.1 version) ?

 

Crash IL2CPP unity 5.1.1 32 bits

July 23, 2015 - 8:23am #7

Hi,

I recently discovered that i'm facing the same problem.

i tried to build my app with the last version of unity (5.1.2p1), but the problem is still there.

AlessandroB, do you know if this bug has been submit to Unity by the vuforia team ? i tried to find what exacty causes the problem, but I only have an iPad Air2 for my developments.

I had few hours with an iPhone4S but i did'nt find anything. The IL2CPP generated code is really hard to read.

May be you can track where this null value is from if you can have access to the source code of the vuforia plugin. it my be due to an initialization failed in the 32bits version of the IL2CPP code or a bad cast conversion of the null variable.

It's really difficult to know :(

 

Crash IL2CPP unity 5.1.1 32 bits

July 20, 2015 - 5:58pm #6

Hey guys, some good news here.

I have downgraded my Unity from 5.1.2f1 to 5.1.1f1 like Semrau said and everything works here, including iPhone 4.

Thanks for your time AlessandroB and I hope as soon as possible Unity fix this issue in the future versions.

 

Regards!

Crash IL2CPP unity 5.1.1 32 bits

July 20, 2015 - 9:03am #5

A note about the iPhone 4; the minimum "iPhone" supported device is the iPhone 4S

 

And a note about the other tablets on iOS 8.4 (and about Xcode 6.4, which includes the required iOS SDK 8.4):

according to the Unity 5 release notes, it appears that they have just added "official" support for Xcode 6.3.2 (which means up to iOS 8.3) in Unity 5.1.2; but there does not seem to be any mention of Xcode 6.4 and/or iOS 8.4;

see also:

This might explain the issue seen on some iOS tablets on iOS 8.4.

 

Have you also posted in the Unity Forums about Xcode 6.4 and iOS 8.4 support in Unity 5?

 

Crash IL2CPP unity 5.1.1 32 bits

July 20, 2015 - 7:20am #4

I think I have the same issue here. My app works on iPhone 6 - ios8.3 - but all others I've tried don't. iPad 2 - ios8.4 | iphone5 - ios8.4 | iphone4 - ios7.1

It's stops at the same point that was described behind. 

 

My configuration is:

Unit 5.1.2f1

Vuforia SDK  4.2.3

XCode 6.4

 

 

Crash IL2CPP unity 5.1.1 32 bits

July 20, 2015 - 2:45am #3

I have the same problem.

Using Unity 5.1.2f1

The app works with iPhone 6 - iOS 8.4 (64-bit).

Doesn't work with iPad 2 - iOS 8.4 (32-bit).

I already tried changing the optimization level and it didn't help.

Just the AR-scene is crashing my app (32-bit), everything else works fine.

When I use Unity 5.1.1f1 it works on all all my iOS test devices 32- and 64-bit, but if I use Unity 5.1.1p1 p2 p3 p4 it crashes just like with the last version.

 

 

Crash IL2CPP unity 5.1.1 32 bits

June 29, 2015 - 10:59am #2

For what it's worth, I'm getting the same crash with the following:

 

Unity 5.0.3f2

Ipad 3 (32 bit)

 

 

I thought maybe I'd need to upgrade to the newest version of Unity but I believe you already have it. 

 

My problem was the same one people encountered with Unity 4.6.5 here:  https://developer.vuforia.com/forum/vuforia-40/vuforia-423-unity-465p4-il2cpp-32bit-crash.  So you might try setting code generation optimization down to Fast, and test to see if that works. 

Log in or register to post comments