[Webkit-unassigned] [Bug 98314] New: IndexedDB: Possible cause of transactions committing early

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 3 15:54:15 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=98314

           Summary: IndexedDB: Possible cause of transactions committing
                    early
           Product: WebKit
           Version: 523.x (Safari 3)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: jsbell at chromium.org
                CC: dgrogan at chromium.org, alecflett at chromium.org


This was noticed in code inspection - I don't have a repro.

In IDBTransactionBackendImpl::taskEventTimerFired:

    if (!m_pendingEvents && isTaskQueueEmpty()) {
    // The last task event has completed and the task                                                               
        // queue is empty. Commit the transaction.                                                                      
        commit();
        return;
    }

This does not account for m_pendingPreemptiveEvents which may nonzero 0 even if there are no events in the queue. For example, after a createIndex() call it might bump that count but yet have placed any tasks in the queues or bumped m_pendingEvents. If the timer fires, the commit() could occur before the indexing occurs.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list