Community
Participate
Working Groups
There is a bug in the solution to set breakpoints in DSF-GDB which seems to cause an infinite loop of assertions. I sometimes see the following, and when I do, it get thousands of them until eclipse runs out of memory. java.lang.AssertionError at org.eclipse.cdt.dsf.mi.service.MIRunControl$MakeTargetAvailableStep.execute(MIRunControl.java:1228) at org.eclipse.cdt.dsf.concurrent.Sequence.executeStep(Sequence.java:452) at org.eclipse.cdt.dsf.concurrent.Sequence.access$2(Sequence.java:366) at org.eclipse.cdt.dsf.concurrent.Sequence$2.handleSuccess(Sequence.java:413) at org.eclipse.cdt.dsf.concurrent.RequestMonitor.handleCompleted(RequestMonitor.java:353) at org.eclipse.cdt.dsf.concurrent.RequestMonitor$2.run(RequestMonitor.java:298) at org.eclipse.cdt.dsf.concurrent.DefaultDsfExecutor$TracingWrapperRunnable.run(DefaultDsfExecutor.java:371) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
Created attachment 195580 [details] Fix This patch aborts the sequence if a failure is detected. Previously, we would re-try the sequence indefinitely and get the same failure over and over again. Committed to head.
Fixed
*** cdt cvs genie on behalf of mkhouzam *** Bug 343862: Infinite assertions when an error happens when setting breakpoints [*] MIRunControl.java 1.36 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java?root=Tools_Project&r1=1.35&r2=1.36 [*] GDBRunControl_7_0_NS.java 1.35 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java?root=Tools_Project&r1=1.34&r2=1.35
Created attachment 195594 [details] Need to complete RequestMonitors I forgot to complete the RequestMonitors of the operations that we are cancelling, in case of failure. Committed to HEAD.
Pawel, can you review?
*** cdt cvs genie on behalf of mkhouzam *** Bug 343862: Infinite assertions when an error happens when setting breakpoints. Need to complete the requestMonitor of cancelled operations. [*] MIRunControl.java 1.37 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java?root=Tools_Project&r1=1.36&r2=1.37 [*] GDBRunControl_7_0_NS.java 1.36 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java?root=Tools_Project&r1=1.35&r2=1.36