java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.IOException: unknown protocol: felix]

Atlassian JIRA | Xavier MOGHRABI | 8 years ago
  1. 0

    We use Confluence on top of JOnAS 4.8.6 that includes Tomcat 5.5.17. The previous version of Confluence work fine and the 2.9.2 version is in production. However we can't use Confluence 2.10 and 2.10.1 because those versions prevent our application server to call external EJB. In fact, this is a critical issue for us because all of our security model relies on EJB and RemoteLoginModule. For instance when I try to login on Confluence I get the following exception : javax.naming.NamingException [Root exception is java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.IOException: unknown protocol: felix] at org.objectweb.carol.cmi.jndi.FlatCtx.lookup(FlatCtx.java:236) at org.objectweb.carol.cmi.jndi.FlatCtx.lookup(FlatCtx.java:250) at javax.naming.InitialContext.lookup(InitialContext.java:355) at org.objectweb.carol.jndi.spi.AbsContext.lookup(AbsContext.java:140) at org.objectweb.carol.jndi.spi.AbsContext.lookup(AbsContext.java:150) at javax.naming.InitialContext.lookup(InitialContext.java:351) at javax.naming.InitialContext.lookup(InitialContext.java:351) at org.objectweb.jonas.security.auth.spi.RemoteLoginModule.findRemoteResource(RemoteLoginModule.java:274) at org.objectweb.jonas.security.auth.spi.RemoteLoginModule.login(RemoteLoginModule.java:186) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:579) at org.objectweb.jonas.security.realm.web.catalina55.JAAS.authenticate(JAAS.java:149) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:257) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:416) at org.objectweb.jonas.web.catalina55.ResetAuthenticationValve.invoke(ResetAuthenticationValve.java:107) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) at websecurity.filter.AuthenticationValve.invoke(AuthenticationValve.java:97) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.IOException: unknown protocol: felix at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) at java.lang.Thread.run(Thread.java:595) at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126) at org.objectweb.carol.cmi.RegistryImpl_Stub.lookup(Unknown Source) at org.objectweb.carol.cmi.RegistryClient.lookup(RegistryClient.java:89) at org.objectweb.carol.cmi.jndi.FlatCtx.lookup(FlatCtx.java:219) ... 34 more Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.IOException: unknown protocol: felix at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282) at sun.rmi.transport.Transport$1.run(Transport.java:153) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:149) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) ... 1 more Caused by: java.io.IOException: unknown protocol: felix at java.net.URL.readObject(URL.java:1217) at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279) ... 6 more The issue seems to come from Felix. After few researches, I've found that Confluence use twice almost the same library of Felix : org.apache.felix.framework-1.2.1-atlassian-3.jar org.apache.felix.main-1.2.1-atlassian-3.jar For me, the 1st one is useless. The JOnAS experts told me that upgrading to the latest version of Felix (1.4.0) could solve the problem. So after upgrading to Felix 1.4.0 I can login. However several plugins doesn't deploy any more : 2009-02-05 11:44:35,988 * INFO * Initialising the plugin system [com.atlassian.plugin.DefaultPluginManager] 2009-02-05 11:44:39,324 * ERROR * Exception calling listener method [com.atlassian.plugin.event.impl.DefaultPluginEventManager] java.lang.NoSuchMethodError: org.apache.felix.framework.Felix.<init>(Lorg/apache/felix/framework/Logger;Ljava/util/Map;Ljava/util/List;)V 2009-02-05 11:44:42,428 * ERROR * Unable to deploy plugin 'com.atlassian.confluence.extra.widgetconnector', file Unit: /opt/appserver/exo/Lab650701C_linurge1_Jon48_WIKIADM/confluence-data/bundled-pl ugins/widgetconnector-1.0.1.jar (1233830646000) [com.atlassian.plugin.loaders.DirectoryPluginLoader] java.lang.IllegalArgumentException: The host component registrations are required 2009-02-05 11:44:42,499 * ERROR * Unable to deploy plugin 'confluence.repository.client', file Unit: /opt/appserver/exo/Lab650701C_linurge1_Jon48_WIKIADM/confluence-data/bundled-plugins/atlassian-pl ugin-repository-confluence-plugin-2.1.1.jar (1233830646000) [com.atlassian.plugin.loaders.DirectoryPluginLoader] java.lang.IllegalArgumentException: The host component registrations are required 2009-02-05 11:44:42,612 * ERROR * Unable to deploy plugin 'confluence.extra.dynamictasklist2', file Unit: /opt/appserver/exo/Lab650701C_linurge1_Jon48_WIKIADM/confluence-data/bundled-plugins/dynamic tasklist2-3.1.1.jar (1233830646000) [com.atlassian.plugin.loaders.DirectoryPluginLoader] java.lang.IllegalArgumentException: The host component registrations are required Finally, my request is that I'd like Confluence to be upgraded with Felix >=1.4.0 for the next releases.

    Atlassian JIRA | 8 years ago | Xavier MOGHRABI
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.IOException: unknown protocol: felix]
  2. 0

    Failure to communicate with server

    GitHub | 3 years ago | hemberger
    java.rmi.UnmarshalException: unrecognized method hash: method not supported by remote object
  3. 0

    Jackrabbit server(1.6.4) is not starting properly

    jackrabbit-users | 4 years ago | fulranjan
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: org.apache.jackrabbit.rmi.server.ServerRepository_Stub (no security manager: RMI class loader disabled)
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    RMI from Jar

    Oracle Community | 1 decade ago | 843793
    StreamRemoteCall.java: 247)
  6. 0

    RMI example just doesn't work (jdk1.5.0_01+jdk1.5.0)

    Oracle Community | 1 decade ago | 843793
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: example.hello.Hello java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: example.hello.Hello

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.io.IOException

      unknown protocol: felix

      at java.net.URL.readObject()
    2. Java RT
      Thread.run
      1. java.net.URL.readObject(URL.java:1217)
      2. sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:585)
      5. java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
      6. java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
      7. java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
      8. java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
      9. java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
      10. java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
      11. java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
      12. sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
      13. sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
      14. sun.rmi.transport.Transport$1.run(Transport.java:153)
      15. java.security.AccessController.doPrivileged(Native Method)
      16. sun.rmi.transport.Transport.serviceCall(Transport.java:149)
      17. sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
      18. sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
      19. java.lang.Thread.run(Thread.java:595)
      19 frames