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: Rick Mann <email@hidden>
- Date: Tue, 09 Jul 2013 19:00:27 -0700
Yes, I'm aware of this fact. The problem is, I can't tell where the call is happening.
Sent from my iPhone
On Jul 9, 2013, at 18:44, Maxthon Chan <email@hidden> wrote:
> 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