Bug 17083 - [ExternalTools] Invalid Thread Access exception being thrown and lost
Summary: [ExternalTools] Invalid Thread Access exception being thrown and lost
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Ant (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P1 critical (vote)
Target Milestone: 2.0 F2   Edit
Assignee: Ryan Cooper CLA
QA Contact:
URL:
Whiteboard:
Keywords: ui
: 17589 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-05-22 17:02 EDT by Rodrigo Peretti CLA
Modified: 2002-09-18 13:59 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rodrigo Peretti CLA 2002-05-22 17:02:47 EDT
build F1

AntLaunchWizard.performFinish() has a IRunnableWithProgress that calls 
DefaultRunnerContext.run(). Note that the Wizard does not run in the UI thread 
and inside the run() method, if a problem occurs, it tries to show a dialog 
with a message (I guess). So the SWT exception is thrown because of the thread 
issue.

The other problem is that this exception is later on caught and wrapped in an 
InvocationTargetException. There is a try/catch block in 
AntLaunchWizard.performFinish() that creates a IStatus and shows an error 
dialog. The problem is that this dialog does not show the status information. 
It does say that an internal error has occurred and the use should see the log 
for details. The tools log is empty and there is no info in the .log file.

To reproduce the problem, there is a workspace zipped in bug 16749 that can be 
used.
Comment 1 Rodrigo Peretti CLA 2002-05-24 11:24:31 EDT
*** Bug 17589 has been marked as a duplicate of this bug. ***
Comment 2 Nick Edgar CLA 2002-05-27 16:05:42 EDT
Need to talk to UI using Display.[a]syncExec.

Should show status info in dialog.  See ErrorDialog.
Comment 3 Simon Arsenault CLA 2002-05-28 16:32:50 EDT
Dialog is now opened using Display.syncExec() call. Wrapped core exception used 
in error dialog instead of the InvokationTargetException.