With current ARC, it's not allowed to override retain, release, autorelease or 
retaincount.
Too bad, because breakpoints there can really help when debugging lifetime 
issues.

Worst case, I guess we could go back to an earlier Xcode that allows them.
But that won't be fun.

Casey McDermott
Turtle Creek Software
     On Wednesday, May 22, 2019, 2:08:44 PM EDT, Markus Spoettl 
<ms_li...@shiftoption.com> wrote:  
 
 In the past, if the crash like that was reliably and not to complicated to 
recreate and I 
had no other choice, then overriding -autorelease and putting a breakpoint into 
that 
worked on some occasions. Be prepared to get a lot of hits though.

The object likely gets over-released by an auto-release sometime before the 
actual release 
causes the crash.

Best Regards
Markus

On 5/22/19 7:19 PM, Casey McDermott wrote:
>  Yes, we added a NSArray in the tab view controller with a strong ref to each 
>child view controller. That slows down the crash by one cycle,
> but doesn't provide any additional clues.
> 
> Is there a way for NSZombie to show when the object is released? AFAICT it 
> only kicks in on dealloc. We can see that happen already
> with a breakpoint.
> 
> The Allocations feature in Instruments looks promising. Is there a way to 
> limit the display to just one class? Otherwise it is WTMI.
> 
> Sorry for asking stupid questions on these tools, but Apple's docs are not 
> very good. Stack Overflow is often for old Xcode versions
> where everything is different. We are mostly C++ folks, where this kind of 
> problem is easily solved with a breakpoint in the destructor.
> 
> Thanks,
> 
> Casey McDermott
> Turtle Creek Software
>      On Wednesday, May 22, 2019, 11:43:30 AM EDT, Keary Suska 
><cocoa-...@esoteritech.com> wrote:
>  
>  When you say "separate, strong reference to each tab view controller” do you 
>mean each child view controller that controls a single tab view item, or the 
>tab view controller as a whole? It is keeping string references to the 
>individual child view controllers that should solve your situation.
> 
> You may also want to check out Instrument’s zombies, which might better 
> pinpoint where the issue is ocurring.
> 
> HTH,
> 
> Keary Suska
> Esoteritech, Inc.
> "Demystifying technology for your home or business"
> 
>> On May 22, 2019, at 8:26 AM, Casey McDermott <supp...@turtlesoft.com> wrote:
>>
>> Our Mac app adds tabs to a NSTabView programmatically.  After switching tabs 
>> a few times, one of the NSTabViewItems would release
>> prematurely, causing a crash.  So we switched it to using a 
>> NSTabViewController.  Tab switching still crashes, but now it releases a
>> NSViewController prematurely.
>>
>> Nothing else in the code references tab items or tab controllers.  This is 
>> baffling. We can set a breakpoint on dealloc to see when it is deleted,
>> but can't breakpoint on release to see what releases it.  We build with 
>> latest Xcode but this has been going on with older ones also.
>>
>> We tried adding a separate, strong reference to each tab view controller.  
>> It still crashes, but it takes a few more tab switches before the controller 
>> is released.
>>
>> Any suggestions for what might be causing this?
>>
>> Casey McDermott
>> Turtle Creek Software
>> _______________________________________________
>>
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>>
>> 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:
>> https://lists.apple.com/mailman/options/cocoa-dev/cocoa-dev%40esoteritech.com
>>
>> This email sent to cocoa-...@esoteritech.com
>    
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/ms_lists%40shiftoption.com
> 
> This email sent to ms_li...@shiftoption.com
> 


-- 
__________________________________________
Markus Spoettl
  
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to