Hi,

ServerSocketChannel and some other network classes are broken in windows 6b29 after d621c66dd504 changes [1]. Fields hostName, address and family were removed from InetAddress class [2]. Access to these fields was reimplemented through getters/setters in java.net module (setInetAddress_addr(...) etc), but they are still referenced directly from native code in windows networking implementation [3] (Java_sun_nio_ch_ServerSocketChannelImpl_initIDs function). So Tomcat won't start in Windows with "No such field error" thrown from native code.

I exported getters and setters for address and family and use them in sun.nio.ch too, webrev - http://cr.openjdk.java.net/~akasko/jdk6/webrev_inet_addr_windows.01/

I am not fully comprehending mapfile-vers logic, maybe its changes are not needed here.

Results were tested running Tomcat in windows and linux.


[1] http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/d621c66dd504
[2] http://hg.openjdk.java.net/jdk6/jdk6/jdk/diff/d621c66dd504/src/share/classes/java/net/InetAddress.java [3] http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/956e1047786a/src/windows/native/sun/nio/ch/ServerSocketChannelImpl.c

--
Regards,
Alex Kasko

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to