<?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>81113</bug_id>
          
          <creation_ts>2012-03-14 08:36:29 -0700</creation_ts>
          <short_desc>[Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480</short_desc>
          <delta_ts>2012-03-21 09:54:49 -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>WebKit Qt</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="Zeno Albisser">zeno</reporter>
          <assigned_to name="Zeno Albisser">zeno</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578424</commentid>
    <comment_count>0</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-03-14 08:36:29 -0700</bug_when>
    <thetext>ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
/Users/zeno/work/webkit/Source/JavaScriptCore/wtf/HashTable.h(480) : void WTF::HashTable&lt;__AGLContextRec *, std::pair&lt;__AGLContextRec *, WebCore::TextureMapperGLData::SharedGLData *&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;__AGLContextRec *, WebCore::TextureMapperGLData::SharedGLData *&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec *&gt;, WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec *&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData *&gt; &gt;, WTF::HashTraits&lt;__AGLContextRec *&gt; &gt;::checkKey(__AGLContextRec *const &amp;)
1   0x104d0f0cd
2   0x104d0eb5f
3   0x104d0ea9a
4   0x104d0ea0c
5   0x104d0e8e1
6   0x104d0e84d
7   0x104d0e5db
8   0x104d0e3a9
9   0x104d07575
10  0x104d037d6
11  0x104d03775
12  0x104d080f6
13  0x104d07503
14  0x104cf1e7a
15  0x1036dbef9
16  0x1036da159
17  0x1036488ce
18  0x10016f909
19  0x100165476
20  0x100165362
21  0x1002d07c0
22  0x10153997d
23  0x7fff8d28c8bf
24  0x7fff8d28fb75

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000bbadbeef
[Switching to process 67232 thread 0x6603]
0x0000000104d0f0d6 in WTF::HashTable&lt;__AGLContextRec*, std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt;, WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::HashTraits&lt;__AGLContextRec*&gt; &gt;::checkKey&lt;WTF::HashMapTranslator&lt;WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt; &gt;, __AGLContextRec*&gt; (this=0x106a2d698, key=@0x11643d1e0) at HashTable.h:480
480	        ASSERT(!HashTranslator::equal(KeyTraits::emptyValue(), key));
(gdb) where
#0  0x0000000104d0f0d6 in WTF::HashTable&lt;__AGLContextRec*, std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt;, WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::HashTraits&lt;__AGLContextRec*&gt; &gt;::checkKey&lt;WTF::HashMapTranslator&lt;WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt; &gt;, __AGLContextRec*&gt; (this=0x106a2d698, key=@0x11643d1e0) at HashTable.h:480
#1  0x0000000104d0eb5f in WTF::HashTable&lt;__AGLContextRec*, std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt;, WTF::PairFirstExtractor&lt;std::pair&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt;, WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::HashTraits&lt;__AGLContextRec*&gt; &gt;::add&lt;WTF::HashMapTranslator&lt;WTF::PairHashTraits&lt;WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;, WTF::PtrHash&lt;__AGLContextRec*&gt; &gt;, __AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*&gt; (this=0x106a2d698, key=@0x11643d1e0, extra=@0x11643d198) at HashTable.h:670
#2  0x0000000104d0ea9a in WTF::HashMap&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*, WTF::PtrHash&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;::inlineAdd (this=0x106a2d698, key=@0x11643d1e0, mapped=@0x11643d198) at HashMap.h:325
#3  0x0000000104d0ea0c in WTF::HashMap&lt;__AGLContextRec*, WebCore::TextureMapperGLData::SharedGLData*, WTF::PtrHash&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;__AGLContextRec*&gt;, WTF::HashTraits&lt;WebCore::TextureMapperGLData::SharedGLData*&gt; &gt;::add (this=0x106a2d698, key=@0x11643d1e0, mapped=@0x11643d198) at HashMap.h:352
#4  0x0000000104d0e8e1 in WebCore::TextureMapperGLData::SharedGLData::SharedGLData (this=0x10e8ef2a0, glContext=0x0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:182
#5  0x0000000104d0e84d in WebCore::TextureMapperGLData::SharedGLData::SharedGLData (this=0x10e8ef2a0, glContext=0x0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:181
#6  0x0000000104d0e5db in WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData () at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:125
#7  0x0000000104d0e3a9 in WebCore::TextureMapperGLData::TextureMapperGLData (this=0x10e8ef1e0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:212
#8  0x0000000104d07575 in WebCore::TextureMapperGLData::TextureMapperGLData (this=0x10e8ef1e0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:213
#9  0x0000000104d037d6 in WebCore::TextureMapperGL::TextureMapperGL (this=0x10e8ef1a0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:244
#10 0x0000000104d03775 in WebCore::TextureMapperGL::TextureMapperGL (this=0x10e8ef1a0) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:244
#11 0x0000000104d080f6 in WebCore::TextureMapperGL::create () at TextureMapperGL.h:61
#12 0x0000000104d07503 in WebCore::TextureMapper::platformCreateAccelerated () at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:699
#13 0x0000000104cf1e7a in WebCore::TextureMapper::create (mode=WebCore::TextureMapper::OpenGLMode) at /Users/zeno/work/webkit/Source/WebCore/platform/graphics/texmap/TextureMapper.cpp:80
#14 0x00000001036dbef9 in WebKit::WebLayerTreeRenderer::ensureRootLayer (this=0x10ee09b30) at /Users/zeno/work/webkit/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:355
#15 0x00000001036da159 in WebKit::WebLayerTreeRenderer::syncRemoteContent (this=0x10ee09b30) at /Users/zeno/work/webkit/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:370
#16 0x00000001036488ce in QQuickWebPage::updatePaintNode (this=0x10ee043b0, oldNode=0x0) at /Users/zeno/work/webkit/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp:178
#17 0x000000010016f909 in QQuickCanvasPrivate::updateDirtyNode (this=0x10e90fcf0, item=0x10ee043b0) at qquickcanvas.cpp:1808
#18 0x0000000100165476 in QQuickCanvasPrivate::updateDirtyNodes (this=0x10e90fcf0) at qquickcanvas.cpp:1629
#19 0x0000000100165362 in QQuickCanvasPrivate::syncSceneGraph (this=0x10e90fcf0) at qquickcanvas.cpp:261
#20 0x00000001002d07c0 in QQuickRenderThreadSingleContextWindowManager::run (this=0x10e9149d0) at qquickwindowmanager.cpp:638
#21 0x000000010153997d in QThreadPrivate::start (arg=0x10e9149d0) at qthread_unix.cpp:307
#22 0x00007fff8d28c8bf in _pthread_start ()
#23 0x00007fff8d28fb75 in thread_start ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583956</commentid>
    <comment_count>1</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-03-21 03:32:51 -0700</bug_when>
    <thetext>The problem here is, that we are creating the GLContext using a QWindow/QSurface, which internally uses NSOpenGLContext and afterwards we query for the current context using aglGetCurrentContext() which is incompatible.
We should just use QOpenGLContext::currentContext() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583961</commentid>
    <comment_count>2</comment_count>
      <attachid>133004</attachid>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-03-21 03:42:17 -0700</bug_when>
    <thetext>Created attachment 133004
patch for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583964</commentid>
    <comment_count>3</comment_count>
      <attachid>133004</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-21 03:51:31 -0700</bug_when>
    <thetext>Comment on attachment 133004
patch for review.

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        on mac. Therfore we should use QOpenGLContext as well when

ther*E*fore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584003</commentid>
    <comment_count>4</comment_count>
    <who name="Zeno Albisser">zeno</who>
    <bug_when>2012-03-21 04:58:19 -0700</bug_when>
    <thetext>Committed r111524: &lt;http://trac.webkit.org/changeset/111524&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584248</commentid>
    <comment_count>5</comment_count>
      <attachid>133004</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-21 09:54:49 -0700</bug_when>
    <thetext>Comment on attachment 133004
patch for review.

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480

This needs a more appropriate title, now that the issue is better understood?. The problem turned out to be about neither HashTable nor MiniBrowser.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133004</attachid>
            <date>2012-03-21 03:42:17 -0700</date>
            <delta_ts>2012-03-21 09:54:49 -0700</delta_ts>
            <desc>patch for review.</desc>
            <filename>81113_20120321-113948.patch</filename>
            <type>text/plain</type>
            <size>2146</size>
            <attacher name="Zeno Albisser">zeno</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MzZkZWFkLi4wMTMzNzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTItMDMtMjEgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW1F0XVtXSzJdW01hY10gTWluaUJyb3dzZXIgYXNzZXJ0cyBhdCBIYXNoVGFibGUuaDo0ODAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTEzCisK
KyAgICAgICAgVGhlIEdMQ29udGV4dCBpcyBjcmVhdGVkIGJ5IFFXaW5kb3cvUVN1cmZhY2UgdXNp
bmcKKyAgICAgICAgUU9wZW5HTENvbnRleHQgd2hpY2ggaXMgaW1wbGVtZW50ZWQgdXNpbmcgTlNP
cGVuR0wgZnVuY3Rpb25zCisgICAgICAgIG9uIG1hYy4gVGhlcmZvcmUgd2Ugc2hvdWxkIHVzZSBR
T3BlbkdMQ29udGV4dCBhcyB3ZWxsIHdoZW4KKyAgICAgICAgcXVlcnlpbmcgZm9yIHRoZSBjdXJy
ZW50IGNvbnRleHQuIEFHTCBpcyBub3Qgc3VwcG9zZWQKKyAgICAgICAgdG8gYmUgcGFpcmVkIHdp
dGggTlNPcGVuR0wuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAg
ICAgICAgKFNoYXJlZEdMRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0xE
YXRhOjpTaGFyZWRHTERhdGE6OmdldEN1cnJlbnRHTENvbnRleHQpOgorCiAyMDEyLTAzLTE3ICBO
aWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIEVuYWJs
ZSBhbmltVmFsIHN1cHBvcnQgZm9yIFNWR051bWJlck9wdGlvbmFsTnVtYmVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdM
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyR0wuY3BwCmluZGV4IGIzYmYzZGEuLjcyNzA2OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3Bw
CkBAIC0zMiwxMyArMzIsMTIgQEAKIAogI2lmIFBMQVRGT1JNKFFUKQogI2lmIFFUX1ZFUlNJT04g
Pj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQorI2luY2x1ZGUgPFFPcGVuR0xDb250ZXh0Pgog
I2luY2x1ZGUgPFFQbGF0Zm9ybVBpeG1hcD4KICNlbmRpZgogI2VuZGlmCiAKLSNpZiBkZWZpbmVk
KFRFWE1BUF9PUEVOR0xfRVNfMikKLSNpbmNsdWRlIDxFR0wvZWdsLmg+Ci0jZWxpZiBPUyhXSU5E
T1dTKQorI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2VsaWYgT1MoTUFD
X09TX1gpCiAjaW5jbHVkZSA8QUdML2FnbC5oPgpAQCAtNzIsMTEgKzcxLDExIEBAIGlubGluZSBz
dGF0aWMgdm9pZCBkZWJ1Z0dMQ29tbWFuZChjb25zdCBjaGFyKiBjb21tYW5kLCBpbnQgbGluZSkK
IAogc3RydWN0IFRleHR1cmVNYXBwZXJHTERhdGEgewogICAgIHN0cnVjdCBTaGFyZWRHTERhdGEg
OiBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRHTERhdGE+IHsKLSNpZiBkZWZpbmVkKFRFWE1BUF9P
UEVOR0xfRVNfMikKLSAgICAgICAgdHlwZWRlZiBFR0xDb250ZXh0IEdMQ29udGV4dDsKKyNpZiBQ
TEFURk9STShRVCkgJiYgKFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKSkK
KyAgICAgICAgdHlwZWRlZiBRT3BlbkdMQ29udGV4dCogR0xDb250ZXh0OwogICAgICAgICBzdGF0
aWMgR0xDb250ZXh0IGdldEN1cnJlbnRHTENvbnRleHQoKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gZWdsR2V0Q3VycmVudENvbnRleHQoKTsKKyAgICAgICAgICAgIHJldHVybiBRT3Bl
bkdMQ29udGV4dDo6Y3VycmVudENvbnRleHQoKTsKICAgICAgICAgfQogI2VsaWYgT1MoV0lORE9X
UykKICAgICAgICAgdHlwZWRlZiBIR0xSQyBHTENvbnRleHQ7Cg==
</data>
<flag name="review"
          id="136839"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>