Bug 92783

Summary: IndexedDB: intversion-long-queue.html fails an assert
Product: WebKit Reporter: David Grogan <dgrogan>
Component: WebCore Misc.Assignee: David Grogan <dgrogan>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, jsbell, tony, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch for landing
none
Patch for landing none

Description David Grogan 2012-07-31 12:16:41 PDT
But only when run without any of the integer version code.
Comment 1 David Grogan 2012-07-31 12:19:05 PDT
STDERR: ASSERTION FAILED: m_readyState == PENDING || m_readyState == DONE
STDERR: ../../third_party/WebKit/Source/WebCore/Modules/indexeddb/IDBRequest.cpp(222) : virtual void WebCore::IDBRequest::onError(PassRefPtr<WebCore::IDBDatabaseError>)
STDERR: 	WebCore::IDBRequest::onError() [0x7ff87bb9cb6d]
STDERR: 	WebKit::WebIDBCallbacksImpl::onError() [0x7ff87aae3e27]
STDERR: 	WebKit::IDBCallbacksProxy::onError() [0x7ff87aa66654]
STDERR: 	WebCore::IDBDatabaseBackendImpl::setVersion() [0x7ff87bb4e837]
STDERR: 	WebCore::IDBDatabaseBackendImpl::processPendingCalls() [0x7ff87bb4f397]
STDERR: 	WebCore::IDBDatabaseBackendImpl::close() [0x7ff87bb501ae]
STDERR: 	WebKit::WebIDBDatabaseImpl::close() [0x7ff87aae6424]
STDERR: 	WebKit::IDBDatabaseBackendProxy::close() [0x7ff87aa69c4d]
STDERR: 	WebCore::IDBDatabase::closeConnection() [0x7ff87bb476ab]
STDERR: 	WebCore::IDBDatabase::close() [0x7ff87bb47135]
STDERR: 	WebCore::IDBDatabase::stop() [0x7ff87bb48fde]
STDERR: 	WebCore::IDBDatabase::stop() [0x7ff87bb4900c]
STDERR: 	WebCore::ScriptExecutionContext::stopActiveDOMObjects() [0x7ff87b6a7cad]
STDERR: 	WebCore::Document::detach() [0x7ff87b5c5464]
STDERR: 	WebCore::Document::prepareForDestruction() [0x7ff87b5c5933]
STDERR: 	WebCore::Frame::setView() [0x7ff87c218406]
STDERR: 	WebCore::Frame::createView() [0x7ff87c21b176]
STDERR: 	WebKit::WebFrameImpl::createFrameView() [0x7ff87aad004c]
STDERR: 	WebKit::FrameLoaderClientImpl::makeDocumentView() [0x7ff87aa5a2a9]
STDERR: 	WebKit::FrameLoaderClientImpl::transitionToCommittedForNewPage() [0x7ff87aa5e6c5]
STDERR: 	WebCore::FrameLoader::transitionToCommitted() [0x7ff87c153e65]
STDERR: 	WebCore::FrameLoader::commitProvisionalLoad() [0x7ff87c1532c8]
STDERR: 	WebCore::DocumentLoader::commitIfReady() [0x7ff87c12a10c]
STDERR: 	WebCore::DocumentLoader::commitLoad() [0x7ff87c12a72c]
STDERR: 	WebCore::DocumentLoader::receivedData() [0x7ff87c12ab03]
STDERR: 	WebCore::MainResourceLoader::addData() [0x7ff87c1695e7]
STDERR: 	WebCore::ResourceLoader::didReceiveData() [0x7ff87c1810ac]
STDERR: 	WebCore::MainResourceLoader::didReceiveData() [0x7ff87c16ad3d]
STDERR: 	WebCore::ResourceLoader::didReceiveData() [0x7ff87c1819fd]
STDERR: 	WebCore::ResourceHandleInternal::didReceiveData() [0x7ff87bade2a9]
STDERR: 	webkit_glue::WebURLLoaderImpl::Context::OnReceivedData() [0x7ff87f32181a]
STDERR: 	(anonymous namespace)::RequestProxy::NotifyReceivedData() [0x5c53ca]
STDERR: 	base::internal::RunnableAdapter<>::Run() [0x5c5719]
STDERR: 	base::internal::InvokeHelper<>::MakeItSo() [0x5c5681]
STDERR: 	base::internal::Invoker<>::Run() [0x5c562c]
STDERR: 	base::Callback<>::Run() [0x7ff87efd348e]
STDERR: 	MessageLoop::RunTask() [0x7ff87f01c554]
STDERR: 	MessageLoop::DeferOrRunPendingTask() [0x7ff87f01c86b]
STDERR: 	MessageLoop::DoWork() [0x7ff87f01ca45]
Comment 2 David Grogan 2012-08-08 16:23:34 PDT
Created attachment 157326 [details]
Patch
Comment 3 David Grogan 2012-08-08 16:24:07 PDT
Josh or Alec, could you give this a look?
Comment 4 Joshua Bell 2012-08-08 16:39:52 PDT
Comment on attachment 157326 [details]
Patch

LGTM

On a tangent, it occurs to me that the onSuccess(PassRefPtr<IDBTransactionBackendInterface>) method of IDBCallbacks.h should only apply to version change requests - we could move the body of that method to IDBVersionChangeRequest, couldn't we?
Comment 5 David Grogan 2012-08-08 16:42:25 PDT
Tony, could you review this?

(In reply to comment #4)
> On a tangent, it occurs to me that the onSuccess(PassRefPtr<IDBTransactionBackendInterface>) method of IDBCallbacks.h should only apply to version change requests - we could move the body of that method to IDBVersionChangeRequest, couldn't we?

I think so.
Comment 6 Tony Chang 2012-08-08 18:45:23 PDT
Comment on attachment 157326 [details]
Patch

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

> LayoutTests/storage/indexeddb/intversion-long-queue-expected.txt:69
> -PASS gotUpgradeNeededEvent is true
> +FAIL gotUpgradeNeededEvent should be true. Was false.

Why does this fail?
Comment 7 Tony Chang 2012-08-08 18:45:57 PDT
Comment on attachment 157326 [details]
Patch

Nevermind, I didn't read the changelog.  Sorry!
Comment 8 WebKit Review Bot 2012-08-09 01:59:30 PDT
Comment on attachment 157326 [details]
Patch

Rejecting attachment 157326 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:

CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Unreviewed, update TestExpectations for chromium gardening.

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13464255
Comment 9 David Grogan 2012-08-09 14:41:43 PDT
Created attachment 157555 [details]
Patch for landing
Comment 10 WebKit Review Bot 2012-08-09 16:57:26 PDT
Comment on attachment 157555 [details]
Patch for landing

Rejecting attachment 157555 [details] from commit-queue.

Failed to run "['/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '-..." exit_code: 2

Last 500 characters of output:
t 0001 [V8] Rename V8BindingPerIsolateData to V8PerIsolateData

When you have resolved this problem run "git rebase --continue".
If you would prefer to skip this patch, instead run "git rebase --skip".
To restore the original branch and stop rebasing run "git rebase --abort".

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Failed to run "['Tools/Scripts/update-webkit', '--chromium', '--force-update']" exit_code: 9
te-webkit line 164.

Full output: http://queues.webkit.org/results/13463513
Comment 11 David Grogan 2012-08-09 17:02:26 PDT
Created attachment 157585 [details]
Patch for landing
Comment 12 WebKit Review Bot 2012-08-09 18:32:20 PDT
Comment on attachment 157585 [details]
Patch for landing

Clearing flags on attachment: 157585

Committed r125231: <http://trac.webkit.org/changeset/125231>
Comment 13 WebKit Review Bot 2012-08-09 18:32:24 PDT
All reviewed patches have been landed.  Closing bug.