Server gets buggy

I have noticed that Servoy server will start to get buggy after about 3 days up being up.
By buggy I mean that it will start giving error messages when users try to access layouts, or it won’t allow data to be entered in a random field. It will give a java object error etc.

All problems seem to magically go away when I restart Servoy server.

Unfortunately that can be a pain every third day.

Is there something I can do to make the server more stable?

Server Information
Servoy version 3.0-build 371, repository version 29
Current time: Tue Nov 21 11:30:05 PST 2006
Uptime: 52 minutes 48 seconds

User Information
Logged in as: XXXXXXX

JDK Information
java.vm.name=Java HotSpot™ Client VM
java.vm.version=1.4.2_03-b02
java.vm.info=mixed mode
java.vm.vendor=Sun Microsystems Inc.

Operating System Information
os.name=Linux
os.version=2.4.31
os.arch=i386

System Information
runtime.allocatedMemory=65152K
runtime.usedMemory=13829K

Hi Jim

The only thing I notice is that you are on Java 1.4 - following system is running on client’s server with Java 1.5 and - touch wood - is running fine. Are you able to pin down the problems to specific users or forms?

Server Information
Servoy version 3.0-build 371, repository version 29
Current time: Tue Nov 21 22:14:00 GMT 2006
Uptime: 35 days 9 hours 50 minutes 13 seconds

User Information
Logged in as: xxxxxxx

JDK Information
java.vm.name=Java HotSpot™ Client VM
java.vm.version=1.5.0_08-b03
java.vm.info=mixed mode, sharing
java.vm.vendor=Sun Microsystems Inc.

Operating System Information
os.name=Windows XP
os.version=5.1
os.arch=x86

System Information
runtime.allocatedMemory=65152K
runtime.usedMemory=17073K

Graham Greensall
Worxinfo Ltd

Are you able to pin down the problems to specific users or forms?

No. It can be any user and any form. I have found no commonalities at all. The fact that when I reboot the server, the problems goes away makes it more complicating.

I can upgrade java to 1.5 and I can upgrade Servoy to 3.01. Do you think that will help?

which backend database are you using? mySQl?

Questions:
a) Are you not developing at the same time on the same database (repository)? (especially datamodel changes will harm the running application server)
b) you only started the server with only 64Mb memory?
c) anything in your log file?

a) Are you not developing at the same time on the same database (repository)? (especially datamodel changes will harm the running application server)

Yes I am developing on the same repository as the application server. Are you saying that I should develop on a different repository?
I am using MYSQL as a repository.

b) you only started the server with only 64Mb memory?

I did not specify a particular amount of memory. Is there someplace that should happen?

c) anything in your log file?

I have three log files: server.log, servoy_log.txt and servoy_log.txt.1. I assume you are referring to the server.log Below is a copy of that log:

0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
982 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1682 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 198c6f3:10e1020523d:-7fff:serenity.pactitle.com:1
1 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1304 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 198c6f3:10e102b60b0:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
2015 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 198c6f3:10e102d5811:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1160 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 1fa5e5e:10e19549f61:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1104 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 1fa5e5e:10e2ddc88e1:-7fff:serenity.pactitle.com:1
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
1 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1072 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 1fa5e5e:10e6728c9b4:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1466 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 3fa6cd:10e75fb65c0:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
931 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 1ff2e1b:10e85dc732a:-7fff:serenity.pactitle.com:1
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.read(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.read(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.read(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at java.io.DataInputStream.read(Unknown Source)
at com.servoy.j2db.util.a.d$b.accept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1652 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 52d1a4:10e9aee4993:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
887 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 2bfdff:10eceabbd1b:-7fff:serenity.pactitle.com:1
1 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1011 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 3fa6cd:10ee325ca78:-7ff5:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1014 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 2bfdff:10eecbd8f96:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
1213 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: b0ede5:10ef3544dbd:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
655 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: d22462:10ef74df80d:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
980 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: d22462:10ef784ac31:-7fff:serenity.pactitle.com:1
0 [main] INFO com.servoy.j2db.util.Debug - Loading servoy.properties from /usr/local/servoy-3.0f/servoy.properties
621 [main] INFO com.servoy.j2db.util.Debug - Loading - Done
Created MBeanServer with ID: 52d1a4:10f0bceda94:-7fff:serenity.pactitle.com:1

Hi Jim,

We are developing away on servers which have been up for weeks with no problems.

One thought, not sure if relevant to you: If you deploy your solution on
Servoy Server, while you keep developing using Developer connected to the repository, you can under certain conditions get into problems with the primary keys if they are defined are managed by Servoy. You can create records in Developer, which the server is unaware of, and when the server tries to create new records, the pks are already used… leading to errors of various sorts…

Yes I have come across this problem where the developer does not see cached records and so on. I make sure not to do any data entry in developer for that very reason.

I started with a separate machines for developing and serving, but the problem is that as I am getting this system up and running, I run across a lot of bug fixes that needed immediate attention. I was having to import solutions every time I made a fix. It was a major pain. I quit that and just started to develop right on the server. It was faster and when I flushed the server, the users could restart and see the changes. For big stuff I would create a new release, but I didn’t want to do that for every little bug fix that have plagued me this past several months. The server thing is a pain, and if it is fixed by changing my development style so be it, but it wastes a lot of time having to export and import for a bunch of little changes that I am making on a daily basis.

Hi Jim,
When developing directly on your production server just keep 2 major things in mind:

  1. be carefull with creating records as Swingman pointed out with servoy sequences.
  2. If you do any changes on the datamodel with Servoy or a db tool
    (creating/deleting columns, renaming etc.) ALWAYS restart the Servoy server in order to get db and servoy server in sync again.

Apart form that, changing scripts, GUI etc… with developer is ok. Just flush the solution in the admin page.

  1. be carefull with creating records as Swingman pointed out with servoy sequences.
  2. If you do any changes on the datamodel with Servoy or a db tool
    (creating/deleting columns, renaming etc.) ALWAYS restart the Servoy server in order to get db and servoy server in sync again.

I have and will continue to be careful of both 1 and 2. So Marteen, what your saying is that developing on live solutions is not the problem why the server gets buggy about every 3rd day or so. So the problem still remains. As I write this, the server has been up for 1 day 32 minutes and 49 seconds. I’m just waiting to see how long until I have to reboot the server.

One thing I have noticed is that the first person in the morning usually gets an error message to the effect of “Data cannot be found” I am attributing it to some kind of sleep mode the server is in. The user clicks OK and continues with their work. Nothing seems to be affected. All of the data can be seen without problems.
Could this be the reason for the solution going buggy? Perhaps after being awoken several times over the course or 3 or so days, the solution data does not all come back on like it should. Am I on to something or smoking my socks? :slight_smile: