Hi,
            while trying to integrate the fix for the bug below i
              stumbled upon a new issue:
            Caused by: java.lang.NoSuchMethodError:
org.eclipse.ecf.remoteservice.AbstractRemoteService.isReturnAsync(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Z
                  at
org.eclipse.ecf.remoteservice.AbstractRemoteService.invoke(AbstractRemoteService.java:503)
                  ... 5 common frames omitted
            
            I updated the ECF implementation to the latest stable
              version 3.14.1. The above problem happens in bundle
              org.eclipse.ecf.remoteservice. The class
              AbstractRemoteService extends
              AbstractAsyncProxyRemoteService which is imported via
              package import :
            org.eclipse.ecf.remoteservice.asyncproxy;version="[1.0.0,3.0.0)"
            
            I decided to use the bundle
              org.eclipse.ecf.remoteservice.asyncproxy version
              1.1.0.v20180311-0310 (and not version 2.1. 0 because of
              other dependencies) which perfectly fits into that version
              range.
            The problem is that in that bundle the class
              AbstractAsyncProxyRemoteService does not have a method
              isReturnAsync which leads to the above error.
            
            
            Should i file a bug or is that a known problem?
            
            
            Thanks, bye Peter
            
            
            
            
            Am 19.09.2018 um 10:28 schrieb
              Peter Hermsdorf:
            
            
              Done: https://bugs.eclipse.org/bugs/show_bug.cgi?id=539218
              Thanks for looking at the issue!
              Bye Peter
              
              
              Am 18.09.2018 um 19:19
                schrieb Scott Lewis:
              
              Hi
                Peter, 
                
                I believe this is due to the (incorrect) line in
                ImportRegistration.close(): 
                
                        public void close() { 
                            boolean publish = false; 
                            ID containerID = null; 
                            Throwable exception = null; 
                            EndpointDescription endpointDescription =
                null; 
                            ImportReference imRef = null; 
                            synchronized (this) { 
                                // only do this once 
                                if (!closed) { 
                                    containerID = getContainerID(); 
                                    exception = getException(); 
                                    endpointDescription =
                getEndpointDescription(); 
                                    imRef = this.importReference; 
                                    publish =
                importReference.close(this); 
                                    this.importReference =
                null;                             <-- this line
                should be deleted 
                                    closed = true; 
                                } 
                            } 
                ...more code 
                
                I believe the importReference should never be set to
                null in the ImportRegistration and that it is incorrect
                that it did so.   Also synchronization needs to be added
                to ImportRegistration accessors so that the synchronized
                block above prevents access to importReference before
                closed = true (which is resulting in NPE I think). 
                
                Peter if you would please open a bug, and put your info
                in comments I will address in latest version as soon as
                I can. 
                
                Scott 
                
                
                
                
                
                On 9/18/2018 7:33 AM, Peter Hermsdorf wrote: 
                Hi, 
                  
                  we sometimes faces the following error: 
                  
                  java.lang.NullPointerException 
                      at
org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin$ImportRegistration.getException(RemoteServiceAdmin.java:1139)
                      at
org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin$ImportRegistration.getImportReference(RemoteServiceAdmin.java:1104)
                      at
org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.getImportedEndpoints(RemoteServiceAdmin.java:519)
                  
                  The corresponding code in the class ImportRegistration
                  is 
                  
                  public Throwable getException() { 
                              return
                  (closed)?updateException:importReference.getException();
                  
                  } 
                  
                  So obviously importReference is null but closed is
                  false. 
                  
                  Any ideas what could cause this state? I've seen that
                  there are changes on this class but wasn't able to
                  determine if these have something to do with this
                  handling. 
                  
                  We are still on ECF version 3.13.8 and we are using
                  the ecf-genric provider. 
                  
                  The above code and the call to getImportedEndpoints is
                  used to update the connection state in an RCP
                  application and is asynchronously executed and
                  triggered by a new event to an
                  RemoteServiceAdminListener .... so more ore less on
                  service state change. 
                  
                  
                  Any hints are welcome! 
                  
                  
                  Thanks, bye Peter