eBase 4.5.1 Issue

Post any questions regarding Installing or Upgrading Ebase, including problems starting up the Ebase Xi Server or Designer

Moderators: Jon, Steve, Ian, Dave

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

eBase 4.5.1 Issue

#1

Postby Segi » Fri Dec 13, 2013 7:33 pm

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.
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#2

Postby Hovik » Mon Dec 16, 2013 2:56 pm

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.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#3

Postby Segi » Thu Jan 09, 2014 9:14 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.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#4

Postby Segi » Thu Jan 09, 2014 9:16 pm

deleted this because of accidentally double posting
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#5

Postby Hovik » Fri Jan 10, 2014 4:24 pm

Hi Segi,

2 questions:

a) Are you running on a 32-bit or a 64-bit machine?

b) How are you adjusting tomcat memory?

Hovik
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#6

Postby Segi » Fri Jan 10, 2014 11:49 pm

Hovik,

1. 64 bit
2. I'm editing C:\ebaseXi\UfsServer\start_ebase_server.bat and changed the environment variable JAVA_OPTS so that it reads JAVA_OPTS=-Xmx4096m

I am currently experiencing at least 20 freezes a day
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#7

Postby Hovik » Mon Jan 13, 2014 8:11 am

Segi,

Silly question... But do you always use start_ebase_server.bat to start the server - as opposed to start_ebase_server.exe or a windows service?

If yes, please let me have your start_ebase_server.bat

Thanks
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#8

Postby Segi » Mon Jan 13, 2014 9:11 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 ..\..
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#9

Postby Hovik » Tue Jan 14, 2014 9:57 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:
  • ebaseXi\jre
    ebaseXi\UfsClient\jre
Tomcat

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
That's it.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#10

Postby Segi » Tue Jan 14, 2014 9:59 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.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#11

Postby Segi » Wed Jan 15, 2014 8:39 pm

I am still having this problem after upgrading the JRE and Tomcat to 64-bit
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#12

Postby Hovik » Thu Jan 16, 2014 8:44 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:
  • 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
See if these resolve the issue. Otherwise I will be more than happy to arrange a call for later today.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#13

Postby Segi » Thu Jan 16, 2014 4:07 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.
0 x

Segi
Ebase User
Posts: 649
Joined: Mon Dec 09, 2013 6:37 pm

#14

Postby Segi » Thu Jan 16, 2014 4:59 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.
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#15

Postby Hovik » Fri Jan 17, 2014 10:12 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.
0 x

armin_kessler
Ebase User
Posts: 27
Joined: Sun Jan 08, 2012 2:39 am

#16

Postby armin_kessler » Tue Jan 28, 2014 3:13 am

Hello Segi and Hovik:

Could you explain how to resolve the error when upgraded java
and tomcat to 64 bits:
The JVM found at .\jre is damaged. Please reinstall or redefine EXE4J_JAVA_HOME to point to an installed JDK or JRE.
Thanks Armin
0 x
Armin Kessler

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#17

Postby Hovik » Tue Jan 28, 2014 2:24 pm

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
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#18

Postby Hovik » Tue Jan 28, 2014 3:49 pm

If it will help, I can let you have my 64-bit ebase system.
0 x

bgpitts
Ebase User
Posts: 1
Joined: Thu Feb 27, 2014 5:23 pm
Location: Herminie
Contact:

#19

Postby bgpitts » Fri Feb 28, 2014 8:40 am

Could you explain how to resolve the error when upgraded java
and tomcat to 64 bits:
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#20

Postby Hovik » Fri Feb 28, 2014 8:55 am

What is the error please, and when do you see it? Starting the server or starting the client?
0 x

Hovik
Moderator
Moderator
Posts: 184
Joined: Tue Sep 11, 2007 8:58 am

#21

Postby Hovik » Fri Feb 28, 2014 10:02 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.
Last edited by Hovik on Tue Mar 04, 2014 3:31 pm, edited 1 time in total.
0 x

geadon
Ebase User
Posts: 67
Joined: Wed Aug 15, 2012 1:22 pm

#22

Postby geadon » Fri Feb 28, 2014 3:20 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]
0 x


Who is online

Users browsing this forum: No registered users and 6 guests