dev@glassfish.java.net

Re: 64-bit mode problems after JDK updating 1.5.0_07 -> 1.5.0_09

From: Sanjeeb Kumar Sahoo <Sanjeeb.Sahoo_at_Sun.COM>
Date: Thu, 16 Nov 2006 15:06:59 +0530

No, it does not look to be a problem in GlassFish. You should see a
similar linker error when you run the following java program in 64bit mode.

class a {
        public static void main(String[] args) throws Exception {
                 new sun.nio.ch.DevPollSelectorProvider().openSelector();
        }
}

I think, *fdLimit* which is a native method in
DevPollArrayWrapperis.class is somehow not defined/available in the
64bit version libraries of JDK 1.5.0_09. Can you let us know what the
following command returns in your system ( I am assuming you have *nm*
program available in your path)?

nm -D $JAVA_HOME/jre/lib/sparcv9/libnio.so | grep fdLimit

Run the same for $JAVA_HOME/jre/lib/libnio.so and let us know if the
symbol is defined in 32 bit version of the library.

Thanks,
Sahoo

Dmitry Mozheyko wrote:
> Hi all.
> I use glassfish v2 b25 on Solaris 10 x86 server with Xeon processor with HyperThreading turned on.
> ========================================================================================================
> -bash-3.00# prtconf -v | grep -i CPU
> cpus (driver not attached)
> cpu, instance #0 (driver not attached)
> value='Intel(r) Xeon(tm) CPU 2.80GHz'
> name='ext-cpuid-features-ecx' type=int items=1
> name='ext-cpuid-features' type=int items=1
> name='cpuid-features-ecx' type=int items=1
> name='cpuid-features' type=int items=1
> name='cpu-model' type=int items=1
> name='cpu-mhz' type=int items=1
> value='cpu'
> cpu, instance #1 (driver not attached)
> value='Intel(r) Xeon(tm) CPU 2.80GHz'
> name='ext-cpuid-features-ecx' type=int items=1
> name='ext-cpuid-features' type=int items=1
> name='cpuid-features-ecx' type=int items=1
> name='cpuid-features' type=int items=1
> name='cpu-model' type=int items=1
> name='cpu-mhz' type=int items=1
> value='cpu'
> -bash-3.00# uname -a
> SunOS sun 5.10 Generic_118855-19 i86pc i386 i86pc
> -bash-3.00# cat /etc/release
> Solaris 10 1/06 s10x_u1wos_19a X86
> Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
> Use is subject to license terms.
> Assembled 07 December 2005
> ========================================================================================================
> Before JDK updating glassfish successfully runs with option:
> ...
> <jvm-options>-d64</jvm-options>
> ...
>
> But after JDK updating 1.5.0_07 -> 1.5.0_09
> Running with option -d64 fails with error:
> ...
> [#|2006-11-16T10:31:42.449+0300|WARNING|sun-appserver-pe9.1|javax.enterprise.system.stream.err|_ThreadID=10;_ThreadName=main;|java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
> Caused by: java.lang.UnsatisfiedLinkError: fdLimit
> at sun.nio.ch.DevPollArrayWrapper.fdLimit(Native Method)
> at sun.nio.ch.DevPollArrayWrapper.<clinit>(DevPollArrayWrapper.java:53)
> at sun.nio.ch.DevPollSelectorImpl.<init>(DevPollSelectorImpl.java:54)
> at sun.nio.ch.DevPollSelectorProvider.openSelector(DevPollSelectorProvider.java:18)
> at com.sun.enterprise.server.ss.provider.ASSelectorProvider.openSelector(ASSelectorProvider.java:75)
> at java.nio.channels.Selector.open(Selector.java:209)
> at com.sun.enterprise.server.ss.ASSocketService.createListeningSelector(ASSocketService.java:208)
> at com.sun.enterprise.server.ss.ASSocketService.start(ASSocketService.java:99)
> at com.sun.enterprise.server.ss.ASLazyKernel.startService(ASLazyKernel.java:171)
> at com.sun.enterprise.server.ss.ASLazyKernel.setupSocketListeners(ASLazyKernel.java:122)
> at com.sun.enterprise.server.ss.ASLazyKernel.startASSocketServices(ASLazyKernel.java:81)
> at com.sun.enterprise.server.ondemand.OnDemandServer.onInitialization(OnDemandServer.java:84)
> at com.sun.enterprise.server.PEMain.run(PEMain.java:316)
> at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
> ... 5 more
> |#]
>
> ...
>
> java-machine works fine in 64-bit-mode:
> -bash-3.00$ java -d64 -version
> java version "1.5.0_09"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_06-b05, mixed mode)
>
> May be problem in glassfish?
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>
>