Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] java.lang.AssertionError in GdbCliConsoleManager.stopConsole(GdbCliConsoleManager.java:103)

> On 1 Jun 2017, at 16:32, Jonah Graham <jonah@xxxxxxxxxxxxxxxx> wrote:
> 
> ... the code in
> GdbCliConsoleManager is assuming that the console is a more narrow
> type than it is. If so, then I think the assertion is wrong and should
> simply be removed (there is an instanceof check on the next line).

I just ran a debug session and with my openocd debug plugin the assert fails 3 times, due to previous `getConsole(launch)` returning null.

the assert is triggered when the session terminates.

---

but looking carefully I also noticed another problem: during session startup, there are two more exceptions:

!ENTRY org.eclipse.cdt.dsf 4 -1 2017-06-01 19:06:37.568
!MESSAGE Invocation exception when calling a service event handler method
!STACK 0
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.cdt.dsf.service.DsfSession.doDispatchEvent(DsfSession.java:531)
	at org.eclipse.cdt.dsf.service.DsfSession.access$2(DsfSession.java:475)
	at org.eclipse.cdt.dsf.service.DsfSession$3.run(DsfSession.java:398)
	at org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor$TracingWrapperRunnable.run(DefaultDsfExecutor.java:374)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.AssertionError: Should not happen since the gdb version is cached
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbConsoleCreator.verifyAndCreateCliConsole(GdbCliConsoleManager.java:191)
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbConsoleCreator.access$1(GdbCliConsoleManager.java:185)
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbServiceStartedListener.eventDispatched(GdbCliConsoleManager.java:237)
	... 15 more
Root exception:
java.lang.AssertionError: Should not happen since the gdb version is cached
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbConsoleCreator.verifyAndCreateCliConsole(GdbCliConsoleManager.java:191)
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbConsoleCreator.access$1(GdbCliConsoleManager.java:185)
	at org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbCliConsoleManager$GdbServiceStartedListener.eventDispatched(GdbCliConsoleManager.java:237)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.cdt.dsf.service.DsfSession.doDispatchEvent(DsfSession.java:531)
	at org.eclipse.cdt.dsf.service.DsfSession.access$2(DsfSession.java:475)
	at org.eclipse.cdt.dsf.service.DsfSession$3.run(DsfSession.java:398)
	at org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor$TracingWrapperRunnable.run(DefaultDsfExecutor.java:374)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)

!ENTRY org.eclipse.cdt.dsf 4 -1 2017-06-01 19:06:37.573
!MESSAGE Uncaught exception in DSF executor thread
!STACK 0
java.lang.AssertionError: Exception thrown by a IServiceEventListener.ServiceHandlerMethod method
	at org.eclipse.cdt.dsf.service.DsfSession.doDispatchEvent(DsfSession.java:541)
	at org.eclipse.cdt.dsf.service.DsfSession.access$2(DsfSession.java:475)
	at org.eclipse.cdt.dsf.service.DsfSession$3.run(DsfSession.java:398)
	at org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor$TracingWrapperRunnable.run(DefaultDsfExecutor.java:374)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
Uncaught exception in session executor thread: java.lang.AssertionError: Exception thrown by a IServiceEventListener.ServiceHandlerMethod method
	at org.eclipse.cdt.dsf.service.DsfSession.doDispatchEvent(DsfSession.java:541)
	at org.eclipse.cdt.dsf.service.DsfSession.access$2(DsfSession.java:475)
	at org.eclipse.cdt.dsf.service.DsfSession$3.run(DsfSession.java:398)
	at org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor$TracingWrapperRunnable.run(DefaultDsfExecutor.java:374)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)

GnuArmServicesFactory.createProcessesService(org.eclipse.cdt.dsf.service.DsfSession@30) ilg.gnumcueclipse.debug.gdbjtag.openocd.dsf.ServicesFactory@3b7d3ad1
GnuArmProcesses_7_2_1.initialize()
GnuArmProcesses_7_2_1.initialize() done

---

the effect is that the arm-none-eabi-gdb output is no longer visible, I can see only the openocd console.

I can enable the gdb trace console, but the main gdb console is not present.

any suggestion?


regards,

Liviu



Back to the top