<?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>268962</bug_id>
          
          <creation_ts>2024-02-07 20:36:54 -0800</creation_ts>
          <short_desc>[Perf Dashboard] AsyncTaskWorker is buggy</short_desc>
          <delta_ts>2024-02-07 20:57:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Safari Technology Preview</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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yijia_huang</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2011623</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2024-02-07 20:36:54 -0800</bug_when>
    <thetext>AsyncTaskWorker has two bugs:
1. waitForAvailableWorker is pushing callback while it finds an available worker. This does not make sense since we will invoke this callback twice.
2. This setTimeout code is assuming that, after the wait, there is still a callback in the queue. But this is not guaranteed since worker will continuously consume tasks from queue. So if the other workers are finishing their task, and consume next one, and if it gets exhausted when executing this setTimeout&apos;s task, then we hit an error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2011624</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2024-02-07 20:39:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/121879117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2011625</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2024-02-07 20:41:29 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/24053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2011628</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-02-07 20:57:38 -0800</bug_when>
    <thetext>Committed 274265@main (dde5760b8dbf): &lt;https://commits.webkit.org/274265@main&gt;

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

    </bug>

</bugzilla>