Bug 180379 - Exclude some more leak callstacks
Summary: Exclude some more leak callstacks
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Joseph Pecoraro
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-12-04 14:14 PST by Joseph Pecoraro
Modified: 2017-12-04 15:46 PST (History)
7 users (show)

See Also:


Attachments
[PATCH] Proposed Fix (3.33 KB, patch)
2017-12-04 14:17 PST, Joseph Pecoraro
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Pecoraro 2017-12-04 14:14:18 PST
Exclude some more leak callstacks

And fix a typo in related code.
Comment 1 Joseph Pecoraro 2017-12-04 14:17:52 PST
Created attachment 328390 [details]
[PATCH] Proposed Fix

I spent 30 minutes trying to figure out how to run:

    Tools/Scripts/webkitpy/port/leakdetector_unittest.py

without success. However it looks like the perl under the hood turns this string into a Regex so I can't just do '-[NSSpellChecker init]'.
Comment 2 EWS Watchlist 2017-12-04 14:19:08 PST
Attachment 328390 [details] did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/port/leakdetector.py:51:  [LeakDetector._types_to_exclude_from_leaks] An attribute affected in webkitpy.port.leakdetector_unittest line 52 hide this method  [pylint/E0202] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Alexey Proskuryakov 2017-12-04 14:25:48 PST
Comment on attachment 328390 [details]
[PATCH] Proposed Fix

View in context: https://bugs.webkit.org/attachment.cgi?id=328390&action=review

> I spent 30 minutes trying to figure out how to run:
>
>    Tools/Scripts/webkitpy/port/leakdetector_unittest.py

test-webkitpy is the script to run. It passed in EWS.

Please update the radars saying that you added these exclusions!

> Tools/Scripts/webkitpy/port/leakdetector.py:60
> +            'NSSpellChecker init', # <rdar://problem/35434615>

This seems acceptable for now, but really this silences all leaks in NSSpellChecker initialisation, which may be too much.

FWIW, see <http://trac.webkit.org/browser/webkit/trunk/Tools/Scripts/webkitpy/port/leakdetector.py?rev=225239> for how to make these exclusions conditional based on macOS version.
Comment 4 Joseph Pecoraro 2017-12-04 14:46:22 PST
> > I spent 30 minutes trying to figure out how to run:
> >
> >    Tools/Scripts/webkitpy/port/leakdetector_unittest.py
> 
> test-webkitpy is the script to run. It passed in EWS.

test-webkitpy never completes for me when run locally. It seems to hang with 7 tests left, forever (or at least more then a few minutes which is when I killed it) I also can't figure out how to run just a subset of tests with it.
Comment 5 WebKit Commit Bot 2017-12-04 14:51:17 PST
Comment on attachment 328390 [details]
[PATCH] Proposed Fix

Clearing flags on attachment: 328390

Committed r225496: <https://trac.webkit.org/changeset/225496>
Comment 6 WebKit Commit Bot 2017-12-04 14:51:18 PST
All reviewed patches have been landed.  Closing bug.
Comment 7 Radar WebKit Bug Importer 2017-12-04 14:52:20 PST
<rdar://problem/35840167>
Comment 8 Alexey Proskuryakov 2017-12-04 15:15:15 PST
> test-webkitpy never completes for me when run locally. It seems to hang with 7 tests left, forever (or at least more then a few minutes which is when I killed it)

That would be a bad bug. Please run with --verbose, and file a bug about this.
Comment 9 Joseph Pecoraro 2017-12-04 15:46:07 PST
> That would be a bad bug. Please run with --verbose, and file a bug about this.

I worked this out with Safari engineers on IRC. It has to deal with my PYTHONPATH including some things that changes test-webkitpy behavior. I have a workaround.

--

For the purposes of this bug, what I really wanted was this:

    $ Tools/Scripts/test-webkitpy webkitpy.port.leakdetector_unittest

Where the magic identifier is the path to leakdetector_unittest.py with '/' characters replaced with '.'s.