1 Index file: 2 version: 2.1 3 entries: 3 4 current id: 1 5 last crash: 1 6 head 0: 0x90000002 7 tail 0: 0x90000002 8 size 0: 0x1 9 head 1: 0x90000001 <---- 10 tail 1: 0x90000000 11 size 1: 0x2 12 transaction: 0x0 13 ------------------------- 14 15 Entry at 0xa0010002 16 hash: 0x687d1422 17 next entry: 0x0 18 rankings: 0x90000000 19 key length: 13 20 key: "the first key" 21 key addr: 0x0 22 reuse count: 1 23 ---------- 24 25 Rankings at 0x90000000 26 next: 0x90000000 27 prev: 0x90000001 28 entry: 0xa0010002 29 dirty: 0 30 ---------- 31 32 Entry at 0xa0010003 33 hash: 0x4a70620e 34 next entry: 0x0 35 rankings: 0x90000001 36 key length: 14 37 key: "the second key" 38 key addr: 0x0 39 reuse count: 0 <---- list 0 40 ---------- 41 42 Rankings at 0x90000001 43 next: 0x90000000 44 prev: 0x90000001 <----- head 45 entry: 0xa0010003 46 dirty: 1 <----- This was actually inserted on list 1 47 ---------- 48 49 Entry at 0xa0010004 50 hash: 0x63909ecb 51 next entry: 0x0 52 rankings: 0x90000002 53 key length: 14 54 key: "some other key" 55 key addr: 0x0 56 reuse count: 0 57 ---------- 58 59 Rankings at 0x90000002 60 next: 0x90000002 61 prev: 0x90000002 62 entry: 0xa0010004 63 dirty: 0 64 ---------- 65 66 ================================ 67 68 Generated with: 69 70 SetNewEviction(); 71 SetMaxSize(20 * 1024 * 1024); 72 InitCache(); 73 const char* kName1 = "the first key"; 74 const char* kName2 = "the second key"; 75 disk_cache::Entry* entry; 76 ASSERT_EQ(net::OK, CreateEntry(kName1, &entry)); 77 entry->Close(); 78 ASSERT_EQ(net::OK, CreateEntry(kName2, &entry)); 79 entry->Close(); 80 ASSERT_EQ(net::OK, CreateEntry("some other key", &entry)); 81 entry->Close(); 82 83 ASSERT_EQ(net::OK, OpenEntry(kName1, &entry)); 84 entry->Close(); 85 86 ASSERT_EQ(net::OK, OpenEntry(kName2, &entry)); 87 88 Set a breakpoint on that last line, and when the entry is moved from one list to another, crash the process: 89 90 rankings_->Remove(entry->rankings(), Rankings::NO_USE); 91 rankings_->Insert(entry->rankings(), false, Rankings::LOW_USE); 92 entry->entry()->Store(); <---- crash here 93