Page 1 of 1

SEVERE: error unmarshalling return; nested exception...

PostPosted: Wed Dec 11, 2019 4:39 pm
by swingman
Hi all,

Trying to start Smart Client in Servoy 2019.03.1, and getting this error in the console:

Code: Select all
Java Web Start 11.231.2.11
Using JRE version 1.8.0_231-b11 Java HotSpot(TM) 64-Bit Server VM
JRE expiration date: 17/02/20 00:00
console.user.home = /Users/chrisb
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
Dec 11, 2019 2:35:20 PM com.servoy.j2db.util.Debug error
SEVERE: error unmarshalling return; nested exception is:
   java.io.EOFException
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
   java.io.EOFException
   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:194)
   at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227)
   at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179)
   at com.sun.proxy.$Proxy15.getActiveRootObject(Unknown Source)
   at com.servoy.j2db.ClientRepository.getActiveRootObject(ClientRepository.java:141)
   at com.servoy.j2db.AbstractActiveSolutionHandler.loadSolution(AbstractActiveSolutionHandler.java:67)
   at com.servoy.j2db.server.shared.RemoteActiveSolutionHandler.access$1(RemoteActiveSolutionHandler.java:1)
   at com.servoy.j2db.server.shared.RemoteActiveSolutionHandler$1.run(RemoteActiveSolutionHandler.java:90)
   at com.servoy.j2db.util.UIUtils$1.run(UIUtils.java:161)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.EOFException
   at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2960)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1540)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
   at java.util.HashMap.readObject(HashMap.java:1412)
   at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
   at java.util.ArrayList.readObject(ArrayList.java:797)
   at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
   at java.util.ArrayList.readObject(ArrayList.java:797)
   at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:498)
   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
   at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:322)
   at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:174)
   ... 11 more


Any idea of what I should look for?
Solution appears fine in Developer.

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Wed Dec 11, 2019 8:18 pm
by swingman
Any ideas how to fix this?

- I tried downgrading Java to 8u211 but that did not help
- I have cleared the Java cache and deleted the contents of ~/.servoy
- I have tried importing into repositories copied in from backups
- I have deleted all the solutions, restarted the server and imported again.
- I have been looking the logs without spotting anything useful....

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Wed Dec 11, 2019 9:16 pm
by jcompagner
this is a very weird seralization error of the solution (so transfer the solution from the server to the client)
Dont know where that could be in, maybe even in the network.

Can you test this also against localhost itself? do you also then get the same thing?
Server side there is no log what so ever ?

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Wed Dec 11, 2019 9:57 pm
by swingman
I’m going to try to install a fresh, clean server - you know more than me - but my suspicion is that I have made some Chang to something which is incompatible if compared to the old version...

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Thu Dec 12, 2019 2:28 pm
by swingman
I'm still struggling with this one...

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Thu Dec 12, 2019 2:35 pm
by swingman
Found it: My solution had NG-Client specific forms, I'm working to replace the IT2beCalendar with fullcalendar. Depending on the deployment type, i.e Smart Client or NG Client I was showing different forms. This has worked fine up to now -- at least from Developer. After deleting the NG-specific stuff, the Smart Client loads fine from a the Servoy Server.

Now, is it safe to have NG-stuff hidden in a Smart Client solution while preparing the migration?

Re: SEVERE: error unmarshalling return; nested exception...

PostPosted: Thu Dec 12, 2019 4:34 pm
by jcompagner
ah but that should be something that must be shown the server side log
It really tries to push over stuff that is not serializeable
What did you exactly change?

i think it is better to work a bit the other way around. That the SmartClient solution is a module of the NGClient solution and you try to avoid touching the smart client