| Index file: |
| magic: c103cac3 |
| version: 2.1 |
| entries: 3 |
| total bytes: 40 |
| last file number: 0 |
| current id: 4 |
| table length: 65536 |
| last crash: 0 |
| experiment: 0 |
| head 0: 0x90000002 |
| tail 0: 0x90000001 |
| size 0: 0x2 |
| head 1: 0x0 |
| tail 1: 0x0 |
| size 1: 0x0 |
| head 2: 0x0 |
| tail 2: 0x0 |
| size 2: 0x0 |
| head 3: 0x0 |
| tail 3: 0x0 |
| size 3: 0x0 |
| head 4: 0x90000000 |
| tail 4: 0x90000000 |
| size 4: 0x1 |
| transaction: 0x0 |
| operation: 0 |
| operation list: 0 |
| ------------------------- |
| |
| Block file: data_0 |
| magic: c104cac3 |
| version: 2.0 |
| file id: 0 |
| next file id: 0 |
| entry size: 36 |
| current entries: 3 |
| max entries: 1024 |
| updating: 0 |
| empty sz 1: 1 |
| empty sz 2: 0 |
| empty sz 3: 0 |
| empty sz 4: 255 |
| user 0: 0x0 |
| user 1: 0x0 |
| user 2: 0x0 |
| user 3: 0x0 |
| ------------------------- |
| |
| Block file: data_1 |
| magic: c104cac3 |
| version: 2.0 |
| file id: 1 |
| next file id: 0 |
| entry size: 256 |
| current entries: 4 |
| max entries: 1024 |
| updating: 0 |
| empty sz 1: 0 |
| empty sz 2: 0 |
| empty sz 3: 1 |
| empty sz 4: 254 |
| user 0: 0x0 |
| user 1: 0x0 |
| user 2: 0x0 |
| user 3: 0x0 |
| ------------------------- |
| |
| Block file: data_2 |
| magic: c104cac3 |
| version: 2.0 |
| file id: 2 |
| next file id: 0 |
| entry size: 1024 |
| current entries: 0 |
| max entries: 0 |
| updating: 0 |
| empty sz 1: 0 |
| empty sz 2: 0 |
| empty sz 3: 0 |
| empty sz 4: 0 |
| user 0: 0x0 |
| user 1: 0x0 |
| user 2: 0x0 |
| user 3: 0x0 |
| ------------------------- |
| |
| Block file: data_3 |
| magic: c104cac3 |
| version: 2.0 |
| file id: 3 |
| next file id: 0 |
| entry size: 4096 |
| current entries: 0 |
| max entries: 0 |
| updating: 0 |
| empty sz 1: 0 |
| empty sz 2: 0 |
| empty sz 3: 0 |
| empty sz 4: 0 |
| user 0: 0x0 |
| user 1: 0x0 |
| user 2: 0x0 |
| user 3: 0x0 |
| ------------------------- |
| |
| Entry at 0xa0010003 |
| hash: 0xb16af282 |
| next entry: 0xa0010004 |
| rankings: 0x90000001 |
| key length: 14 |
| key: "The Second key" |
| key addr: 0x0 |
| reuse count: 0 |
| refetch count: 0 |
| state: 0 |
| data size 0: 0 |
| data addr 0: 0x0 |
| data size 1: 0 |
| data addr 1: 0x0 |
| data size 2: 0 |
| data addr 2: 0x0 |
| data size 3: 0 |
| data addr 3: 0x0 |
| ---------- |
| |
| Rankings at 0x90000001 |
| next: 0x90000001 |
| prev: 0x90000002 |
| entry: 0xa0010003 |
| dirty: 0 |
| pointer: 0x0 |
| ---------- |
| |
| Entry at 0xa0010004 |
| hash: 0xc24ac438 |
| next entry: 0x0 |
| rankings: 0x90000002 |
| key length: 13 |
| key: "The first key" |
| key addr: 0x0 |
| reuse count: 0 |
| refetch count: 0 |
| state: 0 |
| data size 0: 0 |
| data addr 0: 0x0 |
| data size 1: 0 |
| data addr 1: 0x0 |
| data size 2: 0 |
| data addr 2: 0x0 |
| data size 3: 0 |
| data addr 3: 0x0 |
| ---------- |
| |
| Rankings at 0x90000002 |
| next: 0x90000001 |
| prev: 0x90000002 |
| entry: 0xa0010004 |
| dirty: 0 |
| pointer: 0x0 |
| |
| ================================ |
| |
| Generated with: (see steps on the bug 69135) |
| |
| SetMask(0x1); // 2-entry table. |
| SetMaxSize(0x3000); // 12 kB. |
| SetNewEviction(); |
| InitCache(); |
| |
| std::string key1("The first key"); |
| std::string key2("The Second key"); |
| disk_cache::Entry* entry; |
| |
| ASSERT_EQ(net::OK, CreateEntry(key1, &entry)); |
| entry->Close(); |
| ASSERT_EQ(net::OK, CreateEntry(key2, &entry)); |
| DoomAllEntries(); <--- First crash. Fix key2 dirty flag. |
| |
| ASSERT_EQ(net::OK, OpenEntry(key1, &entry)); <--- Second crash |
| |
| ASSERT_EQ(net::OK, CreateEntry(key1, &entry)); |
| entry->Close(); |