mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
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>
This commit is contained in:
parent
4ba2e8a64b
commit
fd8765e352
1 changed files with 15 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue