Dave,
Please update everything as I've made a large number of changes in the last couple of days.
Service configurations should be saved when the services core plugin is stopped. This should happen when Eclipse is shut down, but it may be unreliable. If you kill the Eclipse session then it definitely won't be saved. I plan to change this to save whenever a configuration is changed which should make it more robust.
Which preferences dialog are you using to edit the service configuration? These are still in a bit of transition at the moment.
What sort of RSE connection are you using? Is RSE running before you see the hang (i.e can you browse files in the Remote Systems view?
Greg
On Oct 6, 2009, at 10:34 AM, Dave Wootton wrote:
I updated to the current PTP head this
morning and I am now running into a hang on a call to RemoteServicesProxy.getConnectionManager().
I started an Eclipse runtime instance
using the debugger and suspended the main thread. I consistently get the
traceback in the attached screen capture. It looks like RSE is waiting
for an operation to complete.
The remote service I see displayed in
the preceding println call is 'Remote service is org.eclipse.ptp.remote.internal.core.RemoteServicesProxy@d0c3d5'
The method in my code where the hang
happens is the following, where I have set up currentServiceConfiguration
when my code gets an IServiceConfiguration event notification. It also
seems that service configurations, resource managers and services within
a service configuration are not always being saved in persistent storage,
since if I shut down and restart the runtime Eclipse instance these objects
aren't always restored. Finally, it seems that if I use the service configuration
preferences dialog to edit a service configuration, and there is a launch
service defined, then when I add a performance analysis service, the launch
service seems to disappear. Could this be related to the hang?
Any other ideas?
* (non-Javadoc)
*
* @see
* org.eclipse.ptp.services.core.IServiceModelEventListener#handleEvent(
* org.eclipse.ptp.services.core.IServiceModelEvent)
*/
public
void
handleEvent(IServiceModelEvent event) {
currentServiceConfiguration
= (IServiceConfiguration) event.getSource();
if
(currentServiceConfiguration
== null)
{
MessageDialog
.openError(null,
Messages.PTPRemoteOperations_0,
"No
service configuration is selected as active service configuration");
return;
}
setServiceAttributes();
}
private
void
setServiceAttributes() {
IResourceManager resourceManagers[];
IResourceManager resourceManager;
String remoteServiceID;
IPUniverse universe;
IServiceProvider launchServiceProvider;
paServiceProvider
= currentServiceConfiguration
.getServiceProvider(hpctService);
if
(paServiceProvider
== null)
{
MessageDialog
.openError(null,
Messages.PTPRemoteOperations_0,
"Performance
analysis service not defined in active service configuration");
return;
}
launchServiceProvider = currentServiceConfiguration
.getServiceProvider(launchService);
if
(launchServiceProvider == null)
{
MessageDialog
.openError(null,
Messages.PTPRemoteOperations_0,
"Launch
service provider not defined in active service configuration");
return;
}
if
(!(launchServiceProvider instanceof
IResourceManagerConfiguration)) {
MessageDialog.openError(null,
Messages.PTPRemoteOperations_0,
"Launch
service provider is not a resource manager");
return;
}
remoteServiceID = ((IResourceManagerConfiguration)
launchServiceProvider)
.getRemoteServicesId();
if
(remoteServiceID == null)
{
MessageDialog.openError(null,
Messages.PTPRemoteOperations_0,
"No
remote services for launch service");
return;
}
remoteService
= PTPRemoteCorePlugin.getDefault().getRemoteServices(
remoteServiceID);
System.out.println("Remote
service is " + remoteService);
Hung here==>
remoteConnection
= remoteService.getConnectionManager().getConnection(
((IResourceManagerConfiguration) launchServiceProvider)
.getConnectionName());
System.out.println("Host
is " + remoteConnection.getName());
}
<Mail Attachment.gif>
Dave_______________________________________________ ptp-dev mailing list ptp-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/ptp-dev
|