Exception in dispatch()

Forum to discuss the new web client version of Servoy.

Exception in dispatch()

Postby swingman » Tue Feb 05, 2019 11:17 am

Code: Select all
Server Information
Servoy version 8.4.0 -releaseNumber 3402
Repository version 50

JVM Information
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.version=1.8.0_181
java.vm.info=mixed mode
java.vm.vendor=Oracle Corporation

Operating System Information
os.name=Windows Server 2016
os.version=10.0
os.arch=amd64


We are seeing some of these in the logs. We are running NG-Clients and a batch processor on Tomcat.
Any idea of what I should be looking for in my code to get rid of them?

Code: Select all
org.sablo.eventthread.EventDispatcher          
java.lang.StackOverflowError: null
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at com.servoy.j2db.server.ngclient.WebFormComponent.toString(WebFormComponent.java:115) ~[servoy_ngclient_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at com.servoy.j2db.server.ngclient.WebFormComponent.toString(WebFormComponent.java:115) ~[servoy_ngclient_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at com.servoy.j2db.server.ngclient.component.RuntimeWebComponent.toString(RuntimeWebComponent.java:737) ~[servoy_ngclient_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at com.servoy.j2db.scripting.JSEvent.toString(JSEvent.java:49) ~[j2db.jar:8.4.0.3402]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[?:1.8.0_181]
at org.sablo.specification.property.ChangeAwareList.toString(ChangeAwareList.java:761) ~[sablo_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractMap.toString(AbstractMap.java:559) ~[?:1.8.0_181]
at org.sablo.specification.property.ChangeAwareMap.toString(ChangeAwareMap.java:701) ~[sablo_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[?:1.8.0_181]
at org.sablo.specification.property.ChangeAwareList.toString(ChangeAwareList.java:761) ~[sablo_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractMap.toString(AbstractMap.java:559) ~[?:1.8.0_181]
at org.sablo.specification.property.ChangeAwareMap.toString(ChangeAwareMap.java:701) ~[sablo_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[?:1.8.0_181]
at org.sablo.specification.property.ChangeAwareList.toString(ChangeAwareList.java:761) ~[sablo_8.4.0.3402.jar:?]
at java.lang.String.valueOf(String.java:2994) ~[?:1.8.0_181]
at java.lang.StringBuilder.append(StringBuilder.java:131) ~[?:1.8.0_181]
at java.util.AbstractMap.toString(AbstractMap.java:559) ~[?:1.8.0_181]
---------
Christian Batchelor
Certified Servoy Developer
Batchelor Associates Ltd, London, UK
http://www.batchelorassociates.co.uk

http://www.postgresql.org - The world's most advanced open source database.
User avatar
swingman
 
Posts: 1472
Joined: Wed Oct 01, 2003 10:20 am
Location: London

Re: Exception in dispatch()

Postby Andrei Costescu » Mon Feb 11, 2019 10:29 am

Hard to say. But it seems like somewhere in some ng component or service you have a structure such as this one (in the .spec):

Code: Select all
(...)
"model": {
    (...)
},

"types": {
    "myCustomType": {
        (...),
        someListOfJSEvents: "JSEvent[]",
        someOtherKeyThatHoldsAListOfSameTypeOfCustomObject: "myCustomType[]"
    }
}
(...)


and at runtime you have something like this

myListInstance1 = [ ..., /*myCustomType*/ { someListOfJSEvents: [ /*JSEvent*/, ... ], someOtherKeyThatHoldsAListOfSameTypeOfCustomObject: myListInstance1 }, ... ]

So a list of (custom) objects that have at least a list of events and another list of (probably same type of) custom objects. And you somehow end up having the same instances (list holds object and object holds list) - probably assigning objects and lists somewhere in solution or server-side-scripting. Then the toString() method is called on one of those (but who calls that you cannot see from the stack).
Andrei Costescu
Servoy
Andrei Costescu
 
Posts: 1018
Joined: Tue Jun 26, 2007 3:14 pm

Re: Exception in dispatch()

Postby swingman » Tue Feb 12, 2019 2:38 pm

Thanks, I will check if this message appears when my customer components are displayed...
Christian Batchelor
Certified Servoy Developer
Batchelor Associates Ltd, London, UK
http://www.batchelorassociates.co.uk

http://www.postgresql.org - The world's most advanced open source database.
User avatar
swingman
 
Posts: 1472
Joined: Wed Oct 01, 2003 10:20 am
Location: London


Return to Servoy NGClient

Who is online

Users browsing this forum: No registered users and 11 guests