-
Notifications
You must be signed in to change notification settings - Fork 24.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Crash] EXC_BAD_INSTRUCTION (SIGILL) RCTLog.m:37 #2423
Comments
On http://stackoverflow.com/a/28652346 someone mentions that:
Could we use the static data approach instead then? This is also the only place we use |
We are using 0.9.0-rc in our production app and from the crash logs downloaded by Xcode our app is crashing a lot due to this exception. Is there any way we can get a fix on this? Thanks! |
We are seeing this in all stable releases since at least 0.7. |
cc @javache |
We haven't seen this crash ourselves so far. My suspicion would be that this is not being symbolicated exactly to the right source location, since RCTLogSetup isn't doing crazy memory-wise. |
Thanks, any hints on how to get more information about this crash in production app? One thing I could try in our next release is to remove the RCTLog from the code base. |
@javache This was not showing up in Crashlytics for us - and only in the new Crashes pane of Xcode. @henrylilei Removing calls to RCTLog won't help. This is something that happens before the code has a chance to run. |
Understood, how about removing the RCTLog entirely from the code base? |
We're seeing quite a lot of this exact crash as well through xcode crash reporter. Any update or suggestions? |
@javache Could you please check in the new Xcode Crash Logs (introduced in Xcode 6.3) once? Or any suggestions on how to 'symbolicate it to the right source location' as you mention. The number of crashes are significant for us as per Xcode - right since we first introduced RN into our app back in April. |
@nicklockwood I'm just exploring and trying to understand what might be the reason. What change does this particular diff effect? 0b21df4#diff-a18482c63473b7044f5c7afdabcb297aL34 It changes void RCTLogSetup(void) __attribute__((constructor));
void RCTLogSetup() to __attribute__((constructor))
static void RCTLogSetup() anything relevant to the crash here? |
@paramaggarwal: that shouldn't make any difference as far as I'm aware, it just makes the function's definition local to the file. I'll try moving all of this setup code to a dispatch_once. |
@javache |
@javache Could you please take a look at this PR, we'll be shipping it to production to see if it fixes our crashes - need your help to see that I haven't broken anything with this change. Thanks! |
Summary: As per discussion in facebook#2423 - possible fix for crash. (cc: @javache) Please share feedback regarding the PR, we are going to be using this diff in production to see if it fixes the crashes we are seeing. (fixes facebook#2423) Closes facebook#2494 Reviewed By: @javache Differential Revision: D2433515 Pulled By: @nicklockwood
The crash report points to this line:
__attribute__((constructor))
inRCTLog.m:37
. Looks like a very cryptic issue deep within the system internals and not really with the code itself. Anyone else hitting this? Any way we can avoid this?The text was updated successfully, but these errors were encountered: