Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Problems after update to latest head

On Tue, 2007-08-14 at 20:48 -0400, Greg Watson wrote: 
> Hi all,
> 
> Sorry about this. Head has been a bit broken for the last few days. I  
> have just committed some changes I hope will fix the problems,  
> including this argument problem, and possibly the wizard display  
> problem some people have been seeing on Linux. I haven't tested the  
> latter on Linux yet, so feedback would be appreciated.
> 
Greg,

The orte_proxy problem has gone after the changes.
However, the AbstractRemoteResourceManagerConfigurationWizardPage
problems remains in Linux. I've noticed that the root cause is the
combo.select() call not generating the appropriate events in Linux, from
within initializeRemoteServicesCombo(). This may be one of those SWT
inconsistencies across platforms.
One way to get around this is to deffer all listener's registering to
occur after initializeRemoteServicesCombo(). This way,
handleRemoteServiceSelected() and handleConnectionSelected() can be
explicitly and safely called from initializeRemoteServicesCombo().This
should give a more uniform behavior across platforms, regardless of SWT.
If you are interested, there's a patch below.

> Greg
> 
> On Aug 14, 2007, at 7:32 PM, Clement Kam Man Chu wrote:
> 
> > I got exactly problems as you got.  For remote service id, I just  
> > hard code for fixing it temporary on my linux machine.  Regarding  
> > to connection problem, the problem I think orte_proxy cannot  
> > connect to eclipse probably by some strange arguments.  For fixing  
> > this problem, go to source  
> > org.eclipse.ptp.remote.AbstractRemoteProxyRuntimeClient method  
> > startupProxyServer() and comments two lines of codes like as  
> > belows.  I think both problems will be fixed soon.
> >
> >                    if (portForwarding) {
> >                        //args = "--host=localhost " + args;
> >                    } else {
> >                        //args = "--host=" + getSessionHost() + " "  
> > + args;
> >                    }
> >
> >
> > Clement
> >
> > Ricardo Marin Matinata wrote:
> >> On Mon, 2007-07-30 at 10:08 -0400, Dave Wootton wrote:
> >>
> >>> I'm not sure if this is the right way to fix the problem with the  
> >>> null pointer exception in handleNewRemoteConnectionSelected, but  
> >>> if I check remoteServices for null before trying to use it (lines  
> >>> 285 & 286), then when I click New, the remote services combo box  
> >>> gets updated with 'Local', and I complete the wizard. Then I can  
> >>> start my proxy and run my PE application.
> >>> Dave
> >>>
> >>>
> >>>
> >> Although i could successfully make everything work on Mac OS, I'm
> >> experiencing the exact same problem in Linux (tested both x86 and
> >> x86_64), with today's CVS HEAD. The way i've tried to work around the
> >> Wizard problem was to *force* an updateConnectionPulldown()  
> >> somewhere in
> >> the createContents() (see the pacth below). It seems that in  
> >> Linux, we
> >> are not getting the initial *Modify* event on the remoteCombo right
> >> after it is filled.
> >>
> >> With that, i was able to proceed with starting the orte_proxy, and
> >> actually observe another problem in Linux: the proxy client (in  
> >> Eclipse)
> >> never gets the server connect, even though there is a server process
> >> (orte_proxy) running. If I manually try to kill the running  
> >> server, and
> >> start another with the exact port parameter, everything proceeds
> >> normally.
> >> Is it possible that the server is coming up faster than the client  
> >> is up
> >> to listening (even makes sense?) ?

-- 
Ricardo M. Matinata
IDE/Hybrid, Linux on Cell/B.E. Development
LTC Systems Enablement | IBM Hortolandia, SP, Brazil


Index:
src/org/eclipse/ptp/remote/ui/wizards/AbstractRemoteResourceManagerConfigurationWizardPage.java
===================================================================
RCS
file: /cvsroot/tools/org.eclipse.ptp/core/org.eclipse.ptp.remote/src/org/eclipse/ptp/remote/ui/wizards/AbstractRemoteResourceManagerConfigurationWizardPage.java,v
retrieving revision 1.6
diff -u -r1.6 AbstractRemoteResourceManagerConfigurationWizardPage.java
---
src/org/eclipse/ptp/remote/ui/wizards/AbstractRemoteResourceManagerConfigurationWizardPage.java	15 Aug 2007 00:46:05 -0000	1.6
+++
src/org/eclipse/ptp/remote/ui/wizards/AbstractRemoteResourceManagerConfigurationWizardPage.java	15 Aug 2007 19:51:57 -0000
@@ -251,13 +251,7 @@
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 1;
 		remoteCombo.setLayoutData(gd);
-		remoteCombo.addModifyListener(new ModifyListener() {
-
-			public void modifyText(ModifyEvent e) {
-				handleRemoteServiceSelected();
-			}
-		});
-		
+				
 		// TODO work out how to skip a cell!!!
 		label = new Label(projComp, SWT.NONE);
 		gd = new GridData();
@@ -274,24 +268,11 @@
 		gd = new GridData(GridData.FILL_HORIZONTAL);
 		gd.horizontalSpan = 1;
 		connectionCombo.setLayoutData(gd);
-		connectionCombo.addModifyListener(new ModifyListener() {
-
-			public void modifyText(ModifyEvent e) {
-				handleConnectionSelected();
-				updatePage();
-			}
-		});
-
+		
 		newRemoteConnectionButton = SWTUtil.createPushButton(projComp,
Messages.getString("RemoteConfigurationWizard.newButton"), null);
-		newRemoteConnectionButton.addSelectionListener(new SelectionAdapter()
{
-
-			public void widgetSelected(SelectionEvent evt) {
-				handleNewRemoteConnectionSelected();
-				updatePage();
-			}
-		});	
 
 		initializeRemoteServicesCombo();
+		registerListeners();
 		
 		Composite proxyComp = new Composite(parent, SWT.NONE);
 		GridLayout proxyLayout = new GridLayout();
@@ -337,6 +318,29 @@
 		manualButton.addSelectionListener(listener);
 	}
 	
+	public void registerListeners() {
+		remoteCombo.addModifyListener(new ModifyListener() {
+
+			public void modifyText(ModifyEvent e) {
+				handleRemoteServiceSelected();
+			}
+		});
+		connectionCombo.addModifyListener(new ModifyListener() {
+
+			public void modifyText(ModifyEvent e) {
+				handleConnectionSelected();
+				updatePage();
+			}
+		});
+		newRemoteConnectionButton.addSelectionListener(new SelectionAdapter()
{
+
+			public void widgetSelected(SelectionEvent evt) {
+				handleNewRemoteConnectionSelected();
+				updatePage();
+			}
+		});	
+	}
+	
 	/**
 	 * Load the initial wizard state from the preference settings.
 	 */
@@ -563,6 +567,8 @@
 		if (remoteServices.length > 0) {
 			// Should trigger call to selection handler
 			remoteCombo.select(defIndex);
+			handleRemoteServiceSelected();
+			handleConnectionSelected();
 		}
 	}



Back to the top