<?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>25759</bug_id>
          
          <creation_ts>2009-05-13 14:06:08 -0700</creation_ts>
          <short_desc>[Invalid memory write] HTMLCanvasElement object accessed after deletion</short_desc>
          <delta_ts>2009-05-13 18:47:29 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>LayoutTests/fast/canvas/canvas-as-image.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rahul Kuchhal">kuchhal</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>121093</commentid>
    <comment_count>0</comment_count>
    <who name="Rahul Kuchhal">kuchhal</who>
    <bug_when>2009-05-13 14:06:08 -0700</bug_when>
    <thetext>Webkit r43650

Debug Webkit using Safari and open LayoutTests/fast/canvas/canvas-as-image.html in Safari. When the page gets unloaded:

Document.cpp:420 - m_cssCanvasElements.clear();
ends up destroying canvas element

Later when Document gets deleted, CSSCanvasValue::~CSSCanvasValue() gets called which tries to call HTMLCanvasElement::setObserver() on an object that has already been deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121196</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-13 18:34:07 -0700</bug_when>
    <thetext>Scribbled and guarded I&apos;m not able to produce a crash here.

MallocScribble=1 run-webkit-tests --guard LayoutTests/fast/canvas/canvas-as-image.html

But I was able to see this happening in the debugger.

I have a patch to fix this which I&apos;ll post shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121197</commentid>
    <comment_count>2</comment_count>
      <attachid>30311</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-13 18:36:14 -0700</bug_when>
    <thetext>Created attachment 30311
Fix invalid memory write seen in HTMLCanvasElement by Valgrind

 5 files changed, 31 insertions(+), 4 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121199</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-13 18:47:29 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/css/CSSCanvasValue.cpp
	M	WebCore/css/CSSCanvasValue.h
	M	WebCore/html/HTMLCanvasElement.cpp
	M	WebCore/html/HTMLCanvasElement.h
Committed r43678
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30311</attachid>
            <date>2009-05-13 18:36:14 -0700</date>
            <delta_ts>2009-05-13 18:39:33 -0700</delta_ts>
            <desc>Fix invalid memory write seen in HTMLCanvasElement by Valgrind</desc>
            <filename>Fix-invalid-memory-write-seen-in-HTMLCanvasElement-by-Valgrind.patch</filename>
            <type>text/plain</type>
            <size>3216</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">NjNiM2FhODI1MmI4NTYzNjI2MmFhYWFmNzgwYWYxMjFiOTQ3NDRhMQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDI1MTFlLi5mYWRmYTdh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDA5LTA1LTEzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXgg
aW52YWxpZCBtZW1vcnkgd3JpdGUgc2VlbiBpbiBIVE1MQ2FudmFzRWxlbWVudCBieSBWYWxncmlu
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU3NTkK
KworICAgICAgICBJIGNhbid0IHRoaW5rIG9mIGFueSB3YXkgdG8gY2F0Y2ggdGhpcyB3aXRoIGEg
bGF5b3V0IHRlc3QsIHNvIG5vIHRlc3QuCisKKyAgICAgICAgKiBjc3MvQ1NTQ2FudmFzVmFsdWUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FudmFzVmFsdWU6OmNhbnZhc0Rlc3Ryb3llZCk6
CisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmg6CisgICAgICAgICogaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6fkhU
TUxDYW52YXNFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6CisK
IDIwMDktMDUtMTMgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBCdWcgMjU3NTU6IEltcGxlbWVudCBBUklBIGdyaWQgcm9sZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUu
Y3BwCmluZGV4IDRmZDUyMTAuLmNmOGNiNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKQEAgLTU5
LDYgKzU5LDEzIEBAIHZvaWQgQ1NTQ2FudmFzVmFsdWU6OmNhbnZhc1Jlc2l6ZWQoSFRNTENhbnZh
c0VsZW1lbnQqKQogICAgICAgICBjdXJyLT5maXJzdC0+aW1hZ2VDaGFuZ2VkKHN0YXRpY19jYXN0
PFdyYXBwZWRJbWFnZVB0cj4odGhpcykpOwogfQogCit2b2lkIENTU0NhbnZhc1ZhbHVlOjpjYW52
YXNEZXN0cm95ZWQoSFRNTENhbnZhc0VsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGVs
ZW1lbnQgPT0gbV9lbGVtZW50KTsKKyAgICBpZiAoZWxlbWVudCA9PSBtX2VsZW1lbnQpCisgICAg
ICAgIG1fZWxlbWVudCA9IDA7Cit9CisKIEludFNpemUgQ1NTQ2FudmFzVmFsdWU6OmZpeGVkU2l6
ZShjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIGlmIChIVE1MQ2FudmFzRWxl
bWVudCogZWx0ID0gZWxlbWVudChyZW5kZXJlci0+ZG9jdW1lbnQoKSkpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUu
aAppbmRleCBhNjk4ZjMxLi40Y2Q0MjgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NDYW52
YXNWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmgKQEAgLTUyLDggKzUy
LDkgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNhbnZhc0No
YW5nZWQoSFRNTENhbnZhc0VsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEZsb2F0UmVjdCYgY2hhbmdl
ZFJlY3QpOwotICAgIHZpcnR1YWwgdm9pZCBjYW52YXNSZXNpemVkKEhUTUxDYW52YXNFbGVtZW50
KiBlbGVtZW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxl
bWVudCosIGNvbnN0IEZsb2F0UmVjdCYgY2hhbmdlZFJlY3QpOworICAgIHZpcnR1YWwgdm9pZCBj
YW52YXNSZXNpemVkKEhUTUxDYW52YXNFbGVtZW50Kik7CisgICAgdmlydHVhbCB2b2lkIGNhbnZh
c0Rlc3Ryb3llZChIVE1MQ2FudmFzRWxlbWVudCopOwogCiAgICAgSFRNTENhbnZhc0VsZW1lbnQq
IGVsZW1lbnQoRG9jdW1lbnQqKTsKICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRN
TENhbnZhc0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcApp
bmRleCBmOTRkY2QxLi5hZTgwZDY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKQEAg
LTcyLDYgKzcyLDggQEAgSFRNTENhbnZhc0VsZW1lbnQ6OkhUTUxDYW52YXNFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MKIAogSFRNTENhbnZhc0VsZW1l
bnQ6On5IVE1MQ2FudmFzRWxlbWVudCgpCiB7CisgICAgaWYgKG1fb2JzZXJ2ZXIpCisgICAgICAg
IG1fb2JzZXJ2ZXItPmNhbnZhc0Rlc3Ryb3llZCh0aGlzKTsKIH0KIAogI2lmIEVOQUJMRShEQVNI
Qk9BUkRfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVu
dC5oIGIvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKaW5kZXggMTJiM2NiMi4uYmJh
MWYyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKKysrIGIv
V2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKQEAgLTQ5LDggKzQ5LDkgQEAgY2xhc3Mg
Q2FudmFzT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNhbnZhc09ic2VydmVyKCkg
e307CiAKLSAgICB2aXJ0dWFsIHZvaWQgY2FudmFzQ2hhbmdlZChIVE1MQ2FudmFzRWxlbWVudCog
ZWxlbWVudCwgY29uc3QgRmxvYXRSZWN0JiBjaGFuZ2VkUmVjdCkgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBjYW52YXNSZXNpemVkKEhUTUxDYW52YXNFbGVtZW50KiBlbGVtZW50KSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIGNhbnZhc0NoYW5nZWQoSFRNTENhbnZhc0VsZW1lbnQqLCBjb25zdCBGbG9h
dFJlY3QmIGNoYW5nZWRSZWN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbnZhc1Jlc2l6ZWQo
SFRNTENhbnZhc0VsZW1lbnQqKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNhbnZhc0Rlc3Ryb3ll
ZChIVE1MQ2FudmFzRWxlbWVudCopID0gMDsKIH07CiAKIGNsYXNzIEhUTUxDYW52YXNFbGVtZW50
IDogcHVibGljIEhUTUxFbGVtZW50IHsK
</data>
<flag name="review"
          id="15256"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>