From 8d9924179f5615da6498a9a32b7d63b376ca74c1 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 3 Oct 2016 17:16:07 -0700 Subject: [PATCH] Bug 502985 - CDT index may be getting corrupted by IOExceptions or calls to Thread.interrupt() Change-Id: I180b55dbc9ca68a2b2d7ee668515aaf28d1b71c9 --- .../org/eclipse/cdt/internal/core/pdom/db/Database.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java index 7650c895db4..8177c6b4b94 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java @@ -277,8 +277,10 @@ public class Database { Chunk chunk= fChunks[index]; if (chunk == null) { cacheMisses++; - chunk = fChunks[index] = new Chunk(this, index); + chunk = new Chunk(this, index); chunk.read(); + // Put the chunk in fChunks after it was read successfully. + fChunks[index] = chunk; } else { cacheHits++; }