Community
Participate
Working Groups
Exceptions thrown by a runnable executed in the DefaultDsfExecutor are logged when either assertions or the debug option "org.eclipse.cdt.dsf/debug/executor" are enabled. Unfortunately this logging is restricted to RuntimeExceptions. All other Exceptions or Errors are swallowed. I just had a hard time tracking down an issue where a NoSuchMethodError screwed things up badly. Without attaching a debugger this issue is almost impossible to diagnose. I suggest to log all uncaught Throwables.
Created attachment 169533 [details] Add catch for Error exceptions. Theoretically checked exceptions should not even make it to the tracing wrapper. But Error exceptions are not checked exception so we should definitely catch them too. Are there any other unchecked exceptions that we need to worry about?
I committed the fix. Toni, please review, and reopen if you think it's not sufficient.
+1 That should do it.
*** cdt cvs genie on behalf of ppiech *** Bug 313885 - [concurrency] TracingWrapperRunnable should log all Throwables not only RuntimeExceptions [*] DefaultDsfExecutor.java 1.10 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf/org.eclipse.cdt.dsf/src/org/eclipse/cdt/dsf/concurrent/DefaultDsfExecutor.java?root=Tools_Project&r1=1.9&r2=1.10