Forum Stats

  • 3,770,444 Users
  • 2,253,115 Discussions
  • 7,875,457 Comments

Discussions

Emulator is not starting after upgrading Java

2833902
2833902 Member Posts: 23
edited May 17, 2017 4:54PM in Java ME Embedded

Hi,

I have the latest Java ME installed (uninstalled and re-installed today) and after upgrading Java to the latest version I get the following exception when trying to start the Device Manager:

[email protected]:~/Java_ME_platform_SDK_8.3/bin$ [      0]   INFO - lkit.bootstrap.DeployerManager - Registering custom property editors

[     13]   INFO - me.toolkit.bootstrap.Namespace - Starting batch, base module object-server

[     22]   INFO - bootstrap.ObjectGraphProcessor - Consolidating dependencies...

[     23]   INFO - bootstrap.ObjectGraphProcessor - Consolidated dependencies...

[     23]   INFO - bootstrap.ObjectGraphProcessor - Calculating order...

[     23]   INFO - bootstrap.ObjectGraphProcessor - Calculated order

[     34]   INFO - un.jme.toolkit.bootstrap.Batch - Initializing objects...

[     35]   INFO - un.jme.toolkit.bootstrap.Batch - Applying I18N

[     35]   INFO - un.jme.toolkit.bootstrap.Batch - Initialized objects

[     35]   INFO - un.jme.toolkit.bootstrap.Batch - Calling create() methods...

[     36]   INFO - un.jme.toolkit.bootstrap.Batch - Calling start() methods...

[     42]   INFO - un.jme.toolkit.bootstrap.Batch - Objects started

[     44]   INFO - me.toolkit.bootstrap.Namespace - Starting batch, base module process/device-manager

[     57]   INFO - bootstrap.ObjectGraphProcessor - Consolidating dependencies...

[     57]   INFO - bootstrap.ObjectGraphProcessor - Consolidated dependencies...

[     58]   INFO - bootstrap.ObjectGraphProcessor - Calculating order...

[     58]   INFO - bootstrap.ObjectGraphProcessor - Calculated order

[    273]   INFO - un.jme.toolkit.bootstrap.Batch - Initializing objects...

[    317]   INFO - un.jme.toolkit.bootstrap.Batch - Applying I18N

[    318]   INFO - un.jme.toolkit.bootstrap.Batch - Initialized objects

[    318]   INFO - un.jme.toolkit.bootstrap.Batch - Calling create() methods...

[    324]   INFO - un.jme.toolkit.bootstrap.Batch - Calling start() methods...

[    329]   INFO - sun.kvem.tools.http.HttpServer - HTTP server started!

[    349]   INFO - oolkit.jsr120.server.WmaServer - CBS server is bound to port 54455

[    350]   INFO - oolkit.jsr120.server.WmaServer - WMA Server is started

[    381]   INFO - r.GenericEmulatorDeviceAdapter - Got device ID: -1 for device name: EmbeddedDevice1

[    384]   INFO - r.GenericEmulatorDeviceAdapter - Allocated device ID: 0 for device name: EmbeddedDevice1 and device adapter: device-adapter.EmbeddedDevice

[    385]   INFO - r.GenericEmulatorDeviceAdapter - Reuse data for device ID 0 from work directory

[    385]   INFO - r.GenericEmulatorDeviceAdapter - Got device ID: -1 for device name: EmbeddedDevice2

[    385]   INFO - r.GenericEmulatorDeviceAdapter - Allocated device ID: 1 for device name: EmbeddedDevice2 and device adapter: device-adapter.EmbeddedDevice

[    385]   INFO - r.GenericEmulatorDeviceAdapter - Reuse data for device ID 1 from work directory

[    424]   INFO - r.GenericEmulatorDeviceAdapter - Got device ID: -1 for device name: Qualcomm_IoE_Device

[    424]   INFO - r.GenericEmulatorDeviceAdapter - Allocated device ID: 2 for device name: Qualcomm_IoE_Device and device adapter: device-adapter.Qualcomm_IoE_Device

[    424]   INFO - r.GenericEmulatorDeviceAdapter - Reuse data for device ID 2 from work directory

[    442]   INFO - un.jme.toolkit.bootstrap.Batch - Objects started

[    443]   INFO - me.toolkit.bootstrap.Namespace - Starting batch, base module modules/remoting-connector

[    444]   INFO - bootstrap.ObjectGraphProcessor - Consolidating dependencies...

[    445]   INFO - bootstrap.ObjectGraphProcessor - Consolidated dependencies...

[    445]   INFO - bootstrap.ObjectGraphProcessor - Calculating order...

[    445]   INFO - bootstrap.ObjectGraphProcessor - Calculated order

[    447]   INFO - un.jme.toolkit.bootstrap.Batch - Initializing objects...

[    447]   INFO - un.jme.toolkit.bootstrap.Batch - Applying I18N

[    448]   INFO - un.jme.toolkit.bootstrap.Batch - Initialized objects

[    448]   INFO - un.jme.toolkit.bootstrap.Batch - Calling create() methods...

[    448]   INFO - un.jme.toolkit.bootstrap.Batch - Calling start() methods...

[    450]   INFO - .rmiimpl.RemotingConnectorImpl - Starting JMX connector on service:jmx:rmi:///jndi/rmi://127.0.0.1:60950/device-manager

Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/savvas/Java_ME_platform_SDK_8.3/toolkit-lib/lib/jcomm2me/linux64/libcomm.so which might have disabled stack guard. The VM will try to fix the stack guard now.

It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

Jan 19, 2017 8:12:20 PM java.io.ObjectInputStream filterCheck

INFO: ObjectInputFilter REJECTED: class java.net.InetAddress, array length: -1, nRefs: 9, depth: 3, bytes: 7106, ex: n/a

[    513]  ERROR - strap.BasicObjectConfiguration - Problem calling start() on RemotingConnector

java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.invoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjectsImpl(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjects(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.startBatch(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.runModules(Unknown Source)

at com.sun.jme.toolkit.bootstrap.MainNamespace.runModules(Unknown Source)

at com.sun.jme.toolkit.bootstrap.MainNamespace.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.start(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.main(Unknown Source)

Caused by: java.io.IOException: Cannot bind to URL [rmi://127.0.0.1:60950/device-manager]: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)

at com.sun.jme.toolkit.remoting.server.rmiimpl.RemotingConnectorImpl.start(Unknown Source)

... 17 more

Caused by: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:161)

at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)

at javax.naming.InitialContext.bind(InitialContext.java:425)

at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)

... 18 more

Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:460)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)

at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:155)

... 22 more

Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:450)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.io.InvalidClassException: filter status: REJECTED

at java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1244)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1832)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

at sun.rmi.transport.tcp.TCPEndpoint.read(TCPEndpoint.java:555)

at sun.rmi.transport.LiveRef.read(LiveRef.java:292)

at sun.rmi.server.UnicastRef2.readExternal(UnicastRef2.java:78)

at java.rmi.server.RemoteObject.readObject(RemoteObject.java:455)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

... 15 more

[    519]   INFO - un.jme.toolkit.bootstrap.Batch - Flushing...

[    519]   INFO - un.jme.toolkit.bootstrap.Batch - Calling stop() methods...

[    519]   INFO - un.jme.toolkit.bootstrap.Batch - Calling destroy() methods...

[    519]   INFO - un.jme.toolkit.bootstrap.Batch - Objects stopped

[    519]  ERROR - oolkit.bootstrap.MainNamespace - java.lang.reflect.InvocationTargetException

java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.invoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjectsImpl(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjects(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.startBatch(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.runModules(Unknown Source)

at com.sun.jme.toolkit.bootstrap.MainNamespace.runModules(Unknown Source)

at com.sun.jme.toolkit.bootstrap.MainNamespace.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.start(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.main(Unknown Source)

Caused by: java.io.IOException: Cannot bind to URL [rmi://127.0.0.1:60950/device-manager]: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)

at com.sun.jme.toolkit.remoting.server.rmiimpl.RemotingConnectorImpl.start(Unknown Source)

... 17 more

Caused by: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:161)

at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)

at javax.naming.InitialContext.bind(InitialContext.java:425)

at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)

... 18 more

Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:460)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)

at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:155)

... 22 more

Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:450)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.io.InvalidClassException: filter status: REJECTED

at java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1244)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1832)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

at sun.rmi.transport.tcp.TCPEndpoint.read(TCPEndpoint.java:555)

at sun.rmi.transport.LiveRef.read(LiveRef.java:292)

at sun.rmi.server.UnicastRef2.readExternal(UnicastRef2.java:78)

at java.rmi.server.RemoteObject.readObject(RemoteObject.java:455)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

... 15 more

[    522]   INFO - un.jme.toolkit.bootstrap.Batch - Flushing...

[    523]   INFO - un.jme.toolkit.bootstrap.Batch - Calling stop() methods...

[    523]   INFO - un.jme.toolkit.bootstrap.Batch - Calling destroy() methods...

[    523]   INFO - un.jme.toolkit.bootstrap.Batch - Objects stopped

[    523]   INFO - un.jme.toolkit.bootstrap.Batch - Flushing...

[    523]   INFO - un.jme.toolkit.bootstrap.Batch - Calling stop() methods...

[    548]   INFO - oolkit.jsr120.server.WmaServer - WMA Server is stopped

[    581]   INFO - un.jme.toolkit.bootstrap.Batch - Calling destroy() methods...

[    581]   INFO - .util.net.SocketLocatorService - Removing file /home/savvas/./.javame-sdk/8.3/rmi-registry.port

[    581]   INFO - un.jme.toolkit.bootstrap.Batch - Objects stopped

[    582]   INFO - un.jme.toolkit.bootstrap.Batch - Flushing...

[    582]   INFO - un.jme.toolkit.bootstrap.Batch - Calling stop() methods...

[    582]   INFO - un.jme.toolkit.bootstrap.Batch - Calling destroy() methods...

[    582]   INFO - un.jme.toolkit.bootstrap.Batch - Objects stopped

[    582]  FATAL - me.toolkit.bootstrap.Container - java.lang.Exception: java.lang.reflect.InvocationTargetException

java.lang.Exception: java.lang.reflect.InvocationTargetException

at com.sun.jme.toolkit.bootstrap.MainNamespace.runModules(Unknown Source)

at com.sun.jme.toolkit.bootstrap.MainNamespace.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.run(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.start(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Container.main(Unknown Source)

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.invoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.ObjectConfiguration.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.tryInvoke(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjectsImpl(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Batch.startObjects(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.startBatch(Unknown Source)

at com.sun.jme.toolkit.bootstrap.Namespace.runModules(Unknown Source)

... 5 more

Caused by: java.io.IOException: Cannot bind to URL [rmi://127.0.0.1:60950/device-manager]: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at javax.management.remote.rmi.RMIConnectorServer.newIOException(RMIConnectorServer.java:827)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:432)

at com.sun.jme.toolkit.remoting.server.rmiimpl.RemotingConnectorImpl.start(Unknown Source)

... 17 more

Caused by: javax.naming.CommunicationException [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.InvalidClassException: filter status: REJECTED]

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:161)

at com.sun.jndi.toolkit.url.GenericURLContext.bind(GenericURLContext.java:228)

at javax.naming.InitialContext.bind(InitialContext.java:425)

at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:644)

at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:427)

... 18 more

Caused by: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:

java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:460)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:379)

at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)

at com.sun.jndi.rmi.registry.RegistryContext.bind(RegistryContext.java:155)

... 22 more

Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:

java.io.InvalidClassException: filter status: REJECTED

at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)

at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:450)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.io.InvalidClassException: filter status: REJECTED

at java.io.ObjectInputStream.filterCheck(ObjectInputStream.java:1244)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1832)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2231)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2155)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

at sun.rmi.transport.tcp.TCPEndpoint.read(TCPEndpoint.java:555)

at sun.rmi.transport.LiveRef.read(LiveRef.java:292)

at sun.rmi.server.UnicastRef2.readExternal(UnicastRef2.java:78)

at java.rmi.server.RemoteObject.readObject(RemoteObject.java:455)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)

at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)

... 15 more

This is causing the Eclipse (as well as the Netbeans) plugins to fail upon start-up which is preventing the IDEs to start altogether.

My environment is the following:

Java SE:

java version "1.8.0_121"

Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Java ME: the latest as of today

OS: Ubuntu Linux 14.04 LTS

Any ideas as to what might be happening? Is this some kind of class incompatibility when de-serialising some object?

Thanks

Best Answer

«1

Answers

  • 3345501
    3345501 Member Posts: 12
    edited Jan 25, 2017 5:16AM

    I have the same problem on windows 7 after installing jdk-8u121-windows-x64

    I tried to uninstall javaME and install again. The problem remains and no emulation device is available any more.

    I hope someone of Oracle is looking sometimes into this forum, because this is a several problem and the bug must be have introduced by Oracle.

  • 2833902
    2833902 Member Posts: 23
    edited Jan 25, 2017 5:32PM

    I dug into the Java 8 source code a bit (at least the one that comes inside the src.zip) and I discovered the following:

    The exception seems to be thrown from within the following method in ObjectInputStream (no other occurrence of the "filter status:" string at least in this class):

    private void filterCheck(Class<?> clazz, int arrayLength)

                throws InvalidClassException {

            if (serialFilter != null) {

                RuntimeException ex = null;

                ObjectInputFilter.Status status;

                try {

                    status = serialFilter.checkInput(new FilterValues(clazz, arrayLength,

                            totalObjectRefs, depth, bin.getBytesRead()));

                } catch (RuntimeException e) {

                    // Preventive interception of an exception to log

                    status = ObjectInputFilter.Status.REJECTED;

                    ex = e;

                }

                if (status == null  ||

                        status == ObjectInputFilter.Status.REJECTED) {

                    // Debug logging of filter checks that fail

                    if (Logging.infoLogger != null) {

                        Logging.infoLogger.info(

                                "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}",

                                status, clazz, arrayLength, totalObjectRefs, depth, bin.getBytesRead(),

                                Objects.toString(ex, "n/a"));

                    }

                    InvalidClassException ice = new InvalidClassException("filter status: " + status);

                    ice.initCause(ex);

                    throw ice;

                } else {

                    // Trace logging for those that succeed

                    if (Logging.traceLogger != null) {

                        Logging.traceLogger.finer(

                                "ObjectInputFilter {0}: {1}, array length: {2}, nRefs: {3}, depth: {4}, bytes: {5}, ex: {6}",

                                status, clazz, arrayLength, totalObjectRefs, depth, bin.getBytesRead(),

                                Objects.toString(ex, "n/a"));

                    }

                }

            }

        }

    I searched for the log message of the logger in the stack trace and I found this:

    "INFO: ObjectInputFilter REJECTED: class java.net.InetAddress, array length: -1, nRefs: 9, depth: 3, bytes: 7106, ex: n/a"

    So, it seems that the last SE update possibly changed the InetAddress class in a way that is not serialisation-compatible with ME?

    Perhaps, someone with a more in-depth view of this can comment? There is no mention of any changes in this class in the release notes: Java™ SE Development Kit 8, Update 121 Release Notes

    Thanks

  • 2833902
    2833902 Member Posts: 23
    edited Jan 26, 2017 4:39AM

    ...on more careful inspection of the Update Release Notes however, I noticed the following is mentioned as the first change:

    New Features

    core-libs/java.io:serialization
    Serialization Filter Configuration
    Serialization Filtering introduces a new mechanism which allows incoming streams of object-serialization data to be filtered in order to improve both security and robustness. Every ObjectInputStream applies a filter, if configured, to the stream contents during deserialization. Filters are set using either a system property or a configured security property. The value of the "jdk.serialFilter" patterns are described in JEP 290 Serialization Filtering and in <JRE>/lib/security/java.security. Filter actions are logged to the 'java.io.serialization' logger, if enabled.
    See JDK-8155760

    So, it looks like serialisation filtering has probably now been enabled by default and needs to be either disabled or configured differently, manually? So, it could be that the emulator needs to start with some additional system property(ies).

    I'll look into that a bit later today and update this thread if I make some progress.

  • 01d82d42-eb77-4546-9c9f-4a97fb34bbe6
    edited Jan 31, 2017 10:02AM

    Did you fix this problem? If yes, please send me how. Second day I can't work normal because have this bug. Thanks, and sorry for my english.

  • 2833902
    2833902 Member Posts: 23
    edited Jan 31, 2017 2:08PM

    Sadly, I didn't...

    I tried playing around with the "jdk.serialFilter" system property in the hope of disabling the filter altogether but that didn't work..then again, if the filter is there to assert the loading class's integrity maybe it shouldn't be disabled, in the first place...

    I also haven't got the source code of ObjectInputFilter (which has a factory method to get a filter) to see how exactly the filter is being created.

    Hopefully, this will be fixed with the next ME release.

  • 3345501
    3345501 Member Posts: 12
    edited Feb 2, 2017 11:32AM

    I had this bug too. I resolved the problem by installing jdk1.8.0_112 again and adapting the file named java in the ..\Java_ME_platform_SDK_8.3\bin directory to point to this version of jdk. On doing so at least some parts work again. But anyway JavaME is a bag full of bugs! For instance I haven't found any way to add Raspberry Pi as external device within Eclipse!

  • 2833902
    2833902 Member Posts: 23
    edited Feb 2, 2017 3:56PM

    Well, yes..that's one way of resolving this issue, I suppose..

    Regarding adding the Pi into to the list of available devices to run your MIDlets against in Eclipse, you need to (as per the documentation) first register the Pi device in the Device Connections Manager after you set up ME in the device (just click on the "Setup new device.." button and follow the wizard). Have a look here https://docs.oracle.com/javame/8.3/get-started-rpi/installing-oracle-java-me-embedded-software-raspberry-pi-board.htm#ME…

    Not sure if it's the specific combination of RasPi/ME/Eclipse versions I'm using but as I mentioned in another thread, I was able to get it all working (and deploy a MIDlet on the device) in less than an hour by following the documentation.

    On a different note, would anyone know the correct ME update URL to use? The one that comes by default with the update-centre tool (http://download.oracle.com/otn-pub/java/java_me_sdk/update/8.3 ) doesn't seem to be the right one.

  • 3345501
    3345501 Member Posts: 12
    edited Feb 6, 2017 2:24AM

    I must complete my previous findings. The Problems is related to jdk1.8.0_121 without any doubt! I said before I reinstalled the previous jdk again and got some kind of working. Yes I did, but it was a form of working with no possibility to know what kind of output you get. Fully random, accidental, haphazardly, etc. To get a working system I had to uninstall jdk1.8.0.121 completely, as well as 1.8.0_112 and JavaMe 8.3 too of course. Then reinstall jdk 1.8.0_112 and JavaME 8.3! Unfortunately not enough. Eclipse had to be uninstalled and reinstalled too! And doing this by part and testing in between still gave strange results. The final approach was uninstall all mentioned SW and install all step by step. The additional experience was, that the c++ extension of eclipse must be installed after the JavaME module! Conclusion upgrading the jdk cost me more or less 2 days of work doing nothing useful, but install and uninstall and see if it works again. Yes, now it does. But for very high costs! And what should I do from now in the future! Ignore the next version post jdk1.8.0_121 or risk to get the same troubles again? The fear is well founded, because I have made the same experience with Glassfish 4. With an SW-upgrade turning a running system into bag of mess. And worst of all Oracle doing nothing to fix the bug for years. Result: Glassfish ended in the waste bucket, replaced by Wildfly! Not a happy end, isn't it?

  • 2833902
    2833902 Member Posts: 23
    edited Feb 6, 2017 2:35PM

    Well, I had a less painful experience in sorting this out, if I want to be honest...

    All I did was download jdk1.8.0_112 and then change the JAVA_HOME property inside the device-manager script under %JAVA_ME_HOME/bin to point to that earlier version.

    After I did that everything worked (Eclipse, Eclipse plugin, Device Manager etc) and I was able to install the ME runtime on my Pi through the Device Manager.

    Maybe it's the specific combination I'm using? Here's my stack:

    Java: jdk1.8.0_112 (my main version is still 1.8.0_121 but as you pointed out it is causing this issue)

    Java ME: The latest 8.3

    Eclipse: Neon.2 Release (4.6.2)

    RasPi (in case this is of interest): Model B+ (with Raspbian)

    Host OS: Ubuntu 14.04 LTS

    HTH

  • 3345501
    3345501 Member Posts: 12
    edited Feb 8, 2017 1:57AM

    I have almost the same configuration, but OS is Win 7 and in addition I have C++ installed within the same Eclipse IDE. I use C++ with JNI for trying out which path brings me faster to the goal of having a CAN-Bus device for Heater and smart Home control. JNI is painful, I know. But the problem with JavaME ist mostly outdated and incomplete documentation. José Cruz has a lot of nice examples and I don't doubt they work. But I'm missing background information. If he use a "1" in a place or a "name" in an other, it is enough to show it works, but as I havent found any documentation yet which tells me from where and why a "1" or a "name" is used, I'm simply not able to adapt it to my case! The aim of JavaME finally is to access a device, or a kernel loaded module and to establish a data channel. But to achieve this, I must know what data from my device I must give to the GenericDevice Configurator, or what ever to set up this channel!

This discussion has been closed.