Bug 569911: Stop allowing OOB records to accumulate forever
Add a limit of 100,000 records to prevent OOM errors. Normally
only a few OOB records are needed, but in some cases like with
tdump, hundreds may be needed.
Change-Id: I967e0facc1dc326d94fa67b1d647417ee3cd8891
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/AbstractMIControl.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/AbstractMIControl.java
index 8db4f3b..a7b671b 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/AbstractMIControl.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/command/AbstractMIControl.java
@@ -1088,8 +1088,9 @@
fAccumulatedOOBRecords.add(oob);
// limit growth, but only if these are not responses to CLI commands
- // Bug 302927 & 330608
- if (fRxCommands.isEmpty() && fAccumulatedOOBRecords.size() > 20) {
+ // Bug 302927 & 330608 & 569911
+ if (fRxCommands.isEmpty() && fAccumulatedOOBRecords.size() > 20
+ || fAccumulatedOOBRecords.size() > 100000) {
fAccumulatedOOBRecords.remove(0);
}