Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Apr 2005 08:59:15 -0600
From:      Greg Lewis <glewis@eyesbeyond.com>
To:        Toby Murray <toby.murray@gmail.com>
Cc:        freebsd-java@freebsd.org
Subject:   Re: java crashing when load average is high
Message-ID:  <20050420145915.GC78133@misty.eyesbeyond.com>
In-Reply-To: <324cec6d05041712065a3ff926@mail.gmail.com>
References:  <324cec6d05041712065a3ff926@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 17, 2005 at 02:06:24PM -0500, Toby Murray wrote:
> I am working on getting a new server online.  It is a Dell Poweredge
> with dual HT Xeons and 1GB of RAM.  We are running FreeBSD 5.4-RC1 and
> java 1.4.2_08.
> 
> java version "1.4.2_08"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
> 
> I have a java program that reads XML files over an HTTP stream and
> inserts data from them into a mysql database.  After getting java up
> and running everything appeared to be working normally at first and
> the program ran fine.  But then I tried running it while something
> else was compiling and the load average was up around 5 or 6. 
> Suddenly the behavior of the JVM became extremely erratic.
> 
> Sometimes the whole JVM dumps with a signal 11 and leaves the following in dmsg:
> kernel trap 12 with interrupts disabled
> Other times the program throws random exceptions.  I have seen 5 or 6
> different exceptions being thrown at seemingly random places in the
> code while parsing the same data.
> 
> A third behavior is for java to go into what appears to be an infinite
> loop somewhere.  Usually when my program runs, there is one java
> thread and one mysql process that each take up ~70% of one CPU.  When
> things start looping, 2 java processes start sucking up as much CPU as
> they can and mysql drops to nothing.  This continues until I pull out
> the kill -9.
> 
> So to summarize it all:
> java works fine if it is the only thing running
> If the box is already  under load, java malfunctions in one of 3 ways:
>  Signal 11, random Exception thrown or it starts looping without
> getting anything done.
> 
> Any clues?  I see several other threads on the list about signal 11
> problems but I didn't see anything about the problems being related to
> load.  Let me know if you need more info on something.

Sounds like you are running into a race condition or corruption problem.
There are several places this could be, the most likely being the Linux
emulation layer.

You may be able to use the native 1.4 if its compiled on an x86, but I'm
not sure how well that works on amd64.  If you were particularly brave
you could try the native 1.5 which will compile natively on amd64.

-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050420145915.GC78133>