eBase 4.5.1 Issue
Moderators: Jon, Steve, Ian, Dave
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
eBase 4.5.1 Issue
I am having an issue with eBase or possiblyTomcat.
At random times, I cannot load my eBase application. The web browser shows a spinning circle and just hangs and does not load. If I restart the eBase server and try again it loads immediately.
I am running eBase as an application and the console does not show any error messages.
At random times, I cannot load my eBase application. The web browser shows a spinning circle and just hangs and does not load. If I restart the eBase server and try again it loads immediately.
I am running eBase as an application and the console does not show any error messages.
0 x
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
Hi Segi,
One possible reason for this may be that Tomcat runs out of memory. In your development environment where you're a single user changing and testing forms, this may happen if you change a configuration file, e.g. ufs.xml in UfsServer\tomcat\conf\Catalina\localhost. This will cause Tomcat to restart. Unfortunately such a restart does not release all its memory, so a few such restarts will eventually cause memory exhaustion. In this case you should see "java.lang.OutOfMemoryError: Java heap space" errors in the log files (in folder UfsServer\tomcat\logs).
Whatever the cause of the memory exhaustion, you can allocate more memory to Tomcat.
Edit start_ebase_server.bat and adjsut value of Xmx. e.g. JAVA_OPTS=-Xmx1024m
We recommend using as much as memory as possible for Tomcat, on a 32 bit machine this means a maximum of 2gig, on 64bit you can have much more available.
In our experience ~1350 seems to be the highest value which works in a 32-bit windows server.
One possible reason for this may be that Tomcat runs out of memory. In your development environment where you're a single user changing and testing forms, this may happen if you change a configuration file, e.g. ufs.xml in UfsServer\tomcat\conf\Catalina\localhost. This will cause Tomcat to restart. Unfortunately such a restart does not release all its memory, so a few such restarts will eventually cause memory exhaustion. In this case you should see "java.lang.OutOfMemoryError: Java heap space" errors in the log files (in folder UfsServer\tomcat\logs).
Whatever the cause of the memory exhaustion, you can allocate more memory to Tomcat.
Edit start_ebase_server.bat and adjsut value of Xmx. e.g. JAVA_OPTS=-Xmx1024m
We recommend using as much as memory as possible for Tomcat, on a 32 bit machine this means a maximum of 2gig, on 64bit you can have much more available.
In our experience ~1350 seems to be the highest value which works in a 32-bit windows server.
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
Hovik,
I am sorry that I did not respond sooner.
I have not been getting any errors whatsoever. I did increase the ram to 2048MB and the problem seemed to improve for a little while but has been occurring a lot lately. I increased the amount of ram allocated to Tomcat to 4 GB and it is still occurring.
As before, there is no error in the Tomcat console or in the browser. Restarting the eBase server seems to be the only solution. When this hang up occurs, task manager shows that java.exe is using around 300MB of ram.
I am sorry that I did not respond sooner.
I have not been getting any errors whatsoever. I did increase the ram to 2048MB and the problem seemed to improve for a little while but has been occurring a lot lately. I increased the amount of ram allocated to Tomcat to 4 GB and it is still occurring.
As before, there is no error in the Tomcat console or in the browser. Restarting the eBase server seems to be the only solution. When this hang up occurs, task manager shows that java.exe is using around 300MB of ram.
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
I am using start_ebase_server.bat
here are the contents:
REM Run this command to start the EBASE environment
REM To run : open a DOS command window, cd to this directory, then issue the command start_ebase_server
REM Start the tomcat application server
set JRE_HOME=%~dsp0..\jre
set CATALINA_HOME=%~dsp0\tomcat
set BASEDIR=%~dsp0\tomcat
set JAVA_OPTS=-Xmx4096m -Djava.net.preferIPv4Stack=true -Dderby.system.home=%~dsp0/DB -Dhttp.nonProxyHosts="localhost|127.0.0.1"
cd tomcat\bin
startup
cd ..\..
here are the contents:
REM Run this command to start the EBASE environment
REM To run : open a DOS command window, cd to this directory, then issue the command start_ebase_server
REM Start the tomcat application server
set JRE_HOME=%~dsp0..\jre
set CATALINA_HOME=%~dsp0\tomcat
set BASEDIR=%~dsp0\tomcat
set JAVA_OPTS=-Xmx4096m -Djava.net.preferIPv4Stack=true -Dderby.system.home=%~dsp0/DB -Dhttp.nonProxyHosts="localhost|127.0.0.1"
cd tomcat\bin
startup
cd ..\..
0 x
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
Hi Segi,
To make advantage of 64-bit technology, you need to use 64-bit java and also 64-bit Tomcat.
Java
Download 64-bit jre 6 or jre 7 as appropriate (Ebase comes with 32-bit jre 6).
Replace the 2 jre folders shipped with Ebase:
Download the required 64-bit tomcat from http://tomcat.apache.org (ebase comes with 32-bit Tomcat 7)
Copy the following 2 files from the downloaded 64-bit Tomcat\bin folder to the current Tomcat\bin folder, overwriting files by the same names:
To make advantage of 64-bit technology, you need to use 64-bit java and also 64-bit Tomcat.
Java
Download 64-bit jre 6 or jre 7 as appropriate (Ebase comes with 32-bit jre 6).
Replace the 2 jre folders shipped with Ebase:
- ebaseXi\jre
ebaseXi\UfsClient\jre
Download the required 64-bit tomcat from http://tomcat.apache.org (ebase comes with 32-bit Tomcat 7)
Copy the following 2 files from the downloaded 64-bit Tomcat\bin folder to the current Tomcat\bin folder, overwriting files by the same names:
- tomcat6.exe
tcnative-1.dll
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
Hovik,
I upgraded Java to JRE7 64-bit and Tomcat to the 64-bit version.
I did run into an issue starting the designer after the upgrade. My desktop shortcut points to c:\ebasexi\UfsClient\designer.exe. The error message is:
"The JVM found at .\jre is damaged. Please reinstall or redefine EXE4J_JAVA_HOME to point to an installed JDK or JRE."
I have temporarily resolved this by changing the eBase Designer shortcut on my desktop to point to c:\ebasexi\UfsClient\start_ebase_designer.bat abd using it to access the designer.
Here are the contents of start_ebase_designer.bat:
@echo off
SETLOCAL
set JAVA_HOME=%~dsp0\jre
rem set variables to contact the UFS Server
rem SERVER_HOST - hostname or ip address of UFS Server
rem SERVER_PORT - HTTP port for the UFS Server (defaults to 80 if not set)
rem SERVER_WEBAPP - web application context for the UFS Server (defaults to ufs if not set)
set SERVER_HOST=localhost
set SERVER_PORT=3030
if "%SERVER_HOST%" == "" goto noHost
set JAVA_PROPERTIES=-DServerHost=%SERVER_HOST% -DhandshakeDebug=true
:checkPort
if "%SERVER_PORT%" == "" goto checkWebapp
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -DServerPort=%SERVER_PORT%
:checkWebapp
if "%SERVER_WEBAPP%" == "" goto run
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -DServerWebapp=%SERVER_WEBAPP%
goto run
:noHost
echo The SERVER_HOST parameter must be set
pause
goto :EOF
:run
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -Dawt.useSystemAAFontSettings=true -Dsun.java2d.noddraw=true -Dlog4j.configuration=file:/%~dsp0/properties/log4j.properties -Dhttp.nonProxyHosts="localhost|127.0.0.1"
set UFS_CLIENT_DIR=%~dsp0
set UFS_CLASSPATH=%UFS_CLIENT_DIR%/properties
%JAVA_HOME%\bin\java -Xms256m -Xmx256m -Xss512k -cp %UFS_CLASSPATH% %JAVA_PROPERTIES% -jar lib/UFS.jar
ENDLOCAL
I will post an update after I have determined if this issue has been resolved or not.
I upgraded Java to JRE7 64-bit and Tomcat to the 64-bit version.
I did run into an issue starting the designer after the upgrade. My desktop shortcut points to c:\ebasexi\UfsClient\designer.exe. The error message is:
"The JVM found at .\jre is damaged. Please reinstall or redefine EXE4J_JAVA_HOME to point to an installed JDK or JRE."
I have temporarily resolved this by changing the eBase Designer shortcut on my desktop to point to c:\ebasexi\UfsClient\start_ebase_designer.bat abd using it to access the designer.
Here are the contents of start_ebase_designer.bat:
@echo off
SETLOCAL
set JAVA_HOME=%~dsp0\jre
rem set variables to contact the UFS Server
rem SERVER_HOST - hostname or ip address of UFS Server
rem SERVER_PORT - HTTP port for the UFS Server (defaults to 80 if not set)
rem SERVER_WEBAPP - web application context for the UFS Server (defaults to ufs if not set)
set SERVER_HOST=localhost
set SERVER_PORT=3030
if "%SERVER_HOST%" == "" goto noHost
set JAVA_PROPERTIES=-DServerHost=%SERVER_HOST% -DhandshakeDebug=true
:checkPort
if "%SERVER_PORT%" == "" goto checkWebapp
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -DServerPort=%SERVER_PORT%
:checkWebapp
if "%SERVER_WEBAPP%" == "" goto run
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -DServerWebapp=%SERVER_WEBAPP%
goto run
:noHost
echo The SERVER_HOST parameter must be set
pause
goto :EOF
:run
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -Dawt.useSystemAAFontSettings=true -Dsun.java2d.noddraw=true -Dlog4j.configuration=file:/%~dsp0/properties/log4j.properties -Dhttp.nonProxyHosts="localhost|127.0.0.1"
set UFS_CLIENT_DIR=%~dsp0
set UFS_CLASSPATH=%UFS_CLIENT_DIR%/properties
%JAVA_HOME%\bin\java -Xms256m -Xmx256m -Xss512k -cp %UFS_CLASSPATH% %JAVA_PROPERTIES% -jar lib/UFS.jar
ENDLOCAL
I will post an update after I have determined if this issue has been resolved or not.
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
Hi Segi,
We need to find out whether it's the server or the designer having memory issues?
When you experience this 'freeze', what errors do you get in the server log?
Do you get "java.lang.OutOfMemoryError: Java heap space" errors?
Or any "PermGen space" errors?
Or both?
Also check the designer console window. Any errors there?
I assume you did replace ebaseXi\UfsClient\jre by the 64-bit jre?
Don't understand why the .exe did not work but switching to use the start_ebase_designer.bat is the right thing to do.
Couple of changes you could make:
We need to find out whether it's the server or the designer having memory issues?
When you experience this 'freeze', what errors do you get in the server log?
Do you get "java.lang.OutOfMemoryError: Java heap space" errors?
Or any "PermGen space" errors?
Or both?
Also check the designer console window. Any errors there?
I assume you did replace ebaseXi\UfsClient\jre by the 64-bit jre?
Don't understand why the .exe did not work but switching to use the start_ebase_designer.bat is the right thing to do.
Couple of changes you could make:
- 1. Stop the server
2. Change JAVA_OPTS in start_ebase_server.bat as below:
JAVA_OPTS=-Xms512m -Xmx4096m -XX:MaxPermSize=1024m (followed by the other settings)
3. Delete .data and .index files in folder UfsServer\tomcat\work\Catalina\localhost\ufs
4. Start the server
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
Hovik,
I normally don't see any errors in the designer window or the Tomcat logs.
Today when one of the hangups occurred, instead of immediately restarting the server, I let the browser continue to try and connect and got this after a while:
com.ebasetech.xi.exceptions.FormRuntimeException: Error getting connection using Database Connection INTRANET, SQLException in StandardPoolDataSource:getConnection exception: java.sql.SQLException: SQLException in StandardPoolDataSource:getConnection no connection available java.lang.Exception: GenericPool:checkOut ERROR impossible to obtain a new object from the pool
I've made the changes to start_ebase_server.bat and will see if it resolves the issue.
I don't believe that I specified this before, but it appears that the issue occurs as a result of constantly reloading the page.
I normally don't see any errors in the designer window or the Tomcat logs.
Today when one of the hangups occurred, instead of immediately restarting the server, I let the browser continue to try and connect and got this after a while:
com.ebasetech.xi.exceptions.FormRuntimeException: Error getting connection using Database Connection INTRANET, SQLException in StandardPoolDataSource:getConnection exception: java.sql.SQLException: SQLException in StandardPoolDataSource:getConnection no connection available java.lang.Exception: GenericPool:checkOut ERROR impossible to obtain a new object from the pool
I've made the changes to start_ebase_server.bat and will see if it resolves the issue.
I don't believe that I specified this before, but it appears that the issue occurs as a result of constantly reloading the page.
0 x
-
- Ebase User
- Posts: 649
- Joined: Mon Dec 09, 2013 6:37 pm
Hovik,
I want to tentatively say that I believe that we may have fixed this issue.
For those that come across an issue like this where the browser hangs loading your eBase application, this was the cause and solution to the problem.
I wrote a function to manually establish a database connection like this:
var con = system.getDatabaseConnection("MYDBCONNECTION");
var rs,stmt;
try {
stmt = con.prepareStatement("select * from mytable")
rs = stmt.execute();
} finally {
if (rs) rs.close();
if (stmt) stmt.close();
}
adding if (con) con.close(); after if (stmt) stmt.close(); fixed this problem because the database connection was not being closed and caused my application to run out of database connections after loading the application X number of times.
I want to tentatively say that I believe that we may have fixed this issue.
For those that come across an issue like this where the browser hangs loading your eBase application, this was the cause and solution to the problem.
I wrote a function to manually establish a database connection like this:
var con = system.getDatabaseConnection("MYDBCONNECTION");
var rs,stmt;
try {
stmt = con.prepareStatement("select * from mytable")
rs = stmt.execute();
} finally {
if (rs) rs.close();
if (stmt) stmt.close();
}
adding if (con) con.close(); after if (stmt) stmt.close(); fixed this problem because the database connection was not being closed and caused my application to run out of database connections after loading the application X number of times.
0 x
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
Hi Segi,
When I saw the message in your previous post, ending in "impossible to obtain a new object from the pool ", it was clear that it was a database connection issue.
Closing all connections once you're done is a must.
Also the changes I mentioned regards database connection elements (min. max, checklevel etc) are important. Absence of these will potentially cause connection pooling issues too.
When I saw the message in your previous post, ending in "impossible to obtain a new object from the pool ", it was clear that it was a database connection issue.
Closing all connections once you're done is a must.
Also the changes I mentioned regards database connection elements (min. max, checklevel etc) are important. Absence of these will potentially cause connection pooling issues too.
0 x
-
- Ebase User
- Posts: 27
- Joined: Sun Jan 08, 2012 2:39 am
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
Hi Armin,
This is a java version issue. Looks like you had another version of java installed. Don't know if you still have that on your machine, but ebase startup seems to be finding this old one.
The following link may be helpful.
http://www.pchelpforum.com/xf/threads/e ... lp.107183/
Things you should check.
1. type java -version in a dos window and see what java you have installed. In some situations this will be used by default. If possible un-install it.
2. make sure you have a 64-bit JRE copied to ebasXi folder
3. check that JRE_HOME in start_ebase_server.bat is pointing to this jre
This is a java version issue. Looks like you had another version of java installed. Don't know if you still have that on your machine, but ebase startup seems to be finding this old one.
The following link may be helpful.
http://www.pchelpforum.com/xf/threads/e ... lp.107183/
Things you should check.
1. type java -version in a dos window and see what java you have installed. In some situations this will be used by default. If possible un-install it.
2. make sure you have a 64-bit JRE copied to ebasXi folder
3. check that JRE_HOME in start_ebase_server.bat is pointing to this jre
0 x
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
-
- Ebase User
- Posts: 1
- Joined: Thu Feb 27, 2014 5:23 pm
- Location: Herminie
- Contact:
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
-
- Moderator
- Posts: 184
- Joined: Tue Sep 11, 2007 8:58 am
We now have a 64-bit Ebase installer for windows. Here's the link.
http://www.ebaseftp.com/download/ebase_ ... ws-x64.exe
It includes:
64-bit Tomcat 7
64-bit JRE.1.6.0.45 in the server
64-bit JRE.1.6.0.45 in the client
Ebase V4.5.1
It may be easier to re-install Ebase.
http://www.ebaseftp.com/download/ebase_ ... ws-x64.exe
It includes:
64-bit Tomcat 7
64-bit JRE.1.6.0.45 in the server
64-bit JRE.1.6.0.45 in the client
Ebase V4.5.1
It may be easier to re-install Ebase.
Last edited by Hovik on Tue Mar 04, 2014 3:31 pm, edited 1 time in total.
0 x
-
- Ebase User
- Posts: 68
- Joined: Wed Aug 15, 2012 1:22 pm
Not sure if this is related but I had the same problem, refreshing a page (fetching two tables from the database) brought up table results but the user was unable to interact with those tables for a good 30 seconds.
It turned out that it only did this when Internet Explorer was in compatibility mode. So to fix I forced IE out of compatibility mode using <meta>.
Thought this might be useful to someone.[/code]
It turned out that it only did this when Internet Explorer was in compatibility mode. So to fix I forced IE out of compatibility mode using <meta>.
Thought this might be useful to someone.[/code]
0 x
Who is online
Users browsing this forum: No registered users and 8 guests