RESOLVED FIXED 16876
Reproducible assertion failure in SQLTransaction::performNextStep()
https://bugs.webkit.org/show_bug.cgi?id=16876
Summary Reproducible assertion failure in SQLTransaction::performNextStep()
Alexey Proskuryakov
Reported 2008-01-15 01:34:19 PST
Steps to reproduce: 1. Open <http://webkit.org/misc/DatabaseExample.html> 2. Start opening and closing notes. Pretty soon, an assertion fails: ASSERTION FAILED: m_nextStep == &SQLTransaction::openTransactionAndPreflight || m_nextStep == &SQLTransaction::runStatements || m_nextStep == &SQLTransaction::postflightAndCommit || m_nextStep == &SQLTransaction::cleanupAfterTransactionErrorCallback (/Users/ap/Safari/OpenSource/WebCore/storage/SQLTransaction.cpp:95 bool WebCore::SQLTransaction::performNextStep())
Attachments
test case (assertion failure) (2.31 KB, text/html)
2008-01-15 02:58 PST, Alexey Proskuryakov
no flags
Alexey Proskuryakov
Comment 1 2008-01-15 01:38:34 PST
It's worth noting that the assertion fails when closing a note. I've just got a failure after the very first attempt to close a note, without opening any: [Session started at 2008-01-15 12:36:42 +0300.] Iteration of main loop for DatabaseThread 0x19377970 Performing DatabaseTask 0x14df39b0 Opening and preflighting transaction 0x14de2260 SQL - prepare - PRAGMA max_page_count = 5120 SQL - step - PRAGMA max_page_count = 5120 SQL - finalize - PRAGMA max_page_count = 5120 SQL - prepare - BEGIN; SQL - step - BEGIN; SQL - finalize - BEGIN; Performing DatabaseTask 0x14de5680 ASSERTION FAILED: m_nextStep == &SQLTransaction::openTransactionAndPreflight || m_nextStep == &SQLTransaction::runStatements || m_nextStep == &SQLTransaction::postflightAndCommit || m_nextStep == &SQLTransaction::cleanupAfterTransactionErrorCallback (/Users/ap/Safari/OpenSource/WebCore/storage/SQLTransaction.cpp:95 bool WebCore::SQLTransaction::performNextStep())
Alexey Proskuryakov
Comment 2 2008-01-15 02:30:22 PST
(gdb) p m_currentTransaction->m_ptr->m_nextStep $3 = { __pfn = 0x203777e <WebCore::SQLTransaction::deliverTransactionCallback()>, __delta = 0 }
Alexey Proskuryakov
Comment 3 2008-01-15 02:58:01 PST
Created attachment 18455 [details] test case (assertion failure) With the test, I'm seeing a different next step, but the underlying problem is probably the same. (gdb) p m_currentTransaction->m_ptr->m_nextStep $2 = { __pfn = 0x2038250 <WebCore::SQLTransaction::runStatements()>, __delta = 0 }
Mark Rowe (bdash)
Comment 4 2008-01-15 07:14:48 PST
Timothy Hatcher
Comment 5 2008-01-30 14:28:11 PST
Landed a fix in r29872 and r29876.
Alexey Proskuryakov
Comment 6 2008-02-01 12:18:08 PST
This test still results in an assertion failure for me, filed bug 17140.
Note You need to log in before you can comment on or make changes to this bug.