This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
At the point where a transaction is aborted, it's active flag becomes false - either implicitly (because the abort happens outside a callback) or explicitly due to a call to abort() ("...this method sets the transaction's active flag to false...") In the steps for aborting a transaction, the any requests in the transaction's request list whose done flag is still false are run through sub-steps including: "Fire an error event at the request. However when running these steps, ignore any request to run the steps for aborting a transaction as those steps are already running." Which indicates the steps for "Fire an error event" are processed, which includes: 2. Set the active flag of transaction to true. The clause in the steps for aborting a transaction should either be changed to read: "Fire an error event at the request. However when running these steps, ignore any request to run the steps for aborting a transaction as those steps are already running, and do not set the active flag of the transaction." Or the steps for aborting a transaction should drop the "fire an error event" reference and in-line the relevant steps instead (that'd be step 1 and parts of step 3)
http://dvcs.w3.org/hg/IndexedDB/rev/aab14b0951ca