<?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>212214</bug_id>
          
          <creation_ts>2020-05-21 08:52:16 -0700</creation_ts>
          <short_desc>Serious canvas memory leak in Safari (both iOS / macOS)</short_desc>
          <delta_ts>2021-10-18 09:08:11 -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>Canvas</component>
          <version>Safari 13</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203990</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=134355</see_also>
          <bug_file_loc>https://gist.github.com/kulikala/039d7c94f46ee860f1f9e2714104cb90</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>kaz.namba</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>davy.de.durpel</cc>
    
    <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1654935</commentid>
    <comment_count>0</comment_count>
      <attachid>399958</attachid>
    <who name="">kaz.namba</who>
    <bug_when>2020-05-21 08:52:16 -0700</bug_when>
    <thetext>Created attachment 399958
An HTML code to reproduce

Safari crashes because of memory leak.
This issue occurs both on iOS and macOS.

I attached the reproduction code, also put it on the Gist.
https://gist.github.com/kulikala/039d7c94f46ee860f1f9e2714104cb90

Trigger condition is same with the following issue:
https://bugs.webkit.org/show_bug.cgi?id=134355

&gt; ctx.drawImage(anotherCanvas, clipX, clipY, clipW, clipH, x, y, w, h) --&gt; memory leak.
&gt; ctx.drawImage(anotherCanvas, x, y, w, h) --&gt; no memory leak.

There&apos;s a slight difference with my reproduction code: the image source is switched to HTMLVideoElement.

I confirmed this memory leak via Web Inspector&apos;s Timelines tab.
Page category of memory instrument keeps growing and reaches 3GB (my MacBook Pro has 16GB memory).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654996</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-05-21 10:53:46 -0700</bug_when>
    <thetext>Safari kills the page for using too much memory in a few seconds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1654997</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-21 10:53:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/63500557&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655054</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-21 13:31:15 -0700</bug_when>
    <thetext>What macOS/iOS versions are you reproducing this on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655060</commentid>
    <comment_count>4</comment_count>
    <who name="">kaz.namba</who>
    <bug_when>2020-05-21 13:46:12 -0700</bug_when>
    <thetext>I confirmed the reproduction on

macOS: Catalina v10.15.4
  Safari: v13.1 (15609.1.20.111.8)

iOS: v13.5</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>399958</attachid>
            <date>2020-05-21 08:52:16 -0700</date>
            <delta_ts>2020-05-21 13:30:37 -0700</delta_ts>
            <desc>An HTML code to reproduce</desc>
            <filename>file_212214.txt</filename>
            <type>text/html</type>
            <size>1986</size>
            <attacher>kaz.namba</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCiAgPGhlYWQ+DQogICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiPg0KICAgIDx0aXRsZT5TYWZhcmkgTWVtb3J5IExlYWs8L3RpdGxlPg0KICA8L2hlYWQ+DQog
IDxib2R5Pg0KICAgIDxkaXYgaWQ9IndyYXBwZXIiPg0KICAgICAgPGRpdiBpZD0iY29udHJvbHMi
Pg0KICAgICAgICA8YnV0dG9uIGlkPSJwbGF5Ij5QbGF5PC9idXR0b24+DQogICAgICAgIDxidXR0
b24gaWQ9InBhdXNlIj5QYXVzZTwvYnV0dG9uPg0KICAgICAgICA8bGFiZWwgZm9yPSJ0b2dnbGUi
Pg0KICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgaWQ9InRvZ2dsZSI+DQogICAgICAg
ICAgSW52b2tlIG1lbW9yeSBsZWFrDQogICAgICAgIDwvbGFiZWw+DQogICAgICA8L2Rpdj4NCiAg
ICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+DQogICAgICAgIDxjYW52YXMgaWQ9ImNhbnZhcyI+PC9j
YW52YXM+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICAgIDxzY3JpcHQ+DQogICAgICBj
b25zdCB1cmwgPSAnaHR0cHM6Ly93d3cucGV4ZWxzLmNvbS92aWRlby8yMDk4OTg5L2Rvd25sb2Fk
Lz9zZWFyY2hfcXVlcnk9JnRyYWNraW5nX2lkPWFhY2U3MmJpYzJzJnc9Mzg0MCZoPTIxNjAnDQoN
CiAgICAgIGNvbnN0IHZpZGVvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKQ0KDQog
ICAgICB2aWRlby5zZXRBdHRyaWJ1dGUoJ3BsYXlzaW5saW5lJywgJycpDQogICAgICB2aWRlby5z
ZXRBdHRyaWJ1dGUoJ3ByZWxvYWQnLCAnYXV0bycpDQogICAgICB2aWRlby5zcmMgPSB1cmwNCg0K
ICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpDQog
ICAgICBjb25zdCB0b2dnbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9nZ2xlJykNCiAg
ICAgIGxldCByZXF1ZXN0SWQgPSAwDQoNCiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdw
bGF5JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoKSA9PiB7DQogICAgICAgIGF3
YWl0IHZpZGVvLnBsYXkoKQ0KDQogICAgICAgIGNhbnZhcy53aWR0aCA9IHZpZGVvLnZpZGVvV2lk
dGggLyA4DQogICAgICAgIGNhbnZhcy5oZWlnaHQgPSB2aWRlby52aWRlb0hlaWdodCAvIDgNCg0K
ICAgICAgICBkcmF3SW1hZ2UoKQ0KICAgICAgfSkNCg0KICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3BhdXNlJykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7DQogICAgICAg
IHZpZGVvLnBhdXNlKCkNCg0KICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZShyZXF1ZXN0SWQp
DQogICAgICB9KQ0KDQogICAgICBmdW5jdGlvbiBkcmF3SW1hZ2UgKCkgew0KICAgICAgICBjb25z
dCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKQ0KDQogICAgICAgIGlmICh0b2dnbGUuY2hl
Y2tlZCkgew0KICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoDQogICAgICAgICAgICB2aWRlbywNCiAg
ICAgICAgICAgIHZpZGVvLnZpZGVvV2lkdGggLyA0LCB2aWRlby52aWRlb0hlaWdodCAvIDQsDQog
ICAgICAgICAgICB2aWRlby52aWRlb1dpZHRoIC8gMiwgdmlkZW8udmlkZW9IZWlnaHQgLyAyLA0K
ICAgICAgICAgICAgMCwgMCwNCiAgICAgICAgICAgIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdo
dA0KICAgICAgICAgICkNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICBjdHguZHJhd0ltYWdl
KA0KICAgICAgICAgICAgdmlkZW8sDQogICAgICAgICAgICAwLCAwLA0KICAgICAgICAgICAgdmlk
ZW8udmlkZW9XaWR0aCwgdmlkZW8udmlkZW9IZWlnaHQsDQogICAgICAgICAgICAwLCAwLA0KICAg
ICAgICAgICAgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0DQogICAgICAgICAgKQ0KICAgICAg
ICB9DQoNCiAgICAgICAgcmVxdWVzdElkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGRyYXdJbWFn
ZSkNCiAgICAgIH0NCiAgICA8L3NjcmlwdD4NCiAgPC9ib2R5Pg0KPC9odG1sPg0K
</data>

          </attachment>
      

    </bug>

</bugzilla>