Re: Unrecognized selector in release build, not in debug build
Re: Unrecognized selector in release build, not in debug build
- Subject: Re: Unrecognized selector in release build, not in debug build
- From: Maxthon Chan <email@hidden>
- Date: Wed, 10 Jul 2013 09:44:20 +0800
NSArrayI is one of the private subclasses of NSArray (not NSMutableArray) so there is no - (void)removeObject method. Consider check if your array is really mutable and - (instancetype)mutableCopy if needed.
Sent from my iPhone
> On 2013年7月10日, at 9:39, Rick Mann <email@hidden> wrote:
>
> I'm having a hard time tracking this down:
>
> Jul 9 18:33:10 iPad-4G-64GB MatterScan[189] <Error>: -[__NSArrayI removeObject:]: unrecognized selector sent to instance 0x1f097040
>
> It only happens in release builds, and the call stack shown in Xcode while debugging shows no source. I can't figure out where the call is:
>
> #0 0x39f9f960 in objc_exception_throw ()
> #1 0x320fee06 in -[NSObject(NSObject) doesNotRecognizeSelector:] ()
>
> libobjc.A.dylib`objc_exception_throw:
> 0x39f9f960: push {r4, r5, r6, r7, lr}
> 0x39f9f962: add r7, sp, #12
> 0x39f9f964: mov r4, r0
> 0x39f9f966: movs r0, #16
> 0x39f9f968: blx 0x39fab854 ; symbol stub for: -[NSObject isEqual:]
> 0x39f9f96c: mov r5, r0
> 0x39f9f96e: movw r0, #29278
> 0x39f9f972: movt r0, #507
> 0x39f9f976: add r0, pc
> 0x39f9f978: ldr r1, [r0]
> 0x39f9f97a: mov r0, r4
> 0x39f9f97c: blx r1
> 0x39f9f97e: movw r1, #29226
> 0x39f9f982: mov r6, r5
> 0x39f9f984: movt r1, #507
> 0x39f9f988: str r0, [r5]
> 0x39f9f98a: add r1, pc
> 0x39f9f98c: add.w r0, r1, #8
> 0x39f9f990: str r0, [r6, #4]!
> 0x39f9f994: mov r0, r4
> 0x39f9f996: bl 0x39f9b8d8 ; object_getClassName
> 0x39f9f99a: str r0, [r5, #8]
> 0x39f9f99c: movs r0, #0
> 0x39f9f99e: cmp r4, #0
> 0x39f9f9a0: it ne
> 0x39f9f9a2: ldrne r0, [r4]
> 0x39f9f9a4: str r0, [r5, #12]
> 0x39f9f9a6: mov r0, r4
> 0x39f9f9a8: nop
> 0x39f9f9aa: nop
> 0x39f9f9ac: movw r2, #5
> 0x39f9f9b0: mov r0, r5
> 0x39f9f9b2: movt r2, #0
> 0x39f9f9b6: mov r1, r6
> 0x39f9f9b8: add r2, pc
> 0x39f9f9ba: blx 0x39fab8a4 ; symbol stub for: +[NSObject instanceMethodForSelector:]
> 0x39f9f9be: nop
>
>
> I tried putting a symbolic breakpoint on -[__NSArrayI removeObject:], but it doesn't stop any earlier. I don't actually call remove-anything in my code anywhere.
>
> Any suggestions? Thanks!
>
>
> --
> Rick
>
>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden