Log Message
REGRESSION (r146540?): Crashes in storage/indexeddb/factory-basics-workers.html, storage/indexeddb/transaction-error.html https://bugs.webkit.org/show_bug.cgi?id=113019
Reviewed by Tony Chang. Also manifesting flakily under Chromium's content_shell. It's an ASSERT being hit in the IDBTransaction destructor. The cause was r146540 which allows a stopped context to reclaim script wrappers. This allows the IDBTransaction to be deref'd at times where it previously would have just leaked. Modulate the destructor assertions to account for this case. No new tests; failures already manifest as flaky crashes in some ports. * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::~IDBTransaction): If context is stopped, expected state transitions/cleanup may not have occurred before destructor runs.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (146628 => 146629)
--- trunk/Source/WebCore/ChangeLog 2013-03-22 17:34:20 UTC (rev 146628)
+++ trunk/Source/WebCore/ChangeLog 2013-03-22 17:41:26 UTC (rev 146629)
@@ -1,3 +1,22 @@
+2013-03-22 Joshua Bell <[email protected]>
+
+ REGRESSION (r146540?): Crashes in storage/indexeddb/factory-basics-workers.html, storage/indexeddb/transaction-error.html
+ https://bugs.webkit.org/show_bug.cgi?id=113019
+
+ Reviewed by Tony Chang.
+
+ Also manifesting flakily under Chromium's content_shell. It's an ASSERT being hit in
+ the IDBTransaction destructor. The cause was r146540 which allows a stopped context
+ to reclaim script wrappers. This allows the IDBTransaction to be deref'd at times where
+ it previously would have just leaked. Modulate the destructor assertions to account
+ for this case.
+
+ No new tests; failures already manifest as flaky crashes in some ports.
+
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::~IDBTransaction): If context is stopped, expected state
+ transitions/cleanup may not have occurred before destructor runs.
+
2013-03-22 David Grogan <[email protected]>
IndexedDB: Histogram available disk space on attempt to open database
Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp (146628 => 146629)
--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp 2013-03-22 17:34:20 UTC (rev 146628)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp 2013-03-22 17:41:26 UTC (rev 146629)
@@ -116,8 +116,8 @@
IDBTransaction::~IDBTransaction()
{
- ASSERT(m_state == Finished);
- ASSERT(m_requestList.isEmpty());
+ ASSERT(m_state == Finished || m_contextStopped);
+ ASSERT(m_requestList.isEmpty() || m_contextStopped);
}
const String& IDBTransaction::mode() const
_______________________________________________ webkit-changes mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-changes
