JDK-6679422 : networkStream::connect() in ostream.cpp is not 64-bit clean
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs10
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-03-25
  • Updated: 2010-04-02
  • Resolved: 2010-01-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 Other
6u14Fixed hs12Fixed
Related Reports
Relates :  
Description
Building a 64-bit VM on linux with "gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.1)" dies with:

src/share/vm/utilities/ostream.cpp: In member function `bool networkStream::connect(const char*, short int)':
src/share/vm/utilities/ostream.cpp:832: warning: comparison is always false due to limited range of data type
gmake[2]: *** [ostream.o] Error 1

Comments
EVALUATION Line 832 is: if (server.sin_addr.s_addr == (unsigned long) -1) sin_addr.s_addr is a 32-bit inteter; unsigned long is a 64-bit integer in a 64-bit build. *** (#1 of 1): [ UNSAVED ] ###@###.###
25-03-2008

SUGGESTED FIX Use uint32_t instead of unsigned long. Would like to use in_addr_t, which is available on linux and solaris, but only on *some* windows versions, not all. Sigh.
25-03-2008