Bug 140443

Summary: openDatabase intermittently triggers SecurityError: DOM Exception 18 in Chrome on iOS
Product: WebKit Reporter: John David Eriksen <jkndrkn>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: mcatanzaro, nolan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: iPhone / iPad   
OS: iOS 8.1   

Description John David Eriksen 2015-01-14 08:54:29 PST
Greetings, I have an application that depends on WebSQL on Chrome iOS.

The openDatabase method intermittently throws SecurityError: DOM Exception 18.

I am using Chrome version 39.0.2171.50 and iOS 8.1 running on an iPhone 5s. My team has also seen this error appear on iPhone 5 and the PouchDB team has seen it appear in their automated tests for iPhone [1].

Here is a test case that exposes the bug:

    http://bl.ocks.org/jkndrkn/fd0074554047c3c0d8ac

Here is the specific code segments from the above test case that trigger the bug:

   var db = openDatabase('mydatabase', 1, 'mydatabase', 50000000);
   var db = openDatabase('mydatabase', '1', 'mydatabase', 50000000);

The bug is _intermittent_, so it doesn't always appear. Sometimes it appears right away, sometimes it takes refreshing the page, clearing all browser data, and force-quitting and restarting the browser in some combination. I am not sure what specific situations result in triggering this bug. I do know that refreshing the page does not make the exception go away once it has been expressed. However, force-quitting the browser *does* make the exception go away.

[1]: https://travis-ci.org/pouchdb/pouchdb/jobs/46726739#L1173

Thank you for your help with this issue.

John David
Comment 1 Nolan Lawson 2015-01-14 09:09:17 PST
I have a similar demo that causes a DOM Exception 11 in Chrome for iOS. Not sure if it's related to the DOM Exception 18 issue, but it might be: http://bl.ocks.org/nolanlawson/2cf0c9839ea8b64439ba

For some context, we are tracking this issue in PouchDB as well: https://github.com/pouchdb/pouchdb/issues/3382
Comment 2 Nolan Lawson 2015-02-02 10:51:31 PST
I can no longer repro. I'm using Chrome 40.0.2214.69 in iOS 8.1.3 on an iPhone 6 Plus.
Comment 3 John David Eriksen 2015-02-09 12:40:58 PST
I also can no longer reproduce on my iPhone 5 running iOS 8.1.3 and Chrome 40.X.
Comment 4 Michael Catanzaro 2015-06-22 08:08:19 PDT

*** This bug has been marked as a duplicate of bug 137760 ***