Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Oct 2008 13:47:10 -0700
From:      Greg Lewis <glewis@eyesbeyond.com>
To:        Nikolay Denev <ndenev@gmail.com>
Cc:        freebsd-java@freebsd.org
Subject:   Re: Serious problem with RMI on jdk15
Message-ID:  <20081013204710.GA52841@misty.eyesbeyond.com>
In-Reply-To: <82DA0FAE-EAFF-4138-9CAA-21750A21D9D6@gmail.com>
References:  <EAF069E0-9DD6-41A9-93CE-1937BCA1FAFE@gmail.com> <7F26DA41-FF97-4DBB-ADAC-F7E6707B868D@gmail.com> <82DA0FAE-EAFF-4138-9CAA-21750A21D9D6@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 13, 2008 at 05:58:58PM +0300, Nikolay Denev wrote:
> On Oct 13, 2008, at 5:47 PM, Nikolay Denev wrote:
> > On Oct 9, 2008, at 4:35 PM, Nikolay Denev wrote:
> >
> >> Hi All,
> >>
> >> I have the following problem : when I connect to a jmxremote  
> >> enabled application with jconsole the whole VM crashes with  
> >> segmentation fault.
> >>
> > [...snip...]
> >>
> >> I'm running amd64 7.1-PRE from yesterday, and the jdk is  
> >> jdk-1.5.0.14p8_3,1
> >>
> >> Any help is greatly appreciated!
> >>
> >> Thanks,
> >> Nikolay Denev
> >
> > I think I've tracked down the problem.
> > The JVM crashes when one requests the TotalPhysicalMemory from the  
> > OperatingSystem bean.
> > The strange thing is that Sun specifies this value as "long", but  
> > how this can work on 64bit machines with many gigabytes of memory?
> >
> > What BSD patchset does is read the hw.physmem sysctl, which returns  
> > unsigned long, and then cast it to jlong and probably this is where  
> > the problem is.
> > I've tried disabling the sysctl and hardcoding the result and my JVM  
> > does not crash anymore.
> > Jconsole still does not show anything though.... and the same test  
> > program produces info when used with the diablo-jdk15...
> >
> >
> > Regards,
> > Nikolay Denev
> 
> As I read this now, It's not exactly correct, longs should be 4 bytes  
> on 32bit archs, and 8bytes on 64bit archs.
> So the storage type for TotalPhysicalMemory should be ok. Maybe jlong  
> is not correctly adjusted to 8bytes on 64bit architectures?

A jlong is typedef'ed as a 'long long' on both 32 and 64 bit architectures.
How much memory does the machine have and what architecture is it?

-- 
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?20081013204710.GA52841>