Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 May 2006 22:39:57 +0700
From:      "Vadim Goncharov" <vadimnuclight@tpu.ru>
To:        "Kurt Miller" <kurt@intricatesoftware.com>
Cc:        freebsd-java@freebsd.org
Subject:   Re: diablo 1.5 died after 5 day uptime
Message-ID:  <ops950gvf34fjv08@nuclight.avtf.net>
In-Reply-To: <200605260932.19449.kurt@intricatesoftware.com>
References:  <ops931hxox17d6mn@nuclight.avtf.net> <200605251409.13312.lists@intricatesoftware.com> <ops94c17li4fjv08@nuclight.avtf.net> <200605260932.19449.kurt@intricatesoftware.com>

next in thread | previous in thread | raw e-mail | index | archive | help
26.05.06 @ 20:32 Kurt Miller wrote:

>> >> I have an SMP (HTT) machine with 5.5-PRERELEASE, using official >>  
>> diablo 1.5 jdk
>> >> binaries from beginning of April. As suggested, I now run java with
>> >> -XX:+UseMembar cmdline switch, that resolved problem with crashing
>> >> application after startup.
>> >> But today after 5 days uptime now-debugged-and-set-to-long-run server
>> >> process
>> >> have crashed, with 100M coredump file. What happened? Below are log  
>> and
>> >> gdb backtrace.
>> >> As some additional info: I have limits in login.conf, 32M for  
>> resident
>> >> size
>> >> and 256M for virtual mem size; yesterday when I looked at process  
>> stats
>> >> it was about 10M resident and 250M virtual - could be a reason?..
>> >
>> > Hi,
>> >
>> > It does appear that you've run out of vm.
>> >
>> > <snip>
>> >> #21 0x0a3fceda in vm_exit_out_of_memory ()
>> >>     from /usr/local/diablo-jdk1.5.0/jre/lib/i386/client/libjvm.so
>>
>> But so why it dies on signal 11 with scary logs and coredump, instead of
>> descriptive out-of-memory diagnostics and graceful shutdown? Isn't that
>> a bug ?
>
>> From what I can gather from the stack trace, the jvm was
> in the process of a graceful shutdown but there wasn't enough
> memory for it to pull it off. There is only so much you can
> do to protect against out-of-memory errors when you need more
> to report it nicely to the user.

Hmm, OK. Is there any way to tell Java that memory is about to end
before killing ? Or may be a way to make GC to free some memory
periodically? May be outside from java, undocumeted external
signaling to diablo-jdk ? At last, does it respect login.conf limits
at all, doing graceful shutdown before / trying to raise to hard limit ?

-- 
WBR, Vadim Goncharov



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