Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Hang in RemoteServicesProxy.getConnectionManager

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


Back to the top