Overview
Artifact ID: | cc324cdb97320e583cec70211445c68a2ab2372a |
---|---|
Ticket: | 7ff3120e4fa54abb551b1b7d1bc3835604e8b879
Recovery race condition leads to database corruption on Windows |
User & Date: | drh 2013-04-11 18:04:38 |
Changes
- icomment:
The xCheckReservedLock() method on the windows VFS can sometimes return a false positive, if two different processes call it on the same file at the same time. This leads one of the processes (the one that got the false positive) to believe that the other process is taking care of recovering from a prior crash. That process might then write into the database without first running recovery, leading to corruption. To see this occur, compile and run the "mptester" utility with the mptest/crash01.test script many times on a fast multi-core win8 machine using check-in [663f04bd48bc6f3022] and you will eventually get integrity_check failures.
- login: "drh"
- mimetype: "text/x-fossil-wiki"
- severity changed to: "Critical"
- status changed to: "Open"
- title changed to:
Recovery race condition leads to database corruption on Windows
- type changed to: "Code_Defect"