warning: check_safe_call: could not restore current frame

转载自:http://stackoverflow.com/questions/2295295/warning-check-safe-call-could-not-restore-current-frame

What does the error warning: check_safe_call: could not restore current frame usually indicate? I've read in other places that it's a memory issue. Is it always a memory problem?

I'm getting this error on the device (not the simulator). NSZombieEnabled shows nothing. If I Build and Debug, my debugger window shows nothing. The peak memory isn't that high (3MB). It just crashes with the same error every time after scrolling around a map.

Any ideas how to debug this? Thanks.

Edit: I added the reason for my crash in an answer below (creating too many SQLite connections). If anyone else gets this error and finds their solution, please post it below. It seems like an error message with multiple causes.

link|improve this question

79% accept rate
 
What exactly are you doing? – Brian Liang Feb 19 '10 at 17:02
feedback

4 Answers

I've seen this a few times, but never been able to actually pinpoint it to a problem outright. Although, the times I've seen it usually there has been some kind of infinite loop or recursion gone wrong and the debugger will catch it. I don't know if you've left it long enough, but after a while, the debugger should start to load the stack frames it does have and display them in the debugger window. There you should be able to see what is going wrong.

Like I said, usually when I've seen this its been due to infinite loops or recursion and the debugger will show upwards of 5000 calls to the same function, so finding the problem shouldn't be too difficult - but, saying that, it may not be the exact issue.

Just my two cents.

link|improve this answer
 
This was the exact issue I had that caused the error. – Brian Liang Feb 19 '10 at 17:06
feedback

This warning also may happens when to use stack based block out of the scope the block defined without copying it.

http://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Blocks/Articles/bxUsing.html#//apple_ref/doc/uid/TP40007502-CH5-SW2

http://www.friday.com/bbum/2009/08/29/blocks-tips-tricks/

link|improve this answer
 
feedback

I found the error in my code. It turns out that the SQLite database I was using was causing the crash. I was forgetting to close my database connection, and each time the code hit a particular function, I'd open a new connection. Eventually there were too many, and the app crashed.

It's looking like a lot of these errors are to do with a kind of overload (as Jasarien says).

link|improve this answer
 
feedback

I came accross this problem too but I found that it was caused by an image that was at too high a resolution. It would work perfectly in the simulator but not on the device. I resized the image to 320x480 pixels at 180 pixels per inch and now it works perfectly.

Hope that helps

link|improve this answer
   

posted on 2012-03-20 18:26  yang3wei  阅读(201)  评论(0编辑  收藏  举报