<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>314593</bug_id>
          
          <creation_ts>2026-05-11 16:30:45 -0700</creation_ts>
          <short_desc>MediaUsageManagerCocoa::removeMediaSession doesn&apos;t clear UsageTrackingAgent state when being released</short_desc>
          <delta_ts>2026-05-12 20:42:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2209898</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-11 16:30:45 -0700</bug_when>
    <thetext>WebKitTestRunner streams incoming test cases and rarely shuts down or cleans up like a user might when closing a tab. The logic in the various WebKitTestRunner test reset methods is meant to handle this, but we seem to have overlooked UsageTracking, which can lead to the system shutting the test runner down for holding too many active XPC connections to that process.

We need to clean up when switching tests on some cadence so that we don&apos;t exceed the process limit and cause a spurious WKTR crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2209899</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-11 16:32:04 -0700</bug_when>
    <thetext>Example: In a recent test I ran trying to stress a single test (by iterating 500 times), WKTR was killed for exceeding 2048 kqworkloops (hit 2049). Of those ~2049 workloops, 1994 (97%) were leaked `com.apple.NSXPCConnection.m-user.com.apple.UsageTrackingAgent` connections. It seems like each test iteration likely triggers a new XPC connection to that service that never gets torn down within the long-lived WebKitTestRunner process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2209900</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-05-11 16:32:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/176832251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2209905</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2026-05-11 16:55:00 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/64713</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2210371</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-12 20:42:43 -0700</bug_when>
    <thetext>Committed 313125@main (749fddf048e0): &lt;https://commits.webkit.org/313125@main&gt;

Reviewed commits have been landed. Closing PR #64713 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>