<?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>101791</bug_id>
          
          <creation_ts>2012-11-09 13:33:08 -0800</creation_ts>
          <short_desc>REGRESSION(r130643): ASSERTION FAILED:!isDeletedBucket(*(lookupForWriting(Extractor::extract(entry)).first)) when running DRT in debug mode</short_desc>
          <delta_ts>2013-03-19 12:22:10 -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>CSS</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Roger Fong">roger_fong</reporter>
          <assigned_to name="Roger Fong">roger_fong</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>763275</commentid>
    <comment_count>0</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-11-09 13:33:08 -0800</bug_when>
    <thetext>The problem occurs when calling WebKitCreateInstance.

The associated hashtable tries to resize and the reinsert objects but one of the object&apos;s values is CLSID_NULL for some reason which indicates that it has been deleted already, and the !isDeletedBucket assertion fails.

Here is the stack trace:

&gt;	WebKit.dll!WTF::HashTable&lt;_GUID,WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHash,WTF::HashMapValueTraits&lt;CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHashTraits&gt;::reinsert(WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt; &amp; entry={...})  Line 953 + 0x51 bytes	C++
 	WebKit.dll!WTF::HashTable&lt;_GUID,WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHash,WTF::HashMapValueTraits&lt;CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHashTraits&gt;::rehash(int newTableSize=16)  Line 1135	C++
 	WebKit.dll!WTF::HashTable&lt;_GUID,WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHash,WTF::HashMapValueTraits&lt;CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHashTraits&gt;::expand()  Line 1107	C++
 	WebKit.dll!WTF::HashTable&lt;_GUID,WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt;,WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;_GUID,COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHash,WTF::HashMapValueTraits&lt;CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHashTraits&gt;::add&lt;WTF::HashMapTranslator&lt;WTF::HashMapValueTraits&lt;CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;,CLSIDHash&gt;,_GUID,COMPtr&lt;IClassFactory&gt; &gt;(const _GUID &amp; key={...}, const COMPtr&lt;IClassFactory&gt; &amp; extra={...})  Line 893	C++
 	WebKit.dll!WTF::HashMap&lt;_GUID,COMPtr&lt;IClassFactory&gt;,CLSIDHash,CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;::inlineAdd(const _GUID &amp; key={...}, const COMPtr&lt;IClassFactory&gt; &amp; mapped={...})  Line 334 + 0x14 bytes	C++
 	WebKit.dll!WTF::HashMap&lt;_GUID,COMPtr&lt;IClassFactory&gt;,CLSIDHash,CLSIDHashTraits,WTF::HashTraits&lt;COMPtr&lt;IClassFactory&gt; &gt; &gt;::add(const _GUID &amp; key={...}, const COMPtr&lt;IClassFactory&gt; &amp; mapped={...})  Line 361 + 0x14 bytes	C++
 	WebKit.dll!classFactory(const _GUID &amp; clsid={...})  Line 54 + 0x21 bytes	C++
 	WebKit.dll!WebKitCreateInstance(const _GUID &amp; rclsid={...}, IUnknown * pUnkOuter=0x00000000, const _GUID &amp; riid={...}, void * * ppvObject=0x002efb64)  Line 64 + 0xd bytes	C++
 	DumpRenderTree.dll!dllLauncherEntryPoint(int argc=2, const char * * argv=0x00141ba0)  Line 1392 + 0x1a bytes	C++
 	DumpRenderTree.exe!main(int argc=2, const char * * argv=0x00141ba0)  Line 206 + 0x10 bytes	C++
 	DumpRenderTree.exe!__tmainCRTStartup()  Line 597 + 0x17 bytes	C

Work around: 
Following http://trac.webkit.org/changeset/132302, by reverting the minimum hash table size back to 64 this problem can be avoided temporarily.
As with the r132302 this will need a proper fix at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763279</commentid>
    <comment_count>1</comment_count>
      <attachid>173356</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-11-09 13:42:02 -0800</bug_when>
    <thetext>Created attachment 173356
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763288</commentid>
    <comment_count>2</comment_count>
      <attachid>173356</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 13:53:23 -0800</bug_when>
    <thetext>Comment on attachment 173356
patch

Attachment 173356 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14794079</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763786</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-10 22:40:37 -0800</bug_when>
    <thetext>This probably needs a FIXME, like r132302 had.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765109</commentid>
    <comment_count>4</comment_count>
      <attachid>173791</attachid>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-11-12 18:37:42 -0800</bug_when>
    <thetext>Created attachment 173791
patch

added a FIXME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>765125</commentid>
    <comment_count>5</comment_count>
      <attachid>173791</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-11-12 19:10:03 -0800</bug_when>
    <thetext>Comment on attachment 173791
patch

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

&gt; Source/WebKit/win/WebKitCOMAPI.cpp:47
&gt; +    // FIXME: This is a work around - https://bugs.webkit.org/show_bug.cgi?id=101791

We will need a real fix soon!

Might be nicer if the FIXME made it clearer how this works around the bug. Typically we frown on putting bug URLs into the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766458</commentid>
    <comment_count>6</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-11-13 22:54:36 -0800</bug_when>
    <thetext>Commited http://trac.webkit.org/changeset/134472
with FIXME clarifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800039</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-04 00:53:12 -0800</bug_when>
    <thetext>Attachment 173791 was posted by a committer and has review+, assigning to Roger Fong for commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173356</attachid>
            <date>2012-11-09 13:42:02 -0800</date>
            <delta_ts>2012-11-12 18:37:42 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1432</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDEwNCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTA5
ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTMwNjQzKTogQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBydW5uaW5nIERSVCBpbiBkZWJ1ZyBt
b2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE3
OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHJ1bm5pbmcgRFJUIGluIGRlYnVnIG1vZGUsIHdlIGhpdCBhbiBhc3NlcnRpb24gZmFpbHVyZSBp
biBpbml0aWFsaXppbmcgdGhlIFdlYktpdCBpbnN0YW5jZS4KKyAgICAgICAgVGhpcyBmYWlsdXJl
IHN0YXJ0ZWQgb2NjdXJpbmcgaW4gcjEzMDY0MyBhbmQgdGhlIHdvcmsgYXJvdW5kIGZvbGxvd3Mg
dGhlIHdvcmsgYXJvdW5kIGluIHIxMzIzMDIuCisKKyAgICAgICAgKiBXZWJLaXRDT01BUEkuY3Bw
OgorICAgICAgICAoQ0xTSURIYXNoVHJhaXRzKToKKwogMjAxMi0xMS0wNSAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbGF5ZXIgYm9yZGVycyB0
byBjbGVhbmluZyBhcHBlYXIgYW5kIGRpc2FwcGVhciBvbiBzd2l0Y2hpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvd2luL1dlYktpdENPTUFQSS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC93aW4vV2ViS2l0Q09NQVBJLmNwcAkocmV2aXNpb24gMTM0MDkyKQorKysgU291cmNlL1dlYktp
dC93aW4vV2ViS2l0Q09NQVBJLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBz
dHJ1Y3QgQ0xTSURIYXNoIHsKIHN0cnVjdCBDTFNJREhhc2hUcmFpdHMgOiBXVEY6OkdlbmVyaWNI
YXNoVHJhaXRzPENMU0lEPiB7CiAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVl
KENMU0lEJiBzbG90KSB7IHNsb3QgPSBDTFNJRF9OVUxMOyB9CiAgICAgc3RhdGljIGJvb2wgaXNE
ZWxldGVkVmFsdWUoY29uc3QgQ0xTSUQmIHZhbHVlKSB7IHJldHVybiB2YWx1ZSA9PSBDTFNJRF9O
VUxMOyB9CisgICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVtVGFibGVTaXplID0gNjQ7CiB9Owog
CiBzdGF0aWMgQ09NUHRyPElDbGFzc0ZhY3Rvcnk+IGNsYXNzRmFjdG9yeShjb25zdCBDTFNJRCYg
Y2xzaWQpCg==
</data>
<flag name="commit-queue"
          id="188025"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173791</attachid>
            <date>2012-11-12 18:37:42 -0800</date>
            <delta_ts>2012-11-12 19:10:03 -0800</delta_ts>
            <desc>patch</desc>
            <filename>drt_crash_patch.txt</filename>
            <type>text/plain</type>
            <size>1499</size>
            <attacher name="Roger Fong">roger_fong</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNDMzOCkKKysrIFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTExLTEy
ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTMwNjQzKTogQXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBydW5uaW5nIERSVCBpbiBkZWJ1ZyBt
b2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE3
OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHJ1bm5pbmcgRFJUIGluIGRlYnVnIG1vZGUsIHdlIGhpdCBhbiBhc3NlcnRpb24gZmFpbHVyZSBp
biBpbml0aWFsaXppbmcgdGhlIFdlYktpdCBpbnN0YW5jZS4KKyAgICAgICAgVGhpcyBmYWlsdXJl
IHN0YXJ0ZWQgb2NjdXJpbmcgaW4gcjEzMDY0MyBhbmQgdGhlIHdvcmsgYXJvdW5kIGZvbGxvd3Mg
dGhlIHdvcmsgYXJvdW5kIGluIHIxMzIzMDIuCisKKyAgICAgICAgKiBXZWJLaXRDT01BUEkuY3Bw
OgorICAgICAgICAoQ0xTSURIYXNoVHJhaXRzKToKKwogMjAxMi0xMS0xMiAgUm9nZXIgRm9uZyAg
PHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCBkb2Nr
aW5nIGJlaGF2aW91ciBvbiBXaW5kb3dzLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViS2l0
Q09NQVBJLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRDT01BUEku
Y3BwCShyZXZpc2lvbiAxMzQzMzYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRDT01BUEku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw4IEBAIHN0cnVjdCBDTFNJREhhc2ggewog
c3RydWN0IENMU0lESGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8Q0xTSUQ+IHsK
ICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoQ0xTSUQmIHNsb3QpIHsgc2xv
dCA9IENMU0lEX05VTEw7IH0KICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShjb25zdCBD
TFNJRCYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlID09IENMU0lEX05VTEw7IH0KKyAgICAvLyBGSVhN
RTogVGhpcyBpcyBhIHdvcmsgYXJvdW5kIC0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMTc5MQorICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bVRhYmxlU2l6ZSA9
IDY0OwogfTsKIAogc3RhdGljIENPTVB0cjxJQ2xhc3NGYWN0b3J5PiBjbGFzc0ZhY3RvcnkoY29u
c3QgQ0xTSUQmIGNsc2lkKQo=
</data>
<flag name="review"
          id="188600"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>