JVM: Allocation Failure

Hello everyone,

our Integration Server (Version 6.0.1, Sun Java 1.3.0) hangs every 30 minutes. I this case I tried to make a java dump with adding -verbose:gc to the server.bat file. As result I got several return values like this:

<AF[1]: Allocation Failure. need 32 bytes, 0 ms since last AF>
<AF[1]: managing allocation failure, action=1 (0/802159608) (3145728/3145728)>
<GC: Thu Dec 28 08:42:43 2006
<GC(1): freed 755385576 bytes in 66 ms, 94% free (758531304/805305336)>
<GC(1): mark: 38 ms, sweep: 28 ms, compact: 0 ms>
<GC(1): refs: soft 0 (age >= 32), weak 644, final 5567, phantom 0>
<AF[1]: completed in 171 ms>

Exception code: C0000005 ACCESS_VIOLATION
EXCEPTION IN JAVACORE DUMP - ABORTING

I can’t find any information about this.

The server has 4GB RAM and we grant 1024 to Java (in the server.bat configuration).

Hopefully anyone has an idea…

Thanks and cheers
Chris

Chris,
Can you give a few more details about your environment? What is running at the time this happens (types of integrations, volume, size of documents etc, adapters you are using). Also what OS are you on?

There can be several causes for this, the main one being not enough memory allocated to the JVM for the type of stuff going through. But there can be other causes as well. For example on Solaris, running out of file descriptors will cause a similar message.

Were you able to get thread dumps? If so the webMethods support folks are usually pretty good at figuring those out.

Hi Mark,

Hope you had a great new years eve… :slight_smile:
The problems are on our partner servers.
They run with the following configuration:

Windows Server 2003 Standard SP1
Sun JRE 1.4.2 (since today but problems continue, before 1.3.0)
IS 6.0.1 SP2 on Partners (on our Cluster SP4)
4 processor, 4GB RAM
JVM Min and Max = 1024 MB
Programs running:
-Navisison applictaion server
-webMethods Integration server
-Kögun Navision adpater for webMethods

Packet size: 10 - 200 KB

Could you describe me please, how do I a thread dump correct?
And what do you mean with type of integration?
The main application are around the order process. It is relalized with synchron interfaces.

Thank you for your help
Cheers
Chris

Thread dump in Windows is usually done with a Ctrl+Break but you have to be running via a console to do that I believe otherwise you can’t see the output… Any Windows experts please jump in here if there is a better way. You can also try redirecting the output by add a pipe to a file from the server.bat file. Look for the JVM command that starts the actual server process and add a “| filename.txt” minus the quotes to the end.

Something like this :

Windows version:

Unix Version:

I haven’t used the Windows version so you might want to test it out in a test environment first.

Is your IS server core dumping and crashing or is it just hanging?

StackTrace is a tool that can be used to capture dumps when the JVM is started as a Windows service.

Try downloading VMStat from Sun and checking the Heap and Perm memory. I’ve seen the IS come down in the past when the JVM could not allocate additional Perm memory. We needed to increase the MaxPermSize to 128MB to get it to stay up. This was on a Solaris environment though.

Just my 2 cents.

Hello all,

sorry for my late response.
All our problems are gone with the update of the JVM 1.3.0 to 1.4.2 and using the server jvm.dll. Also we set in the server.bat the option -server.

With this configuration the memory usage is stable around 300 MB although we grant 1GB for the service. That means the garbage collection works fine.

Cheers