Servoy Admin page > Server Log When analyzi=
ng the Servoy Application Server log on the Servoy Admin page, it's it=
s possible to change the level of displayed log messages using the dropdown=
at the top of the page, with "DEBUG" giving the most details and "FATAL" t=
he least.

=20

Tracing The Server Log also provides an option to t=
emporarily enable Tracing, to provide even more detailed information in the=
log. Do note that tracing should only be enabled when investigating issues=
, as it generates a large quantity of output.

=20

Server doesn't start

=20

When the Servoy Application Server will not start, there are a few likel=
y reasons for it:

=20

=20

The Servoy Application Server cannot access the Servoy Repository datab=
ase. As the Servoy Application Server required the Servoy Repository databa=
se to be available on launch, failure to connect to the database will preve=
nt the Servoy Application Server from starting. The most likely reasons for=
the Repository Database not being accessible are:=20

=20

The Database Server that hosts the Servoy Repository database is not ru=
nning. Note that the Servoy Application Server does NOT start any database =
server!

=20

The Database Server runs on another Server which cannot be reached by S=
ervoy due to network configuration

Invalid configuration of the database server connection named "reposito=
ry_server" in Servoy

=20

No database server setup within Servoy with the name "repository_server=
"

=20

=20

The Servoy Application Server fails to start after updating the SSL con=
figuration or disabling SSL. Any property in the servoy.properties file tha=
t contains the word "password" is automatically encrypted using the SSL set=
tings configured (if SSL is enabled). If the configuration is changed, the =
Servoy Application Server is unable to decrypt the passwords. The solution =
is to set the passwords back to plain text in the servoy.properties file an=
d starting the server again. When this scenario happens, the following =
error appears in the console, when starting the Servoy Application Server i=
n a console/command window: javax.crypto.BadPaddingException: Given=
final block not properly padded

=20

The Servoy Application Server fails to start due to network errors that=
result from Java starting in IPv6 mode, while the network hardware actuall=
y runs on IPv4. The Servoy Application Server can be forced to start using =
IPv4 by adding '-Djava.net.preferIPv4Stack=3Dtrue' to the startup comm=
and

=20

=20

Server crashes

=20

The Servoy Application Server is very robust and is known for its stabil=
ity and extreme long uptime. The Servoy Application Server is not like=
ly to actually crash, in a sense that the entire process is killed. What ca=
n happen is that due to incorrect configuration the performance decreases t=
o the point where it seems like the Servoy Application Server has become un=
responsive.

=20

The most likely reason for this to happen are:

=20

=20

Database Connection pool exhaustion: The Servoy Application Server mana=
ges a pool of connections for each Database Server it is connecte=
d to. When the pool is dimensioned too small, requests from Servoy Clients =
must wait on echother to finish, reducing the performance. Errors like "java.util.NoSuchElementException: Timeout waiting for idle object" in the log indicate th4e Connection Pool being exhausted. For mo=
re information on connection pool configuration, see Conne=
ction pooling in the Database Connections chapter

=20

OutOfMemory exceptions: If the Servoy Application Server requires more =
memory than is configured maximum, OutOfMemory exceptions will be raised. W=
hen these type of exceptions occur

=20

=20

Servoy Smart Client&nb=
sp;troubleshooting

=20

Smart Client related issues usually are in one of the following categori=
es:

=20

=20

Startup related issues

=20

Connectivity related issues

=20

Performance related issues

=20

=20

When investigating issues related to Smart Clients, the following tools =
are available:

=20

=20

Java WebStart console

=20

Java WebStart logging and tracing

=20

Checking the contents of the JNLP file that is used to start the Smart =
Client, by appending a "raw" parameter with the value "true" at the end of =
the URL of the JNLP file. With this extra parameter appended, the contents =
of the JNLP file will become the source of the web page, which can then be =
viewed in the browser: {serverURL}/servoy-client/{solutionName}.jnlp?ra=
w=3Dtrue

=20

Server log: It can be that the Smart Client has issues due to something=
happening on the Servoy Application Server, thus it's important to also ch=
eck the Application Server log when debugging Smart Client issues

=20

=20

Smart Client won't start

=20

=20

The JNLP file gets downloaded as file: When this happens, it means can =
be one of two reasons:=20

=20

The browser and/or the OS has not associated with Java WebSta=
rt: Associate the jnlp file extensions with Java WebStart

Error: cannot find dataservice, it may not be running on server=
This error is displayed in the Servoy Smart Client when=
it can't properly connect to the Servoy Application Server at startup. Mos=
t likely cause of this message is incorrect configuration of the Network Se=
ttings in combination with firewalls and proxies. See Network related settings for =
more information on configuring the network settings.

=20

Error: Connection to Servoy server is invalid Inva=
lid SSL Certificate or using a self-signed certificate, which is not suppor=
ted for Smart Clients. See Network related settings for more information on configu=
ring SSL

=20

Error: sun.security.validator.ValidatorException: PKIX path val=
idation failed: java.security.cert.CertPathValidatorException: Path does no=
t chain with any of the trust anchors The Certificate us=
ed for SSL is issued by a Certificate Authroity (CA) that is not recognized=
by Java. For example certificates form startcom.org. The solution is to us=
e a Certificate issues by a different CA that is trusted by Java

Smart Client looses connec=
tions

=20

Smart Clients operate connected to the Application Server. When the conn=
ection is lost, the Smart Client will automatically try to reconnect. When =
reconnection is not possible, the Smart Client will automatically provide t=
he user with an error message and the option to close the Smart Client or t=
o continue to try and reconnect.

=20

If disconnections occur without apparent reason like no internet/wifi/ne=
twork connection, the following items could be the cause of the problem:

=20

=20

One of the network components is closing the connection automatically. =
Most likely the network component is configured to automatically close inac=
tive or long running requests. If altering the network setup is not an opti=
on, it's possible to lower the ping frequency between the Smart Client and =
the Server to make sure the connection remains active. Depending on the con=
figuration of the Smart Client related Network setting, different settings =
might require updating. See Network related settings for more information.

=20

=20

Smart Client performance i=
ssues

=20

When the solution that is run in the Smart Client doesn't provide the ex=
pected performance, it can be that it's the solution that requires tuning. =
Besides required tuning of the solution, the following items could negative=
ly impact the Smart Client performance

=20

=20

Too little memory available: The Smart Client is a Java process and as =
such it needs to be explicitly told the maximum amount of memory it is allo=
wed to use. For more information on memory management for Smart Clients see=
Smart Client memory management in the Memory Management chapter

=20

Connection issues: if the network connection is not stable, this could =
have a negative impact on the Smart Client performance. If for example a fi=
rewall or NAT router automatically starts closing connections because it ca=
n't handle many open connections, there will be a performance penalty due t=
o the fact Servoy tries to use a connection that is already closed and then=
need to establish a new connection. By lowering the RMI Connection timeout=
the use of already closed connections can be prevented. See Network related settings fo=
r more information RMI connection timeout

=20

Database connection pool exhaustion: When the solution that is run in t=
he Smart Client required database access, it sends the request to the Servo=
y Application Server that in turn communicates with the database. It does s=
o using a pool of connections. If all clients do more requests at the same =
time than the maximum allowed number of connections in the pool, the reques=
ts will take longer to execute, as they will be on hold untill a used conne=
ction is released back to the pool. For more information on Connection pool=
ing, see Connection pooling in the Database Connections chapter

=20

=20

Smart Client crashes

=20

Servoy Smart Clients are not prone to crash. In the unlikely event that =
this does happen, it's best to enable Java WebStart logging and tracing, st=
art a Smart Client and use it until it crashes and then analyse the generat=
ed log

=20

Smart Client automatic=
update issues

=20

The Servoy Smart Client will by default automatically update itself if a=
new version of the Smart Client itself or a Solution that is run in the Sm=
art Client is available on the Servoy Application Server.

=20

When issues are experienced with the auto update behavior of the Servoy =
Smart Client, it can be due to the following reasons:

=20

=20

The setting "servoy.fastClientStartup" allows starting the Smart client=
from the cache, without checking with the Servoy Application Server first =
to see if there are updates. When set to "true" it provides a faster launch=
, as it starts the Smart Client from the Java Web Start cache. The downside=
it that it can happen after the Servoy Server Server or Solution upd=
ated that the Smart Client launch will fail. If the Smart Client gets start=
ed again after the fail. When this happens the cache will be cleared and on=
the next launch the latest version will be automatically downloaded from t=
he Servoy Application Server.

=20

=20

If the above described situations are not applicable, there ar=
e three options to force the update:

=20

=20

Flush the solution on the Servoy Admin page: Each Solution listed on th=
e Solutions page of the Servoy Admin page has a flush button. When clicked,=
the internal version id for the Solution is updated with a new value, indi=
cating to connecting Smart Clients that a new version is available and shou=
ld be downloaded

Remove the temporary internet files from the Java WebStart cache: The W=
ebStart JNLP file is also cached by WebStart in the temporary Internet file=
s. If the above mentioned solutions fail, deleting the JNLP could be the la=
st resort. See the Temporary Internet Files in the Java Control Panel.=

=20

=20

Other Smart Client issues

=
=20

=20

Microsoft JScript compilation error: syntax error (Windows only): &nbsp=
; When during launching the Smart Client a Syntax error&n=
bsp;dialog pops up with the title Microsoft JScript compilation er=
ror, this means that on the client machine Java WebStart is configured=
to look at the browser for the Proxy settings. On Windows this means that =
it is looking at the Local Area Network (LAN) Settings u=
nder Connections of Internet Properties. W=
here these setting are located differs per Windows version, but they can us=
ually be accessed through the (advanced) network settings of a browser.&nbs=
p;The solution is to either configure Java WebStart to use "Direct connecti=
on" (Not to be confused with Servoy's Direct Connection mode) or to uncheck=
all options in the LAN Settings of Windows. As both opt=
ions are system-wide settings they can influence other applications.

=
=20

Plugin or bean not loading in the Client: If one specific plu=
gin or bean doesn't seem to load in the Client, check the server log around=
the time when the Servoy Application Server got started. At server startup=
, all the plugins and beans are loaded. If there is an issue with the plugi=
n or bean, it will be excluded from the list of plugins and beans send to t=
he client. Any issue with the plugin or bean would result in errors in the =
server log when the server gets started. You can review the list of pl=
ugins that are send to the client by adding "?raw=3Dtrue" to the url of the=
Smart Client (http://domain:post/servoy-clien=
t/solutionName.jnlp) and then viewing the content of the JNLP file by l=
ooking at the source code of the page in the browser.

Database Connectivity

=20

General

=20

=20

Is the required JDBC driver available? Servoy comes bundled with a=
limited set of JDBC drivers, due to licensing. For example, it is not allo=
wed to bundle JDBC drivers of Oracle or the official Microsoft SQL server J=
DBC driver. See the database section of the Servoy stack info for a list of the shipped JDBC drivers=
. If no JDBC driver is listed for the database to which a connection needs =
to be made, it needs to be added manually. See Database Connectivit=
y > JDBC Drivers for more details on which JDBC driver to use and ho=
w to add it.

=20

Is the database up and running? While obvious that the database ne=
eds to be up and running in order for it to be used, it does happen quite o=
ften that the source of connectivity issues boils down to the database not =
being started. Note that the Servoy Application Server doesn't start any da=
tabase!

=20

The Tables & views do not show up in Servoy Developer/errors on the=
server about missing tables/views while the connection itself seems to wor=
k: check that the schema and catalog properties of the database server sett=
ings are set correctly. These two properties are send to the database and b=
ased on those the database/JDBC driver filters the visible Tables/views for=
the connection

=20

=20

Oracle

=20

When connecting to Oracle databases, make sure to use the correct versio=
n of the Oracle JDBC driver. Each Oracle database version has it's own vers=
ion of a JDBC driver and when connecting to Oracle with a JDBC driver that =
was meant for another version of Oracle, the results can be mixed

=20

=20

Servoy doesn't see the tables in the database: Most likely cause i=
s the 'Schema' property for the connection. This property must be set to th=
e appropriate 'Schema' in the Oracle database. The value for the 'Schema' p=
roperty must be all uppercase when connecting to an Oracle Database.

=
=20

=20

SQL Server

=20

=20

Failed to establish a connection: In order to connect to SQL Serve=
r using JDBC, the TCP/IP option of SQL server needs to be enabled, which it=
isn't by default. If this is the case, a error similar to the following ca=
n be found in the log: "com.microsoft.sqlserver.jdbc.SQLServerException: Th=
e TCP/IP connection to the host has failed."

=20

System tables and Views show up in Servoy Developer, despite the "Skip =
System Tables" in the Database Server definition: This is a known issu=
e with the SQL Server driver

=20

=20

MySQL

=20

=20

Connection to database lost: MySQL is notorious for dropping idle =
connections after a certain timeout. This can be prevented by using the fol=
lowing "validation query" for the Database Server connection: "select=
1", at the cost of a little overhead. It's preferred to configure MySQL to=
use longer timeouts.