Tag: sigsegv

后台线程中的SIGSEGV NSRunLoop runMode:beforeDate:

我正在使用以下模式的后台线程: // Defined in .h-file as ivar BOOL backgroundThreadIsAlive; // .m file static NSThread *backgroundThread = nil; – (id)init { if (self = [super init]) { if (backgroundThread == nil) { backgroundThreadIsAlive = YES; backgroundThread = [[NSThread alloc] initWithTarget:self selector:@selector(threadMain:) object:nil]; [backgroundThread start]; } } return self; } – (void)threadMain:(id)data { NSRunLoop *runloop = [NSRunLoop […]

增加`static int`会导致SIGSEGV SEGV_ACCERR

我正在debugging报告为: Exception Type: SIGSEGV Exception Codes: SEGV_ACCERR 崩溃发生在numberOfFails++的行上。 该应用程序使用ASIHTTP 。 我个人更喜欢使用NSURLConnection 。 我永远不会自动重复NSURLConnection的请求,如果它失败,因为我从来没有见过它失败,当它不应该。 我宁愿只给UI刷新button或显示一个button的UIAlertView再试一次或类似的东西。 无论如何,要与其他团队成员合作,我正在寻求解决这个问题,而ASIHTTP用NSURLConnection现在取代ASIHTTP 。 请求正在启动,如下所示: – (void)getResources:(CLLocation *)location withQuery:(NSString *)query { NSURL *url = [NSURL URLWithString:[NSString stringWithString:@"https://example.com/"]]; self.resourcesAPIRequest = [ASIFormDataRequest requestWithURL:url]; [resourcesAPIRequest setPostValue:[Model instance].oauth_token forKey:@"oauth_token"]; [resourcesAPIRequest setPostValue:[[NSNumber numberWithDouble:location.coordinate.latitude] stringValue] forKey:@"latitude"]; [resourcesAPIRequest setPostValue:[[NSNumber numberWithDouble:location.coordinate.longitude] stringValue] forKey:@"longitude"]; [resourcesAPIRequest setPostValue:query forKey:@"query"]; [resourcesAPIRequest setDelegate:self]; [resourcesAPIRequest setDidFinishSelector:@selector(resourcesAPIReturned:)]; resourcesAPIRequest.userInfo […]

如何理解EXC_BAC_ACCESS(SIGSEGV)KERN_INVALID_ADDRESS日志?

我正在为Titanium for Android和IOS做一个应用程序。 当我在应用程序中导航很多时,我有一个随机的exception和应用程序崩溃。 我怎么知道问题在哪里? 该应用程序有点复杂的解释: 它有两个窗口,第一个窗口是仅用于肖像模式的“home”视图,而当我单击以转到另一个视图时,closures第一个窗口,打开另一个窗口,然后添加一个视图窗口。 内容视图使用不同的URL加载相同的Web视图。 该应用程序加载好,我可以浏览不同的意见和窗口确定。 但是,当我导航了很多,最后我有一个EXC_BAC_ACCESS(SIGSEGV)和KERN_INVALID_ADDRESS 这只发生在设备上(在模拟器上工作正常)与iPad操作系统5.1.1和操作系统7.0.2。 这是线程崩溃的日志: Incident Identifier: 1A3E94A0-E6FC-4BFF-BB3B-7651D66664DE CrashReporter Key: d4422d11c83ca9acf2212996b20dd1078f00f36c Hardware Model: iPad3,3 Process: Appname [16747] Path: /var/mobile/Applications/1BACB160-AED8-4F5F-A599-4F7F1F4A4DC4/Appname.app/Appname Identifier: Appname Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2013-10-31 11:56:58.680 +0100 OS Version: iPhone OS 5.1.1 (9B206) Report Version: 104 Exception Type: EXC_BAD_ACCESS […]

为什么一个崩溃日志象征性而不是另一个?

我有XCode Organizer中iPhone应用程序的两个崩溃日志。 两者都在20分钟内发生在同一台设备上,运行相同的应用程序版本。 一个已经被象征化了,另一个没有。 非符号日志有types和代码: Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x00000000, 0x00000000 而象征性的日志有types和代码: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x61656810 这足够的信息来解释为什么后者正确的象征,但前者不是?

WebCore :: UserGestureIndicator :: processingUserGesture中的EXC_BAD_ACCESS(SIGSEGV)

我有一个使用UIWebView和HTML5 websockets构build的iOS应用程序。 该应用程序看似随机崩溃。 它发生在一个用户正在与它进行交互,并在用户和应用程序之间没有交互发生的长寿testing。 崩溃日志都有以下内容: Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x00000000 线程日志包含: Thread XX name: WebCore: Worker Thread XX Crashed: 0 WebCore 0x36c8c7a0 WebCore::UserGestureIndicator::processingUserGesture() + 20 1 WebCore 0x36d7070a WebCore::DOMTimer::DOMTimer(WebCore::ScriptExecutionContext*, WTF::PassOwnPtr<WebCore::ScheduledAction>, int, bool) + 74 2 WebCore 0x36d70616 WebCore::DOMTimer::install(WebCore::ScriptExecutionContext*, WTF::PassOwnPtr<WebCore::ScheduledAction>, int, bool) + 46 3 WebCore 0x3753ae7e WebCore::WorkerContext::setTimeout(WTF::PassOwnPtr<WebCore::ScheduledAction>, int) + 30 4 […]

iPhone KERN_INVALID_ADDRESS

我不知道为什么我收到这个错误,我无法追查原因。 这只发生在设备上,但Simulator按预期运行无误。 任何人都可以理解这个崩溃日志? Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x61f6490a Crashed Thread: 0 Thread 0 Crashed: 0 libobjc.A.dylib 0x32668edc 0x32665000 + 16092 1 Foundation 0x33f70990 0x33f29000 + 293264 2 Foundation 0x33f82a66 0x33f29000 + 367206 3 Foundation 0x33fdb2d8 0x33f29000 + 729816 4 CFNetwork 0x31f5903a 0x31f05000 + 344122 5 CFNetwork 0x31f0fa58 0x31f05000 + 43608 6 […]

什么会导致这个SIGSEGV错误?

我收到了一个我无法解释的崩溃日志。 我search了一下,似乎SIGSEGV与内存有关。 但在我的情况下,除了stacktrace中的main.m以外,没有任何自己的代码。 而且它似乎没有象征任何系统库。 迄今为止的这次事故只发生在一台iPhone上。 在其他手机上,我还没有能够重现它。 现在我完全被卡住了,不知道要继续下去,所以如果有人看到类似这样的事情,那么听到他们的问题和解决方法是很好的。 崩溃日志: Incident Identifier: TODO CrashReporter Key: TODO Hardware Model: iPhone4,1 OS Version: iPhone OS 6.1.3 (10B329) Report Version: 104 Exception Type: SIGSEGV Exception Codes: SEGV_ACCERR at 0x41fd5903 Crashed Thread: 0 Thread 0 Crashed: 0 libobjc.A.dylib 0x3b0b9564 0x3b0b6000 + 13668 1 libobjc.A.dylib 0x3b0bb1d7 0x3b0b6000 + 20951 2 CoreFoundation 0x33396605 […]

SIGSEGV SEGV_ACCERR崩溃报告 – 该怎么办?

我刚刚在AppStore上发布了一个Crittercism崩溃报告的应用程序,并且我收到了一些关于SIGSEGV错误的崩溃报告。 Crittercism给了我一个StackTrace和一些关于使用统计信息的方便的细节,等等。但是,我还是被这些符号化的堆栈跟踪弄糊涂了。 我对这种事情总体上有几个问题 – 堆栈跟踪中的许多类和方法甚至在我的应用程序中都没有使用(据我所知),这导致我相信这些崩溃是由苹果公司的私有API引起的。 看看这个问题底部附近的Stack Trace。 如果崩溃报告中的所有方法和类都不是直接在我的代码中实现,我怎么能告诉崩溃我的应用程序? 在坠毁的线程中每行结尾处的数字+号代表什么? 大多数Q / A的StackOverflow询问有关SIGSEGV崩溃说,他们是由内存泄漏或问题引起的, 但是 ,如果我在我的iOS项目中使用ARC,我怎么能因为内存问题崩溃? ARC是不是应该为我pipe理所有这些东西? 如果我不能复制错误/崩溃,我该怎么办? 有什么方法可以真正阅读 StackTrace吗? 有什么总的来说会有助于理解发生的事情吗? 这里是来自Crittercism主线程崩溃报告的StackTrace,这个问题涉及到: Thread: Unknown Name (Crashed) 0 UIKit 0x37307a22 -[UIView(CALayerDelegate) actionForLayer:forKey:] + 138 1 QuartzCore 0x38fdfff7 -[CALayer actionForKey:] + 75 2 QuartzCore 0x38fdffa7 _ZL12actionForKeyP7CALayerPN2CA11TransactionEP8NSString + 59 3 QuartzCore 0x38fdfe93 _ZN2CA5Layer12begin_changeEPNS_11TransactionEjRP11objc_object + 131 4 QuartzCore 0x38fdab87 _ZN2CA5Layer6setterEj12_CAValueTypePKv + […]