- Home /
Interlocked methods crashing with IL2CPP
Hey,
I currently work on getting our project ready for IL2CPP. So far everything compiles but during runtime all calls of static Interlocked methods crash.
Here are some C# examples:
// we get some bottleneck, start next worker
var runningCounter = Interlocked.Read(ref this.runningCounter);
or
Interlocked.Increment(ref this.runningCounter);
And here's the compiled CPP code:
// System.Int64 System.Threading.Interlocked::Increment(System.Int64&)
extern "C" int64_t Interlocked_Increment_m18231 (Object_t * __this /* static, unused */, int64_t* ___location, const MethodInfo* method)
{
using namespace il2cpp::icalls;
typedef int64_t (*Interlocked_Increment_m18231_ftn) (int64_t*);
return ((Interlocked_Increment_m18231_ftn)mscorlib::System::Threading::Interlocked::Increment64) (___location);
}
And here's the crash error I get:
Tread 1: EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x93bcf14)
Any hints on this one? It's totally strange and as I said, every Interlocked call crashes.
Thanks a lot
Answer by JoshPeterson · Aug 24, 2015 at 05:43 PM
This looks very similar to a bug we have just corrected internally. I believe that is is a problem only on 32-bit devices. Are seeing this on 64-bit devices as well?
Answer by Asse1 · Aug 26, 2015 at 09:26 PM
Nope, 64-bit devices work fine with the Interlocked classes.
Do you have any idea when this bug gets patched?
Answer by tmsduman · Aug 27, 2015 at 09:47 AM
64 bit devices works fine for me too. We want the patch ;)
Your answer
Follow this Question
Related Questions
IL2CPP Crash on Instantiate(gameObject) 2 Answers
Out of memory errors on iOS with 64-bit build 1 Answer
unity 5.2.4 iOS build error ,iOS build error 0 Answers
some iOS devices took more memory about 200%!! 1 Answer
Build error with IL2CPP 3 Answers