<?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>47197</bug_id>
          
          <creation_ts>2010-10-05 11:05:35 -0700</creation_ts>
          <short_desc>Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash</short_desc>
          <delta_ts>2010-12-20 22:52:53 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></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="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>senorblanco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>289748</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-05 11:05:35 -0700</bug_when>
    <thetext>Fix ownership of GraphicsContext3D in SharedGraphicsContext3D to prevent early deallocation and crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289751</commentid>
    <comment_count>1</comment_count>
      <attachid>69812</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-05 11:07:32 -0700</bug_when>
    <thetext>Created attachment 69812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289754</commentid>
    <comment_count>2</comment_count>
      <attachid>69812</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-05 11:10:22 -0700</bug_when>
    <thetext>Comment on attachment 69812
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69812&amp;action=review

&gt; WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp:59
&gt; -    OwnPtr&lt;GraphicsContext3D&gt; context = GraphicsContext3D::create(attr, hostWindow);
&gt; +    PassOwnPtr&lt;GraphicsContext3D&gt; context = GraphicsContext3D::create(attr, hostWindow);
&gt;      if (!context)
&gt;          return 0;
&gt; -    return adoptRef(new SharedGraphicsContext3D(context.get()));
&gt; +    return adoptRef(new SharedGraphicsContext3D(context));
&gt;  }

It would be better to keep the context variable an OwnPtr, and pass context.release() to SharedGraphicsContext3D.

Is it possible to make a test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289760</commentid>
    <comment_count>3</comment_count>
      <attachid>69814</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2010-10-05 11:15:27 -0700</bug_when>
    <thetext>Created attachment 69814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>289762</commentid>
    <comment_count>4</comment_count>
      <attachid>69814</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-05 11:17:01 -0700</bug_when>
    <thetext>Comment on attachment 69814
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=69814&amp;action=review

r=me if you remove the FeatureDefines change.

&gt; WebCore/ChangeLog:10
&gt; +        This is work in progress and the crash only happens with ACCELERATED_2D_CANVAS turned on (which is off
&gt; +        by default). So no test cases yet.
&gt; +

It would be better to say that many existing test cases will crash if ACCELERATED_2D_CANVAS is turned on. (If that were not the case, you could conceivably write a test case that would crash once it was turned on. But since we already have such test cases, you&apos;re off the hook!)

&gt; WebCore/Configurations/FeatureDefines.xcconfig:39
&gt; -ENABLE_ACCELERATED_2D_CANVAS_macosx_1060 = ;
&gt; -ENABLE_ACCELERATED_2D_CANVAS_macosx_1070 = ;
&gt; +ENABLE_ACCELERATED_2D_CANVAS_macosx_1060 = ENABLE_ACCELERATED_2D_CANVAS;
&gt; +ENABLE_ACCELERATED_2D_CANVAS_macosx_1070 = ENABLE_ACCELERATED_2D_CANVAS;

Whoopsie!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321830</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 01:54:39 -0800</bug_when>
    <thetext>Was this landed and just not closed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324831</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-20 22:52:53 -0800</bug_when>
    <thetext>r69127.  Please close bugs after landing or use a tool which does it for you (webkit-patch land for example).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69812</attachid>
            <date>2010-10-05 11:07:32 -0700</date>
            <delta_ts>2010-10-05 11:15:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47197-20101005110731.patch</filename>
            <type>text/plain</type>
            <size>1540</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTAtMTAtMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBvd25lcnNoaXAgb2YgR3JhcGhpY3NDb250ZXh0M0QgaW4gU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0QgdG8gcHJldmVudCBlYXJseSBkZWFsbG9jYXRpb24gYW5kIGNyYXNoCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE5NworCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYXJlZEdyYXBoaWNzQ29udGV4dDNELmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUpOgorCiAyMDEwLTEwLTA1
ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
S2VudCBUYW11cmEuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFyZWRH
cmFwaGljc0NvbnRleHQzRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuY3BwCShyZXZpc2lvbiA2OTA1MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYXJlZEdyYXBoaWNzQ29udGV4dDNELmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTIsMTAgKzUyLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IFBhc3NSZWZQdHI8U2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q+IFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEOjpjcmVhdGUoSG9zdFdpbmRvdyogaG9zdFdpbmRvdykKIHsKICAgICBHcmFwaGljc0NvbnRl
eHQzRDo6QXR0cmlidXRlcyBhdHRyOwotICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29u
dGV4dCA9IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoYXR0ciwgaG9zdFdpbmRvdyk7CisgICAg
UGFzc093blB0cjxHcmFwaGljc0NvbnRleHQzRD4gY29udGV4dCA9IEdyYXBoaWNzQ29udGV4dDNE
OjpjcmVhdGUoYXR0ciwgaG9zdFdpbmRvdyk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICBy
ZXR1cm4gMDsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNE
KGNvbnRleHQuZ2V0KCkpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZEdyYXBoaWNz
Q29udGV4dDNEKGNvbnRleHQpKTsKIH0KIAogU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q6OlNoYXJl
ZEdyYXBoaWNzQ29udGV4dDNEKFBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69814</attachid>
            <date>2010-10-05 11:15:27 -0700</date>
            <delta_ts>2010-10-05 11:17:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47197-20101005111526.patch</filename>
            <type>text/plain</type>
            <size>2393</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2OTEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMTAtMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBvd25lcnNoaXAgb2YgR3JhcGhpY3NDb250ZXh0M0QgaW4gU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0QgdG8gcHJldmVudCBlYXJseSBkZWFsbG9jYXRpb24gYW5kIGNyYXNoCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE5NworCisgICAgICAgIFRoaXMg
aXMgd29yayBpbiBwcm9ncmVzcyBhbmQgdGhlIGNyYXNoIG9ubHkgaGFwcGVucyB3aXRoIEFDQ0VM
RVJBVEVEXzJEX0NBTlZBUyB0dXJuZWQgb24gKHdoaWNoIGlzIG9mZgorICAgICAgICBieSBkZWZh
dWx0KS4gU28gbm8gdGVzdCBjYXNlcyB5ZXQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hh
cmVkR3JhcGhpY3NDb250ZXh0M0Q6OmNyZWF0ZSk6CisKIDIwMTAtMTAtMDUgIFRvbnkgQ2hhbmcg
IDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4K
SW5kZXg6IFdlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwkocmV2aXNpb24gNjkwMjIpCisrKyBXZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBAIEVOQUJMRV9MSU5L
X1BSRUZFVENIID0gOwogCiBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTID0gJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTXyQoUkVBTF9QTEFURk9STV9OQU1FKSk7CiBFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTX21hY29zeCA9ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
U19tYWNvc3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwotRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBU19tYWNvc3hfMTA2MCA9IDsKLUVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVNfbWFjb3N4XzEwNzAgPSA7CitFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTX21hY29z
eF8xMDYwID0gRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUzsKK0VOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVNfbWFjb3N4XzEwNzAgPSBFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTOwog
CiBFTkFCTEVfM0RfQ0FOVkFTID0gJChFTkFCTEVfM0RfQ0FOVkFTXyQoUkVBTF9QTEFURk9STV9O
QU1FKSk7CiBFTkFCTEVfM0RfQ0FOVkFTX21hY29zeCA9ICQoRU5BQkxFXzNEX0NBTlZBU19tYWNv
c3hfJChUQVJHRVRfTUFDX09TX1hfVkVSU0lPTl9NQUpPUikpOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYXJlZEdyYXBoaWNzQ29udGV4dDNE
LmNwcAkocmV2aXNpb24gNjkwNTMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9T
aGFyZWRHcmFwaGljc0NvbnRleHQzRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcg
QEAgUGFzc1JlZlB0cjxTaGFyZWRHcmFwaGljc0NvbnRleHQzRD4gU2hhcgogICAgIE93blB0cjxH
cmFwaGljc0NvbnRleHQzRD4gY29udGV4dCA9IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUoYXR0
ciwgaG9zdFdpbmRvdyk7CiAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gMDsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKGNvbnRleHQuZ2V0
KCkpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKGNv
bnRleHQucmVsZWFzZSgpKSk7CiB9CiAKIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOjpTaGFyZWRH
cmFwaGljc0NvbnRleHQzRChQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KQo=
</data>
<flag name="review"
          id="59554"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>