<?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>120764</bug_id>
          
          <creation_ts>2013-09-05 03:58:05 -0700</creation_ts>
          <short_desc>[Win][WebGL] Crash on exit</short_desc>
          <delta_ts>2013-10-04 09:51:13 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://media.tojicode.com/q3bsp/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924959</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2013-09-05 03:58:05 -0700</bug_when>
    <thetext>Everytime I have visited a page with WebGL content, I get a crash on exit (NULL pointer access violation).

I believe the reason for the crash is that the libGLESv2.dll is detached from the process at exit,
and releases relevant memory, and then the atexit cleanup routine is called afterwards, accessing the released memory. 


This is the stacktrace I&apos;m getting:

 	libGLESv2.dll!0588787f() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for libGLESv2.dll]	
 	libGLESv2.dll!05893fdc() 	
	WebKit.dll!WebCore::GLContextEGL::~GLContextEGL()  Line 236	C++
 	WebKit.dll!WebCore::GLContextEGL::`scalar deleting destructor&apos;()  + 0xb bytes	C++
 	WebKit.dll!WebCore::GLContext::cleanupActiveContextsAtExit()  Line 140	C++
 	WebKit.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved)  Line 415	C
 	WebKit.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  Line 526 + 0x8 bytes	C
 	WebKit.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved)  Line 476 + 0xe bytes	C</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924960</commentid>
    <comment_count>1</comment_count>
      <attachid>210598</attachid>
    <who name="">peavo</who>
    <bug_when>2013-09-05 04:09:08 -0700</bug_when>
    <thetext>Created attachment 210598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935972</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-10-03 14:14:02 -0700</bug_when>
    <thetext>Nice catch. This can probably be surrounded by PLATFORM(X11) actually. Looks like the activeContextList is unused otherwise? That can go into the #ifdef as well, i guess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936174</commentid>
    <comment_count>3</comment_count>
      <attachid>213356</attachid>
    <who name="">peavo</who>
    <bug_when>2013-10-04 06:13:33 -0700</bug_when>
    <thetext>Created attachment 213356
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936175</commentid>
    <comment_count>4</comment_count>
    <who name="">peavo</who>
    <bug_when>2013-10-04 06:14:55 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Nice catch. This can probably be surrounded by PLATFORM(X11) actually. Looks like the activeContextList is unused otherwise? That can go into the #ifdef as well, i guess.

Thanks for looking into this, I have updated the patch accordingly :)
This should also reduce code size for other platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936210</commentid>
    <comment_count>5</comment_count>
      <attachid>213356</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-10-04 09:10:44 -0700</bug_when>
    <thetext>Comment on attachment 213356
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936215</commentid>
    <comment_count>6</comment_count>
      <attachid>213356</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 09:14:14 -0700</bug_when>
    <thetext>Comment on attachment 213356
Patch

Clearing flags on attachment: 213356

Committed r156893: &lt;http://trac.webkit.org/changeset/156893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936216</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 09:14:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936219</commentid>
    <comment_count>8</comment_count>
    <who name="">peavo</who>
    <bug_when>2013-10-04 09:51:13 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 213356 [details])
&gt; Thanks!

Thanks for reviewing ;)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>210598</attachid>
            <date>2013-09-05 04:09:08 -0700</date>
            <delta_ts>2013-10-04 06:13:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120764-20130905130855.patch</filename>
            <type>text/plain</type>
            <size>1619</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NTEwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA5LTA1ICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5dW1dlYkdMXSBD
cmFzaCBvbiBleGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjA3NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBPbiBleGl0LCBsaWJHTEVTdjIuZGxsIGlzIGRldGFjaGVkIGZyb20gdGhlIHByb2Nlc3Mg
YW5kIHJlbGV2YW50IG1lbW9yeSBpcyByZWxlYXNlZAorICAgICAgICBiZWZvcmUgdGhlIGF0ZXhp
dCBjbGVhbnVwIGhhbmRsZXIgaXMgY2FsbGVkLCBjYXVzaW5nIGEgTlVMTCBwb2ludGVyIGNyYXNo
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdMQ29udGV4dDo6YWRkQWN0aXZlQ29udGV4dCk6IERvbid0IGFkZCB0aGUgYXRl
eGl0IGNsZWFudXAgaGFuZGxlciBvbiBXaW5kb3dzLgorCiAyMDEzLTA5LTA1ICBNaWhuZWEgT3Zp
ZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgogCiAgICAgICAgIFJlcGxhY2Ugbm9kZSgpIGNhbGxz
IHdpdGggZ2VuZXJhdGluZ05vZGUoKSBmb3IgUmVuZGVyUmVnaW9uIGNvZGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcAkocmV2aXNpb24g
MTU1MDk4KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDExICsxMDksMTUgQEAgc3RhdGljIEFjdGl2ZUNvbnRl
eHRMaXN0JiBhY3RpdmVDb250ZXh0TAogCiB2b2lkIEdMQ29udGV4dDo6YWRkQWN0aXZlQ29udGV4
dChHTENvbnRleHQqIGNvbnRleHQpCiB7CisvLyBDYXVzZXMgY3Jhc2ggb24gZXhpdCBvbiBXaW5k
b3dzIGJlY2F1c2UgbGliR0xFU3YyLmRsbCBpcyBkZXRhY2hlZCwKKy8vIGFuZCByZWxldmFudCBt
ZW1vcnkgaXMgcmVsZWFzZWQgYmVmb3JlIHRoZSBhdGV4aXQgaGFuZGxlciBpcyBjYWxsZWQuCisj
aWYgIVBMQVRGT1JNKFdJTikKICAgICBzdGF0aWMgYm9vbCBhZGRlZEF0RXhpdEhhbmRsZXIgPSBm
YWxzZTsKICAgICBpZiAoIWFkZGVkQXRFeGl0SGFuZGxlcikgewogICAgICAgICBhdGV4aXQoJkdM
Q29udGV4dDo6Y2xlYW51cEFjdGl2ZUNvbnRleHRzQXRFeGl0KTsKICAgICAgICAgYWRkZWRBdEV4
aXRIYW5kbGVyID0gdHJ1ZTsKICAgICB9CisjZW5kaWYKICAgICBhY3RpdmVDb250ZXh0TGlzdCgp
LmFwcGVuZChjb250ZXh0KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213356</attachid>
            <date>2013-10-04 06:13:33 -0700</date>
            <delta_ts>2013-10-04 09:14:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120764-20131004151322.patch</filename>
            <type>text/plain</type>
            <size>2606</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1Njg4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEwLTA0ICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtXaW5dW1dlYkdMXSBD
cmFzaCBvbiBleGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjA3NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBPbiBleGl0LCBsaWJHTEVTdjIuZGxsIGlzIGRldGFjaGVkIGZyb20gdGhlIHByb2Nlc3Mg
YW5kIHJlbGV2YW50IG1lbW9yeSBpcyByZWxlYXNlZAorICAgICAgICBiZWZvcmUgdGhlIGF0ZXhp
dCBHTCBjb250ZXh0IGNsZWFudXAgaGFuZGxlciBpcyBjYWxsZWQsIGNhdXNpbmcgYSBOVUxMIHBv
aW50ZXIgY3Jhc2guCisgICAgICAgIFRoZSBHTCBjb250ZXh0IGNsZWFudXAgY29kZSB3YXMgb3Jp
Z2luYWxseSB3cml0dGVuIHRvIGF2b2lkIGEgWCBzZXJ2ZXIgY3Jhc2ggb24gZXhpdCwKKyAgICAg
ICAgc28gaXQncyBvbmx5IG5lZWRlZCBmb3IgUExBVEZPUk0oWDExKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHA6IE9ubHkgY2xlYW4gdXAgYWN0aXZlIEdMIGNv
bnRleHRzIG9uIGV4aXQgZm9yIFBMQVRGT1JNKFgxMSkuCisgICAgICAgIChXZWJDb3JlOjpHTENv
bnRleHQ6OmNsZWFudXBTaGFyZWRYMTFEaXNwbGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29u
dGV4dDo6Y2xlYW51cEFjdGl2ZUNvbnRleHRzQXRFeGl0KToKKyAgICAgICAgKFdlYkNvcmU6OkdM
Q29udGV4dDo6R0xDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dDo6fkdMQ29u
dGV4dCk6CisKIDIwMTMtMTAtMDQgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtXZWJJRExdIEFubm90YXRlIElETCBpbnRlcmZhY2VzIHVuZGVyIFNvdXJj
ZS9XZWJDb3JlL2Nzcy8gd2l0aCB0aGUgT3BlcmF0aW9uc05vdERlbGV0YWJsZSBhdHRyaWJ1dGUK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNw
cAkocmV2aXNpb24gMTU2ODgwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R0xDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsNyArOTMsNiBAQCB2b2lkIEdMQ29u
dGV4dDo6Y2xlYW51cFNoYXJlZFgxMURpc3BsYXkoCiAgICAgWENsb3NlRGlzcGxheShnU2hhcmVk
WDExRGlzcGxheSk7CiAgICAgZ1NoYXJlZFgxMURpc3BsYXkgPSAwOwogfQotI2VuZGlmIC8vIFBM
QVRGT1JNKFgxMSkKIAogLy8gQmVjYXVzZSBvZiBkcml2ZXIgYnVncywgZXhpdGluZyB0aGUgcHJv
Z3JhbSB3aGVuIHRoZXJlIGFyZSBhY3RpdmUgcGJ1ZmZlcnMKIC8vIGNhbiBjcmFzaCB0aGUgWCBz
ZXJ2ZXIgKHRoaXMgaGFzIGJlZW4gb2JzZXJ2ZWQgd2l0aCB0aGUgb2ZmaWNpYWwgTnZpZGlhIGRy
aXZlcnMpLgpAQCAtMTQwLDExICsxMzksOSBAQCB2b2lkIEdMQ29udGV4dDo6Y2xlYW51cEFjdGl2
ZUNvbnRleHRzQXRFCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb250ZXh0TGlzdC5zaXpl
KCk7ICsraSkKICAgICAgICAgZGVsZXRlIGNvbnRleHRMaXN0W2ldOwogCi0jaWYgUExBVEZPUk0o
WDExKQogICAgIGNsZWFudXBTaGFyZWRYMTFEaXNwbGF5KCk7Ci0jZW5kaWYKIH0KLQorI2VuZGlm
IC8vIFBMQVRGT1JNKFgxMSkKIAogCiBQYXNzT3duUHRyPEdMQ29udGV4dD4gR0xDb250ZXh0Ojpj
cmVhdGVDb250ZXh0Rm9yV2luZG93KEdMTmF0aXZlV2luZG93VHlwZSB3aW5kb3dIYW5kbGUsIEdM
Q29udGV4dCogc2hhcmluZ0NvbnRleHQpCkBAIC0xNzQsNyArMTcxLDkgQEAgUGFzc093blB0cjxH
TENvbnRleHQ+IEdMQ29udGV4dDo6Y3JlYXRlQwogCiBHTENvbnRleHQ6OkdMQ29udGV4dCgpCiB7
CisjaWYgUExBVEZPUk0oWDExKQogICAgIGFkZEFjdGl2ZUNvbnRleHQodGhpcyk7CisjZW5kaWYK
IH0KIAogUGFzc093blB0cjxHTENvbnRleHQ+IEdMQ29udGV4dDo6Y3JlYXRlT2Zmc2NyZWVuQ29u
dGV4dChHTENvbnRleHQqIHNoYXJpbmdDb250ZXh0KQpAQCAtMTg2LDcgKzE4NSw5IEBAIEdMQ29u
dGV4dDo6fkdMQ29udGV4dCgpCiB7CiAgICAgaWYgKHRoaXMgPT0gY3VycmVudENvbnRleHQoKS0+
Y29udGV4dCgpKQogICAgICAgICBjdXJyZW50Q29udGV4dCgpLT5zZXRDb250ZXh0KDApOworI2lm
IFBMQVRGT1JNKFgxMSkKICAgICByZW1vdmVBY3RpdmVDb250ZXh0KHRoaXMpOworI2VuZGlmCiB9
CiAKIGJvb2wgR0xDb250ZXh0OjptYWtlQ29udGV4dEN1cnJlbnQoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>