Discussions
Categories
- 197K All Categories
- 2.5K Data
- 546 Big Data Appliance
- 1.9K Data Science
- 450.8K Databases
- 221.9K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 552 MySQL Community Space
- 479 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3.1K ORDS, SODA & JSON in the Database
- 556 SQLcl
- 4K SQL Developer Data Modeler
- 187.2K SQL & PL/SQL
- 21.4K SQL Developer
- 296.4K Development
- 17 Developer Projects
- 139 Programming Languages
- 293.1K Development Tools
- 110 DevOps
- 3.1K QA/Testing
- 646.1K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 159 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.2K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 19 Java Essentials
- 162 Java 8 Questions
- 86K Java Programming
- 81 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 205 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 471 LiveLabs
- 39 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 175 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 233 Portuguese
Emulator is not starting after upgrading Java

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
-
You need to activate jdk.serialFilter and sun.rmi.registry.registryFilter.
the setp by step here
Answers
-
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.
-
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
-
...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-8155760So, 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.
-
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.
-
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.
-
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!
-
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.
-
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?
-
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
-
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!