<?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>84805</bug_id>
          
          <creation_ts>2012-04-24 17:02:16 -0700</creation_ts>
          <short_desc>[chromium] Hold video provider lock from willDraw to didDraw</short_desc>
          <delta_ts>2012-04-25 19:05:59 -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>WebCore Misc.</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>84807</dependson>
    
    <dependson>84812</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>enne</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>609272</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-24 17:02:16 -0700</bug_when>
    <thetext>It&apos;s possible for the video provider and frame to go away after willDraw, but before the frame gets uploaded into textures.  Since the frame is a raw pointer (that the provider is responsible for), this could cause a bad memory access.

Unfortunately, this depends on some other fixes to make sure that we don&apos;t ever call willDraw a second time without calling didDraw (which will deadlock on aquiring the exact same lock).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>609349</commentid>
    <comment_count>1</comment_count>
      <attachid>138712</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-24 18:21:31 -0700</bug_when>
    <thetext>Created attachment 138712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610115</commentid>
    <comment_count>2</comment_count>
      <attachid>138712</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-25 15:53:02 -0700</bug_when>
    <thetext>Comment on attachment 138712
Patch

R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610300</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-25 19:05:59 -0700</bug_when>
    <thetext>Committed r115281: &lt;http://trac.webkit.org/changeset/115281&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138712</attachid>
            <date>2012-04-24 18:21:31 -0700</date>
            <delta_ts>2012-04-25 15:53:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84805-20120424182130.patch</filename>
            <type>text/plain</type>
            <size>4103</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1MTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNkOTA1ZGU0ZjNiMzE2
YmNhZWEyMWQwNTVmNjNmNThiZjViYzBhZC4uM2ZhYWFjNTJlMGU3Mjg4MzQ3YjZlY2QzOGYxMWU4
YmQ0ZDEyZDAxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA0LTI0ICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBIb2xk
IHZpZGVvIHByb3ZpZGVyIGxvY2sgZnJvbSB3aWxsRHJhdyB0byBkaWREcmF3CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDgwNQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Zp
ZGVvTGF5ZXJJbXBsOjp3aWxsRHJhdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDVmlkZW9MYXllckltcGw6OndpbGxEcmF3SW50ZXJuYWwpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NWaWRlb0xheWVySW1wbDo6YXBwZW5kUXVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NWaWRlb0xheWVySW1wbDo6ZGlkRHJhdyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NWaWRlb0xheWVySW1wbC5oOgorCiAyMDEyLTA0LTI0ICBDYWlvIE1hcmNl
bG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAg
ICAgICAgRml4IHdyb25nIEFTU0VSVCgpIGluIGZpbmRBdHRyaWJ1dGVJblZlY3RvcigpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Zp
ZGVvTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVmlkZW9MYXllckltcGwuY3BwCmluZGV4IDgzZDI2MmYxMTA5NzI3YTYyZDAxODlj
MWIzOWMwMzUxNjJjYzM2YjcuLjlhNzZmYTBjYzY1M2MxZDlhYjFhMTJiNmEwZDBhYTYwN2UzNjg4
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVmlkZW9MYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDVmlkZW9MYXllckltcGwuY3BwCkBAIC0xMjIsNyArMTIyLDI0
IEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6d2lsbERyYXcoTGF5ZXJSZW5kZXJlckNocm9taXVt
KiBsYXllclJlbmRlcmVyKQogewogICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7
CiAKLSAgICBNdXRleExvY2tlciBsb2NrZXIobV9wcm92aWRlck11dGV4KTsKKyAgICAvLyBFeHBs
aWNpdGx5IGxvY2sgYW5kIHVubG9jayB0aGUgcHJvdmlkZXIgbXV0ZXggc28gaXQgY2FuIGJlIGhl
bGQgZnJvbQorICAgIC8vIHdpbGxEcmF3IHRvIGRpZERyYXcuIFNpbmNlIHRoZSBjb21wb3NpdG9y
IHRocmVhZCBpcyBpbiB0aGUgbWlkZGxlIG9mCisgICAgLy8gZHJhd2luZywgdGhlIGxheWVyIHdp
bGwgbm90IGJlIGRlc3Ryb3llZCBiZWZvcmUgZGlkRHJhdyBpcyBjYWxsZWQuCisgICAgLy8gVGhl
cmVmb3JlLCB0aGUgb25seSB0aGluZyB0aGF0IHdpbGwgcHJldmVudCB0aGlzIGxvY2sgZnJvbSBi
ZWluZyByZWxlYXNlZAorICAgIC8vIGlzIHRoZSBHUFUgcHJvY2VzcyBsb2NraW5nIGl0LiBBcyB0
aGUgR1BVIHByb2Nlc3MgY2FuJ3QgY2F1c2UgdGhlCisgICAgLy8gZGVzdHJ1Y3Rpb24gb2YgdGhl
IHByb3ZpZGVyIChjYWxsaW5nIHN0b3BVc2luZ1Byb3ZpZGVyKSwgaG9sZGluZyB0aGlzCisgICAg
Ly8gbG9jayBzaG91bGQgbm90IGNhdXNlIGEgZGVhZGxvY2suCisgICAgbV9wcm92aWRlck11dGV4
LmxvY2soKTsKKworICAgIHdpbGxEcmF3SW50ZXJuYWwobGF5ZXJSZW5kZXJlcik7CisKKyAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgIG1fcHJvdmlkZXJNdXRleC51bmxvY2soKTsKK30KKwordm9p
ZCBDQ1ZpZGVvTGF5ZXJJbXBsOjp3aWxsRHJhd0ludGVybmFsKExheWVyUmVuZGVyZXJDaHJvbWl1
bSogbGF5ZXJSZW5kZXJlcikKK3sKKyAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkp
OwogCiAgICAgaWYgKCFtX3Byb3ZpZGVyKSB7CiAgICAgICAgIG1fZnJhbWUgPSAwOwpAQCAtMTUw
LDYgKzE2Nyw4IEBAIHZvaWQgQ0NWaWRlb0xheWVySW1wbDo6d2lsbERyYXcoTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiBsYXllclJlbmRlcmVyKQogCiB2b2lkIENDVmlkZW9MYXllckltcGw6OmFwcGVu
ZFF1YWRzKENDUXVhZEN1bGxlciYgcXVhZExpc3QsIGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBz
aGFyZWRRdWFkU3RhdGUsIGJvb2wmKQogeworICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJl
YWQoKSk7CisKICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTY2LDE1
ICsxODUsMTUgQEAgdm9pZCBDQ1ZpZGVvTGF5ZXJJbXBsOjpkaWREcmF3KCkKIHsKICAgICBBU1NF
UlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOwogCi0gICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1f
cHJvdmlkZXJNdXRleCk7Ci0KLSAgICBpZiAoIW1fcHJvdmlkZXIgfHwgIW1fZnJhbWUpCisgICAg
aWYgKCFtX2ZyYW1lKQogICAgICAgICByZXR1cm47CiAKICAgICBmb3IgKHVuc2lnbmVkIHBsYW5l
ID0gMDsgcGxhbmUgPCBtX2ZyYW1lLT5wbGFuZXMoKTsgKytwbGFuZSkKICAgICAgICAgbV90ZXh0
dXJlc1twbGFuZV0ubV90ZXh0dXJlLT51bnJlc2VydmUoKTsKICAgICBtX3Byb3ZpZGVyLT5wdXRD
dXJyZW50RnJhbWUobV9mcmFtZSk7CiAgICAgbV9mcmFtZSA9IDA7CisKKyAgICBtX3Byb3ZpZGVy
TXV0ZXgudW5sb2NrKCk7CiB9CiAKIHN0YXRpYyBpbnQgdmlkZW9GcmFtZURpbWVuc2lvbihpbnQg
b3JpZ2luYWxEaW1lbnNpb24sIHVuc2lnbmVkIHBsYW5lLCBpbnQgZm9ybWF0KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRlb0xh
eWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NWaWRlb0xheWVySW1wbC5oCmluZGV4IDlhOTkyODVkZGRkMzUyMGNkMjMwOWEwMDRmMzFmYzc4
ZWZmYzU5ZjguLjBhZDI2M2ZmZDM5N2NiNGE5ZTg4NWJkNDc4MjIyZDZmY2RhODQxYTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVmlk
ZW9MYXllckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ1ZpZGVvTGF5ZXJJbXBsLmgKQEAgLTkwLDkgKzkwLDExIEBAIHByaXZhdGU6CiAg
ICAgc3RhdGljIEludFNpemUgY29tcHV0ZVZpc2libGVTaXplKGNvbnN0IFdlYktpdDo6V2ViVmlk
ZW9GcmFtZSYsIHVuc2lnbmVkIHBsYW5lKTsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGxheWVy
VHlwZUFzU3RyaW5nKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIlZpZGVvTGF5ZXIiOyB9CiAK
KyAgICB2b2lkIHdpbGxEcmF3SW50ZXJuYWwoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAgICAg
Ym9vbCByZXNlcnZlVGV4dHVyZXMoY29uc3QgV2ViS2l0OjpXZWJWaWRlb0ZyYW1lJiwgR0MzRGVu
dW0gZm9ybWF0LCBMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKIAotICAgIE11dGV4IG1fcHJvdmlk
ZXJNdXRleDsgLy8gR3VhcmRzIG1fcHJvdmlkZXIgYmVsb3cuCisgICAgLy8gR3VhcmRzIHRoZSBk
ZXN0cnVjdGlvbiBvZiBtX3Byb3ZpZGVyIGFuZCB0aGUgZnJhbWUgdGhhdCBpdCBwcm92aWRlcwor
ICAgIE11dGV4IG1fcHJvdmlkZXJNdXRleDsKICAgICBXZWJLaXQ6OldlYlZpZGVvRnJhbWVQcm92
aWRlciogbV9wcm92aWRlcjsKIAogICAgIFRleHR1cmUgbV90ZXh0dXJlc1tNYXhQbGFuZXNdOwo=
</data>
<flag name="review"
          id="144137"
          type_id="1"
          status="+"
          setter="jamesr"
    />
          </attachment>
      

    </bug>

</bugzilla>