Bug 211245 - Enable NSZombieEnabled=YES on bots to catch use-after-release bugs sooner
Summary: Enable NSZombieEnabled=YES on bots to catch use-after-release bugs sooner
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-30 12:06 PDT by David Kilzer (:ddkilzer)
Modified: 2020-05-04 10:24 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Kilzer (:ddkilzer) 2020-04-30 12:06:57 PDT
EWS bots running on Apple operating systems should run with NSZombieEnabled=YES environment variable.

Will likely catch bugs earlier that are caused by over-released Objective-C objects in WebKit or in dependent frameworks.
Comment 1 Alexey Proskuryakov 2020-04-30 13:01:26 PDT
I don't think that EWS should be getting more different from the normal way of running tests. If tests run well with NSZombieEnabled, then we should have that in local testing and post-commit too. EWS-only failures are the worst.

I don't know if NSZombieEnabled comes for free though.
Comment 2 David Kilzer (:ddkilzer) 2020-05-04 10:24:14 PDT
(In reply to Alexey Proskuryakov from comment #1)
> I don't think that EWS should be getting more different from the normal way
> of running tests. If tests run well with NSZombieEnabled, then we should
> have that in local testing and post-commit too. EWS-only failures are the
> worst.

EWS finding failures early is also the best.  Lots of ways to implement this:  Enable NSZombieEnabled=YES everywhere; add separate bots just to run in NSZombieEnabled=YES mode; make NSZombieEnabled=YES part of a "catch flakey tests before they're committed" effort; etc.

I probably made the title too specific.  Tried to update the title.

> I don't know if NSZombieEnabled comes for free though.

It's not 100% free, but it may be worth the cost of catching bugs before they're committed.  Might be hard to gather metrics, though.

Part of the reason I filed this was simply to track issues that might have been caught sooner had this been implemented (to provide a case for it later), like Bug 211386.