Skip to main content
summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorMarc-Andre Laperle2017-02-26 03:58:37 +0000
committerMarc-Andre Laperle2017-02-26 03:59:25 +0000
commitfd8765e352bb7e7b94b32d97d80d1ad8deacd094 (patch)
tree618d5a8fed98af3cfd8dd448b6362391fe5827a5 /llvm
parent4ba2e8a64b89e38bfa31b5852411eb317334c252 (diff)
downloadorg.eclipse.cdt-fd8765e352bb7e7b94b32d97d80d1ad8deacd094.tar.gz
org.eclipse.cdt-fd8765e352bb7e7b94b32d97d80d1ad8deacd094.tar.xz
org.eclipse.cdt-fd8765e352bb7e7b94b32d97d80d1ad8deacd094.zip
Bug 510832 - [lldb] AssertionError terminating session
LLDB-MI sends an extra event when -gdb-exit is used, which triggers this assertion: 629,511 [MI] 35-gdb-exit 629,514 [MI] 35^exit 629,514 [MI] =thread-group-exited,id="i1" For now, work around LLDB-MI bug, see http://bugs.llvm.org/show_bug.cgi?id=32053 Change-Id: I1c8e7fee118b5bc31e08272c79aa806fe05b7c95 Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Diffstat (limited to 'llvm')
-rw-r--r--llvm/org.eclipse.cdt.llvm.dsf.lldb.core/src/org/eclipse/cdt/llvm/dsf/lldb/core/internal/service/LLDBProcesses.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/org.eclipse.cdt.llvm.dsf.lldb.core/src/org/eclipse/cdt/llvm/dsf/lldb/core/internal/service/LLDBProcesses.java b/llvm/org.eclipse.cdt.llvm.dsf.lldb.core/src/org/eclipse/cdt/llvm/dsf/lldb/core/internal/service/LLDBProcesses.java
index 133148f3081..97ccb1869d4 100644
--- a/llvm/org.eclipse.cdt.llvm.dsf.lldb.core/src/org/eclipse/cdt/llvm/dsf/lldb/core/internal/service/LLDBProcesses.java
+++ b/llvm/org.eclipse.cdt.llvm.dsf.lldb.core/src/org/eclipse/cdt/llvm/dsf/lldb/core/internal/service/LLDBProcesses.java
@@ -18,11 +18,14 @@ import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IProcesses;
+import org.eclipse.cdt.dsf.debug.service.IRunControl.IExitedDMEvent;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext;
import org.eclipse.cdt.dsf.gdb.service.GDBProcesses_7_4;
import org.eclipse.cdt.dsf.gdb.service.IGDBBackend;
import org.eclipse.cdt.dsf.gdb.service.SessionType;
+import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext;
import org.eclipse.cdt.dsf.mi.service.IMIProcessDMContext;
+import org.eclipse.cdt.dsf.service.DsfServiceEventHandler;
import org.eclipse.cdt.dsf.service.DsfSession;
import org.eclipse.core.runtime.CoreException;
@@ -151,4 +154,16 @@ public class LLDBProcesses extends GDBProcesses_7_4 {
return true;
}
}
+
+ @DsfServiceEventHandler
+ public void eventDispatched(IExitedDMEvent e) {
+ if (e.getDMContext() instanceof IMIContainerDMContext && getNumConnected() == 0) {
+ // FIXME: Work around bug http://bugs.llvm.org/show_bug.cgi?id=32053
+ // And also https://bugs.eclipse.org/bugs/show_bug.cgi?id=510832
+ // LLDB-MI sends an extra "=thread-group-exited" event.
+ // This override should be completely removed once fixed.
+ return;
+ }
+ super.eventDispatched(e);
+ }
}

Back to the top