Upgraded and now can't start server

Just upgraded from 2.2.7 to 2.2.8 and now Servoy server won’t start.

I’m running on RH Linux and everything was working perfectly before the upgrade. Developer on the same box seems to work fine.

Version R2 2.2.8-build 340
Java version 1.4.2_04-b05 (Linux)

Loading servoy.properties from /usr/local/servoy/servoy.properties
Loading - Done
Feb 26, 2008 12:01:28 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Feb 26, 2008 12:01:53 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Feb 26, 2008 12:01:54 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Feb 26, 2008 12:01:55 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Feb 26, 2008 12:01:58 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.MySQLDialect
Feb 26, 2008 12:02:00 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Feb 26, 2008 12:02:01 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect
Exception in thread “main” java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ArrayBlockingQueue
at com.servoy.j2db.util.a.d$c.(Unknown Source)
at com.servoy.j2db.util.a.d.createServerSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:615)
at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:231)
at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:178)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:145)
at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:78)
at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:164)
at com.servoy.j2db.server.ApplicationServer.a(Unknown Source)
at com.servoy.j2db.server.ApplicationServer.main(Unknown Source)
Feb 26, 2008 12:02:03 PM net.sf.hibernate.dialect.Dialect
INFO: Using dialect: net.sf.hibernate.dialect.SQLServerDialect

I can confirm this issue on Mac OS X Server 10.4.11 with Java 1.5.0_13-121.
I made a copy of the whole directory (after stopping Servoy server) and ran Developer and let it do the upgrade. Restarted Developer and everything seemed to be fine.
Launched Servoy server and it dies consistantly with the following tracelog:

Exception in thread "main" java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/ArrayBlockingQueue
        at com.servoy.j2db.util.a.d$c.<init>(Unknown Source)
        at com.servoy.j2db.util.a.d.createServerSocket(Unknown Source)
        at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:622)
        at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:237)
        at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:184)
        at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:382)
        at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:116)
        at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:180)
        at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
        at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
        at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
        at com.servoy.j2db.server.ApplicationServer.a(Unknown Source)
        at com.servoy.j2db.server.ApplicationServer.main(Unknown Source)

Filed a case under #119969

Robert,

Do you have the file concurrent.jar in the servoy/lib directory?

Rob

Hi Rob,

rgansevles:
Do you have the file concurrent.jar in the servoy/lib directory?

Yes that file is there (327,810 bytes).

Hi all,

I have exactly the same problem after installing the same updates… It seems to be a Servoy Bug… My thread: http://forum.servoy.com/viewtopic.php?p=50291#50291

Bevil

All,

The problem is a missing library in the classpath in servoy_server.sh.
Add ```
:lib/concurrent.jar


The complete files can be downloaded here:
<a class="postlink" href="http://downloads.servoy.com/downloads/22x_product/servoy_server.sh">http://downloads.servoy.com/downloads/2 ... _server.sh</a> server start script for linux and macos
<a class="postlink" href="http://downloads.servoy.com/downloads/22x_product/servoy_server.bat">http://downloads.servoy.com/downloads/2 ... server.bat</a> server start script for windows
<a class="postlink" href="http://downloads.servoy.com/downloads/22x_product/wrapper.conf">http://downloads.servoy.com/downloads/2 ... apper.conf</a> java windows service wrapper config file

Rob

In addition to what Rob posted above, if you run Servoy as a server, you need to do the following:

In wrapper.conf, find both occurrences of ‘$INSTALL_PATH’ and replace them by the full path of your servoy installation directory, for instance:
C:\Program Files\Servoy
No escaping is required.

Hi

I have recently had a client “accidentally” upgrade the server from 2.27 to 2.28.

we initially could not start developer or the servoy service after the update.

I have copied the new wrapper.conf and servoy_server.bat files into the servoy folder and edited the files as suggested.

We can start the servoy service but cannot log into the server admin tool. The service says it has started. We also cannot start developer.

Any ideas on what is going on, alternative is a reinstall.

Server.bat
@echo off

:restart
rem To enable logging change ‘java’ into ‘java -DSTACKTRACE=true’
java -Djava.awt.headless=true -Xmx256m -Xms64m -classpath .;lib\commons-collections.jar;lib\commons-dbcp.jar;lib\commons-pool.jar;lib\activation.jar;lib\antlr.jar;lib\j2db.jar;lib\j2dbdev.jar;lib\compat141.jar;lib\jndi.jar;lib\js.jar;lib\jta.jar;lib\mail.jar;lib\jug.jar;lib\jdbc2_0-stdext.jar;lib\naming-common.jar;lib\naming-resources.jar;lib\servlet.jar;lib\xerces.jar;lib\server-bootstrap.jar;lib\commons-fileupload-1.0.jar;lib\commons-logging.jar;lib\hibernate2.jar;lib\concurrent.jar com.servoy.j2db.server.ApplicationServer %1 %2 %3 %4 %5 %6 %7 %8 %9

rem loaded by tomcat it self: server\lib\catalina.jar;server\lib\jakarta-regexp-1.2.jar;server\lib\jasper-compiler.jar;server\lib\jasper-runtime.jar;server\lib\naming-factory.jar;server\lib\servlets-common.jar;server\lib\servlets-default.jar;server\lib\servlets-invoker.jar;server\lib\servlets-manager.jar;server\lib\servlets-snoop.jar;server\lib\servlets-webdav.jar;server\lib\tomcat-ajp.jar;server\lib\tomcat-util.jar;server\lib\warp.jar

rem restart if the server exited with the restart exit code 99
if errorlevel 99 goto restart

wrapper.conf
#********************************************************************

Wrapper Properties

#********************************************************************

Java Application

wrapper.java.command=java

Java Main class

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

Application parameters. Add parameters as needed starting from 1

wrapper.app.parameter.1=com.servoy.j2db.server.ApplicationServer

Java Classpath (include wrapper.jar) Add class path elements as needed starting from 1

wrapper.java.classpath.1=.
wrapper.java.classpath.2=service\wrapper.jar
wrapper.java.classpath.3=lib\commons-collections.jar
wrapper.java.classpath.4=lib\commons-dbcp.jar
wrapper.java.classpath.5=lib\commons-pool.jar
wrapper.java.classpath.6=lib\activation.jar
wrapper.java.classpath.7=lib\antlr.jar
wrapper.java.classpath.8=lib\j2db.jar
wrapper.java.classpath.9=lib\j2dbdev.jar
wrapper.java.classpath.10=lib\compat141.jar
wrapper.java.classpath.11=lib\jndi.jar
wrapper.java.classpath.12=lib\js.jar
wrapper.java.classpath.13=lib\jta.jar
wrapper.java.classpath.14=lib\mail.jar
wrapper.java.classpath.15=lib\jug.jar
wrapper.java.classpath.16=lib\jdbc2_0-stdext.jar
wrapper.java.classpath.17=lib\naming-common.jar
wrapper.java.classpath.18=lib\naming-resources.jar
wrapper.java.classpath.19=lib\servlet.jar
wrapper.java.classpath.20=lib\xerces.jar
wrapper.java.classpath.21=lib\server-bootstrap.jar
wrapper.java.classpath.22=lib\commons-fileupload-1.0.jar
wrapper.java.classpath.23=lib\commons-logging.jar
wrapper.java.classpath.24=lib\hibernate2.jar
wrapper.java.classpath.25=lib\concurrent.jar

Java Library Path (location of Wrapper.DLL or libwrapper.so)

wrapper.java.library.path.1=C:\Program Files\Servoy\Service

Java Additional Parameters

wrapper.java.additional.1=-Djava.awt.headless=true
wrapper.java.additional.2=-Duser.dir=“C:\Program Files\Servoy”

Initial Java Heap Size (in MB)

wrapper.java.initmemory=3

Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=256

Port which the native wrapper code will attempt to connect to

wrapper.port=1777

wrapper.on_exit.default=RESTART
wrapper.on_exit.0=SHUTDOWN
wrapper.jvm_exit.timeout=60

#********************************************************************

Wrapper Logging Properties

#********************************************************************

Format of output for the console. (See docs for formats)

wrapper.console.format=PM

Log Level for console output. (See docs for log levels)

wrapper.console.loglevel=INFO

Log file to use for wrapper output logging.

wrapper.logfile=….service_log.txt

Format of output for the log file. (See docs for formats)

wrapper.logfile.format=LPTM

Log Level for log file output. (See docs for log levels)

wrapper.logfile.loglevel=INFO

Maximum size that the log file will be allowed to grow to before

the log is rolled. Size is specified in bytes. The default value

of 0, disables log rolling. May abbreviate with the ‘k’ (kb) or

‘m’ (mb) suffix. For example: 10m = 10 megabytes.

wrapper.logfile.maxsize=0

Maximum number of rolled log files which will be allowed before old

files are deleted. The default value of 0 implies no limit.

wrapper.logfile.maxfiles=0

Log Level for sys/event log output. (See docs for log levels)

wrapper.syslog.loglevel=FATAL

#********************************************************************

Wrapper NT Service Properties

#********************************************************************

WARNING - Do not modify any of these properties when an application

using this configuration file has been installed as a service.

Please uninstall the service before modifying this section. The

service can then be reinstalled.

Name of the service

wrapper.ntservice.name=ServoyService

Display name of the service

wrapper.ntservice.displayname=Servoy Application Server

Description of the service

wrapper.ntservice.description=Servoy Application Server

Service dependencies. Add dependencies as needed starting from 1

wrapper.ntservice.dependency.1=

Mode in which the service is installed. AUTO_START or DEMAND_START

wrapper.ntservice.starttype=DEMAND_START

Priority at which the service is run. NORMAL, LOW, HIGH, or

REALTIME

wrapper.ntservice.process_priority=NORMAL

Allow the service to interact with the desktop.

wrapper.ntservice.interactive=false

Using MySQL 5.027 for repository and data
Windows XP :cry:

rodneysieb:

Java Library Path (location of Wrapper.DLL or libwrapper.so)

wrapper.java.library.path.1=C:\Program Files\Servoy\Service

The ‘S’ in ‘Service’ should normally be a lower case s. If your file system is set to be case-sensitive, that could be a problem.

Verify that the directory is called C:\Program Files\Servoy\service .
Then make it a lower case s in wrapper.conf, and stop and start the service.

Hi

Thanks, will try as suggested and let you know the results.