objective c - EXC_BAD_INSTRUCTION (SIGILL) crash after few days running an OS X app -
After a few days of using the exact log about my OS X application Otoriys corruption crash randomly, but I do not understand why:
crashed Thread: 4 exception type: EXC_BAD_INSTRUCTION (SIGILL) exception code: 0x000000000000000l, 0x0000000000000000 application-specific information: objc [35716]: autorelease pool page 0x1009d2000 corrupt magic 0xa1a1a1a1 0x4f545541 0x454c4552 0x21455341 pthread 0x107b92000
and thread:
Thread 4 Sl Crashed: 0 libobjc.A.dylib 0x00007fff9461575b _objc_trap () + 0 1 libobjc.A.dylib 0x00007fff9461589b _objc_fatal + 195 2 libobjc.A.dylib 0x00007fff946255d2 (anonymous namespace) :: AutoreleasePoolPage :: check (bool) + 134 3 libobjc .A.dylib 0x00007fff9461153c (anonymous namespace) :: AutoreleasePoolPage :: autoreleaseSlow (objc_object *) + 252 4 libobjc. A.dylib 0x00007fff94624781 _objc_rootAutorelease2 (objc_object *) + 75 5 com.mybiz.myapp 0x0000000100001f86 - [IPADDRESS to_dotted_char:] + 27 (IpAddress.m: 130)
worried method is the following line 130 Onet_ntop
- (minus) to_dotted_char: (char *) buf {inet_ntop (AF_INET, (struct in_addr *) [self.networkOrder bytes], buf, INET_ADDRSTRLEN); } - (NSString *) to_dotted_string {char buf [INET_ADDRSTRLEN]; [Self-deducted_character: buff]; NSString * dotted_string = [NSString string withUTF8String: buf]; Transitive string; }
I'd use this method of 20-30 times per minute, and it crashed after a few days, sometimes after waking the Mac to sleep.
Does this method leak? Can there be autoreclosure problems over the long term? Problem
The problem is that the runtime is found that Otoriarej pool data structure is corrupted
< p> this is probably there is a memory error is a bug in the code in the stack trace is not necessary, although it may be a bug in the code running may be a bug in the neighborhood of code or other threads together. The Magic
true in your case (it 0xa1a1a1a1 "Autaresiyej!" Should be), meaning pthread
is wrong or if a memory fault Due to the wrong thread, a value or auto arrant pool is being used.
Comments
Post a Comment