Bug 186873

Summary: JSPerformanceObserverCallback creates a GC strongly-referenced Function that is never cleaned up
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: BindingsAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, esprehn+autocc, ews-watchlist, ggaren, joepeck, keith_miller, kondapallykalyan, mark.lam, realdawei, saam, sam, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=215158
Bug Depends on: 186938    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch none

Description Chris Dumez 2018-06-20 19:53:25 PDT
JSPerformanceObserverCallback creates a GC strongly-referenced Function that is never cleaned up.
Comment 1 Chris Dumez 2018-06-20 19:53:34 PDT
<rdar://problem/41271574>
Comment 2 Chris Dumez 2018-06-20 20:04:05 PDT
Created attachment 343205 [details]
Patch
Comment 3 Simon Fraser (smfr) 2018-06-21 08:42:01 PDT
Comment on attachment 343205 [details]
Patch

Nice but can we also add a test that the Document is not permanently leaked?
Comment 4 Chris Dumez 2018-06-21 08:50:01 PDT
(In reply to Simon Fraser (smfr) from comment #3)
> Comment on attachment 343205 [details]
> Patch
> 
> Nice but can we also add a test that the Document is not permanently leaked?

Sure, how do I do that?
Comment 5 Chris Dumez 2018-06-21 10:24:23 PDT
(In reply to Chris Dumez from comment #4)
> (In reply to Simon Fraser (smfr) from comment #3)
> > Comment on attachment 343205 [details]
> > Patch
> > 
> > Nice but can we also add a test that the Document is not permanently leaked?
> 
> Sure, how do I do that?

Just found internals.numberOfLiveDocuments(), will try this.
Comment 6 Chris Dumez 2018-06-21 10:52:56 PDT
Created attachment 343247 [details]
Patch
Comment 7 WebKit Commit Bot 2018-06-21 12:04:09 PDT
Comment on attachment 343247 [details]
Patch

Clearing flags on attachment: 343247

Committed r233053: <https://trac.webkit.org/changeset/233053>
Comment 8 WebKit Commit Bot 2018-06-21 12:04:11 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Dawei Fenton (:realdawei) 2018-06-22 10:07:05 PDT
Looks like test performance-api/performance-observer-no-document-leak.html is timing out on all platforms:

Flakiness Dashboard:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=performance-api%2Fperformance-observer-no-document-leak.html

Sample results:
https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20WK1%20(Tests)/builds/6137/steps/layout-test/logs/stdio

Regressions: Unexpected timeouts (1)
  performance-api/performance-observer-no-document-leak.html [ Timeout ]