Problems with 64-bit slice on iOS devices.

Hello Everyone,

Yesterday I started testing the new 64-bit slices for iOS but my apps are crashing on startup with a weird exception:

App[1092:237132] *** Terminating app due to uncaught exception of class '__NSCFConstantString’

libc++abi.dylib: terminating with uncaught exception of type __NSCFConstantString

I tested with a clean Enterprise Project using the Corona template, so I am not using any plugins or third party SDK at the moment and I’m using the 2015.2530 build.

Looking at the compile and link logs I don’t see any errors or relevant warnings (the only warning present is about not being able to find the facebook lib folder, that I’m not using during this tests).

I am doing some test and it seems that it is crashing during the execution of pure lua functions but haven’t found the source yet.

Could it be a flag or option that I need to pass to the compiler ?

 

Any ideas on what I’m missing ?

I think I’ve found the problem.

It seems that the lua error handler is throwing that exception and it force crashes the app. I started with a clean lua project and only printed stuff on the console and it worked fine. Forcing a lua error (reading a a property from a nil variable, for instance) crashes the app.

This behavior is different from the one observed when using 32-bit, which the error is printed but the app can continue execution (depending where the error occurred).

This should be fixed in 2015.2533.

If you have C/C++ code (as opposed to Obj-C or Obj-C++ code), you will need to add “-fexceptions” to the “C Flags” in your Xcode project.

Thanks for the followup!

Tested the new version and it seems to be working fine now.

I think I’ve found the problem.

It seems that the lua error handler is throwing that exception and it force crashes the app. I started with a clean lua project and only printed stuff on the console and it worked fine. Forcing a lua error (reading a a property from a nil variable, for instance) crashes the app.

This behavior is different from the one observed when using 32-bit, which the error is printed but the app can continue execution (depending where the error occurred).

This should be fixed in 2015.2533.

If you have C/C++ code (as opposed to Obj-C or Obj-C++ code), you will need to add “-fexceptions” to the “C Flags” in your Xcode project.

Thanks for the followup!

Tested the new version and it seems to be working fine now.