Skip to content

Conversation

@MCJack123
Copy link

An illegal instruction was inside the libcore.a/Jit.o binary that caused the app to crash. I replaced it with a NOP instruction, and the emulator now works while debugging. If you are looking to run this on your device and the pull request hasn't been merged, use my fork and it should work fine. Unfortunately, it does not seem to work when untethered, and I can't figure out why. (I can't debug if debugging fixes it!)

@chocolatecake123
Copy link

chocolatecake123 commented Feb 17, 2019

I pulled your fix and it doesn't seem to work for iOS 11.4 unc0ver or electra jailbreak (that came out recently). When I try to open a game (like Mario Sunshine), it goes white screen for a few seconds then crashes to home screen.

@chocolatecake123
Copy link

For some reason the game does run successfully through Xcode though.

@MCJack123
Copy link
Author

This is a known issue, but I have no idea why it happens. It's because the debugger does something to make the app work, and without the debugger it crashes. Not sure how to fix it since debugging will not reproduce the issue.

@LucasMW
Copy link

LucasMW commented Feb 19, 2019

I don't know if it helps, but I have already experienced this kind of bug in smaller C/C++ projects.
It usually have to do with wrong memory assumptions, such as size of vectors and structs. You see, when debugging, several C/C++ debuggers will allocate more memory than necessary per variable, per struct, per vector, etc. in order to store debug information.
If the program only runs on Debug it might be because of that. Some areas of the code must be accessing invalid memory positions, making the OS force crash the program, but in the Debug, they are still considered the same variable/vector/struct. This is can be actually common in vector indexes, for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants