<?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>58988</bug_id>
          
          <creation_ts>2011-04-20 07:05:35 -0700</creation_ts>
          <short_desc>[GTK] flaky crash  storage/open-database-set-empty-version.html</short_desc>
          <delta_ts>2011-04-26 17:07:58 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>389198</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-04-20 07:05:35 -0700</bug_when>
    <thetext>WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin*, const gchar*): assertion `WEBKIT_IS_SECURITY_ORIGIN(securityOrigin)&apos; failed
ASSERTION FAILED: database
../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp(964) : void databaseQuotaExceeded(WebKitWebView*, WebKitWebFrame*, WebKitWebDatabase*)


#0  0x00000000004221b9 in databaseQuotaExceeded (view=0x68a030, frame=0x696360, database=0x0) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:964
964	    ASSERT(database);

Thread 1 (Thread 13409):
#0  0x00000000004221b9 in databaseQuotaExceeded (view=0x68a030, frame=0x696360, database=0x0) at ../../Tools/DumpRenderTree/gtk/DumpRenderTree.cpp:964
#1  0x00002b571dde8f22 in webkit_marshal_VOID__OBJECT_OBJECT (closure=0x6f0c20, return_value=0x0, n_param_values=3, param_values=0xc89f20, invocation_hint=0x7fff486b8630, marshal_data=0x0) at DerivedSources/webkit/webkitmarshal.cpp:841
#2  0x00002b572232d33e in g_closure_invoke (closure=0x6f0c20, return_value=0x0, n_param_values=3, param_values=0xc89f20, invocation_hint=0x7fff486b8630) at /tmp/buildd/glib2.0-2.27.91/./gobject/gclosure.c:767
#3  0x00002b57223463b9 in signal_emit_unlocked_R (node=0x634900, detail=&lt;value optimized out&gt;, instance=&lt;value optimized out&gt;, emission_return=&lt;value optimized out&gt;, instance_and_params=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3252
#4  0x00002b5722347b36 in g_signal_emit_valist (instance=0x68a030, signal_id=&lt;value optimized out&gt;, detail=0, var_args=0x7fff486b8850) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:2983
#5  0x00002b5722347e32 in g_signal_emit_by_name (instance=0x68a030, detailed_signal=&lt;value optimized out&gt;) at /tmp/buildd/glib2.0-2.27.91/./gobject/gsignal.c:3077
#6  0x00002b571dd96297 in WebKit::ChromeClient::exceededDatabaseQuota (this=0x688510, frame=0x69c400, databaseName=...) at ../../Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp:595
#7  0x00002b571e0bf07c in WebCore::Document::databaseExceededQuota (this=0x478a000, name=...) at ../../Source/WebCore/dom/Document.cpp:4496
#8  0x00002b571e7b5624 in WebCore::DatabaseTracker::canEstablishDatabase (this=0x65ed70, context=0x478a1e0, name=..., displayName=..., estimatedSize=0) at ../../Source/WebCore/storage/DatabaseTracker.cpp:178
#9  0x00002b571e7a870c in WebCore::Database::openDatabase (context=0x478a1e0, name=..., expectedVersion=..., displayName=..., estimatedSize=0, creationCallback=..., e=@0x7fff486b8dfc) at ../../Source/WebCore/storage/Database.cpp:93
#10 0x00002b571e485cd0 in WebCore::DOMWindow::openDatabase (this=0x4300750, name=..., version=..., displayName=..., estimatedSize=0, creationCallback=..., ec=@0x7fff486b8dfc) at ../../Source/WebCore/page/DOMWindow.cpp:1348
#11 0x00002b571e9d0153 in WebCore::jsDOMWindowPrototypeFunctionOpenDatabase (exec=0x2b5770dfc108) at DerivedSources/WebCore/JSDOMWindow.cpp:10573

In exceededDatabaseQuota(), webkit_web_frame_get_security_origin() returns a NULL origin, so webkit_security_origin_get_web_database() also returns NULL.
What should we do in that case? don&apos;t emit the database-quota-exceeded signal?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389199</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-04-20 07:07:21 -0700</bug_when>
    <thetext>FTR Qt emits the signal with the databaseName as argument. Should we do the same?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389200</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-04-20 07:07:51 -0700</bug_when>
    <thetext>Will skip the test until a course of action is decided :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389377</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-20 11:25:55 -0700</bug_when>
    <thetext>It seems like the only way that can happen is if the frame is in some inconsistent state. It&apos;s safer here just to create the origin directly. I&apos;ve attached a patch which does that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389379</commentid>
    <comment_count>4</comment_count>
      <attachid>90372</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-20 11:26:33 -0700</bug_when>
    <thetext>Created attachment 90372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389919</commentid>
    <comment_count>5</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-04-21 03:10:15 -0700</bug_when>
    <thetext>
storage/quota-tracking.html is also affected by this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392620</commentid>
    <comment_count>6</comment_count>
      <attachid>90372</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2011-04-26 12:04:41 -0700</bug_when>
    <thetext>Comment on attachment 90372
Patch

Please explain briefly in the ChangeLog why are you doing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393144</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-04-26 17:07:58 -0700</bug_when>
    <thetext>Committed r84987: &lt;http://trac.webkit.org/changeset/84987&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90372</attachid>
            <date>2011-04-20 11:26:33 -0700</date>
            <delta_ts>2011-04-26 12:04:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58988-20110420112633.patch</filename>
            <type>text/plain</type>
            <size>3732</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQzNzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYzdjNjJiODcwZGMwM2Y3NDJhMjdh
OWNmNTdmZTg0MzMxZTk0ODQ3Li5jZjkwNzUwOTIzNWUzYzU2ZDI0M2YyMGRmNjFiZTE3MWU5YTQ5
YjNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAKIDIwMTEtMDQtMjAgIE1hcnRpbiBSb2JpbnNvbiAg
PG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFtHVEtdIGZsYWt5IGNyYXNoICBzdG9yYWdlL29wZW4tZGF0YWJhc2Ut
c2V0LWVtcHR5LXZlcnNpb24uaHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTg5ODgKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOiBV
bnNraXAgdGVzdCB3aGljaCBzaG91bGQgbm8gbG9uZ2VyIGJlIGNyYXNoaW5nLgorCisyMDExLTA0
LTIwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKwogICAgICAgICBw
bGF0Zm9ybS9ndGsvZmFzdC9kb20vZ2MtMTAtZXhwZWN0ZWQucG5nIGlzIGNvcnJ1cHQKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTQwCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggMDU4ZmQ1ZGY1ZjgyOTM2ZmNmYzFlZWYyODZkZTM5Y2Ni
ODRjYmZkNS4uYWEzNTNmMTg0ZjU2MGE0NTBkY2FkNjk4ZWIxZGEwZGQzYzhkYzQ4ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE4OSw5ICsxODksNiBAQCBmYXN0L2Jsb2NrL2Zsb2F0
L292ZXJoYW5naW5nLXRhbGwtYmxvY2suaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTg5NzYKIGZhc3QvZXZlbnRzL292ZXJmbG93LXZpZXdwb3J0LXJlbmRl
cmVyLWRlbGV0ZWQuaHRtbAogCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODk4OAotc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwK
LQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBFWFBFQ1RFRCBGQUlMVVJFUwogIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDY1ZGZjYzgwMGNkNjU4NTBkMDNkZjhk
MDdmYThhMTE1ZTM0ODkyMjMuLmY1NzQ1ZGNiOWJiMjM2MzhmNGRjMzI3NDk5N2RhNTRhOTJjZjU1
YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNC0yMCAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gZmxha3kgY3Jhc2ggIHN0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODk4OAorCisgICAgICAgIENvbnN0cnVjdCB0aGUg
c2VjdXJpdHkgb3JpZ2luIGRpcmVjdGx5IGluc3RlYWQgb2YgZ2V0dGluZyBpdCBmcm9tIHRoZSBX
ZWJLaXRXZWJGcmFtZSBvYmplY3QuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpDaHJvbWVDbGllbnQ6OmV4Y2VlZGVkRGF0
YWJhc2VRdW90YSk6IENvbnN0cnVjdCB0aGUgb3JpZ2luIGRpcmVjdGx5LgorCiAyMDExLTA0LTE5
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAppbmRleCA5ZjIxMTM5YWYwZmMxNDhkMDM0ODA1
ODNiZmY3NTY4MmM3NGMxNWRjLi4wZTdhOGVmZjBlOTU0YzgxYjQ1MjE0NmY2MmQ3MGMyZGFiMjkw
ZTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5jcHAKQEAgLTU4NiwxMyArNTg2LDEzIEBAIHZvaWQgQ2hyb21lQ2xpZW50Ojpw
cmludChGcmFtZSogZnJhbWUpCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogdm9pZCBDaHJvbWVDbGll
bnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0
YWJhc2VOYW1lKQogewotICAgIGd1aW50NjQgZGVmYXVsdFF1b3RhID0gd2Via2l0X2dldF9kZWZh
dWx0X3dlYl9kYXRhYmFzZV9xdW90YSgpOwotICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigp
LnNldFF1b3RhKGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLCBkZWZhdWx0UXVv
dGEpOworICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldFF1b3RhKGZyYW1lLT5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHdlYmtpdF9nZXRfZGVmYXVsdF93ZWJfZGF0YWJhc2VfcXVvdGEoKSk7CiAKLSAg
ICBXZWJLaXRXZWJGcmFtZSogd2ViRnJhbWUgPSBraXQoZnJhbWUpOwotICAgIFdlYktpdFNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4gPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF9zZWN1cml0eV9vcmlnaW4o
d2ViRnJhbWUpOwotICAgIFdlYktpdFdlYkRhdGFiYXNlKiB3ZWJEYXRhYmFzZSA9IHdlYmtpdF9z
ZWN1cml0eV9vcmlnaW5fZ2V0X3dlYl9kYXRhYmFzZShvcmlnaW4sIGRhdGFiYXNlTmFtZS51dGY4
KCkuZGF0YSgpKTsKLSAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZWJWaWV3LCAiZGF0YWJh
c2UtcXVvdGEtZXhjZWVkZWQiLCB3ZWJGcmFtZSwgd2ViRGF0YWJhc2UpOworICAgIEdSZWZQdHI8
V2ViS2l0U2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9IGFkb3B0R1JlZihraXQoZnJhbWUtPmRvY3Vt
ZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKKyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93
ZWJWaWV3LCAiZGF0YWJhc2UtcXVvdGEtZXhjZWVkZWQiLCBraXQoZnJhbWUpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF93ZWJfZGF0YWJhc2Uo
b3JpZ2luLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZU5hbWUudXRm
OCgpLmRhdGEoKSkpOwogfQogI2VuZGlmCiAK
</data>
<flag name="review"
          id="83119"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
          </attachment>
      

    </bug>

</bugzilla>