Tried suggestions with no change. Specifically LOG=debug,nofile didn't add any
output at all. Are there any others ways to poke the make to get more output,
say a line by line trace of the make behavior? This feels like a process
synchronization problem where process A is waiting to be notified by someone
and of course the notify never occurs. But why would a bunch of compiles etc.
use this kind of synchronization?
Also I tried strace to peek under the covers, and concluded that Cygwin strace
is very buggy. Details (optional) follow, after my signature.
Randy
I ran strace on top of the make of hotspot and to my utter astonishment after a
few seconds it ended like this:
$ strace make hotspot >strace.txt
/bin/sh: C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/link:
Function not implemented
jdk/make/common/shared/Compiler-msvc.gmk:80: *** COMPILER_VERSION
cannot be empty here. Stop.
Being a suspicious soul I then tried this:
$ strace make sanity >trace.txt
/bin/sh: C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/link:
Function not implemented
jdk/make/common/shared/Compiler-msvc.gmk:80: *** COMPILER_VERSION
cannot be empty here. Stop.
Of course the "make sanity" without strace works perfectly. Conclusion: the
Cygwin strace is buggy (big surprise) and can't be used to help peer "under the
covers" of the hotspot make.
-----Original Message-----
From: Kelly Ohair [mailto:[email protected]]
Sent: Thursday, February 07, 2013 8:36 AM
To: Randy Nielsen
Cc: [email protected]
Subject: Re: Hang building JDK 7 Hotspot in Windows 7
no definite answers just ideas
we are starting to use windows 2008R2 which seems better make sure the env vars
TMP and TEMP are set to directories windows understands eg C:/ paths and these
directories exist and have write permissions try using make LOG=debug,nofile
Sent from my iPhone
On Feb 6, 2013, at 23:59, Randy Nielsen <[email protected]> wrote:
> I am thoroughly stuck building JDK 7 when I start the Hotspot portion of the
> build. This is Windows 7 64 bit building 64 bit JDK with Visual Studio 10
> Service Pack 1. The hang seems to happen immediately after I start the
> hotspot portion of the make. There is no output at all. Watching the
> Windows Task Manager in the Processes tab shows the System Idle process at
> 99% almost all of the time. Occasionally mscorsvw.exe (.NET services) or
> minty.exe gets a few % of CPU but only very briefly.
>
>> From browsing the web I've tried the following "fixes": verified that there
>> was no anti-virus program, and disabled ASLR (Address Space Layout
>> Randomization). No change in behavior.
>
> Has anyone any ideas about how to deal with this? Also are there settings in
> the make that will dramatically increase the level of logging in the make
> that might help me debug this?
>
> Here's the output of the make hotspot:
>
> /usr/bin/mkdir -p
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/outputdir
> /usr/bin/mkdir -p
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import
>
>
> ######################################################################
> ##
> ########################################################################
> ##### Entering hotspot for target(s) all_product #####
> ######################################################################
> ##
>
> cd ./hotspot/make && \
> make JDK_TOPDIR=C:/OpenJDK/openjdk/jdk
> JDK_MAKE_SHARED_DIR=C:/OpenJDK/openjdk/jdk/make/common/shared
> EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7
> TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00
> JDK_BUILD_NUMBER=b00
> FULL_VERSION=1.7.0-internal-administrator_2013_02_06_23_32-b00
> PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7
> JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0
> PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6
> PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0
> ANT_HOME="c:/OpenJDK/apache-ant-1.7.1"
> ALT_OUTPUTDIR=C:/OpenJDK/openjdk/build/windows-amd64/hotspot/outputdir
> ALT_EXPORT_PATH=C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import
> ALT_SLASH_JAVA="c:/OpenJDK" ALT_BOOTDIR=c:/OpenJDK/jdk-6u18
> ALT_LANGTOOLS_DIST=C:/OpenJDK/openjdk/build/windows-amd64/langtools/di
> st all_product
>
> ==>> That's it - no more output.
>
> The output of the sanity portion of the make is below.
>
> Hoping someone can help!
>
> Randy
>
> $ make
> cygwin warning:
> MS-DOS style path detected: C:/Windows/system32/wscript.exe
> Preferred POSIX equivalent is:
> /cygdrive/c/Windows/system32/wscript.exe
> CYGWIN environment variable option "nodosfilewarning" turns off this warning.
> Consult the user's guide for more details about POSIX paths:
> http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
> ( cd ./jdk/make && \
> make sanity HOTSPOT_IMPORT_CHECK=false
> JDK_TOPDIR=C:/OpenJDK/openjdk/jdk
> JDK_MAKE_SHARED_DIR=C:/OpenJDK/openjdk/jdk/make/common/shared
> EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7
> TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00
> JDK_BUILD_NUMBER=b00
> FULL_VERSION=1.7.0-internal-administrator_2013_02_06_23_32-b00
> PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7
> JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0
> PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6
> PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0
> ANT_HOME="c:/OpenJDK/apache-ant-1.7.1"
> ALT_OUTPUTDIR=C:/OpenJDK/openjdk/build/windows-amd64
> ALT_LANGTOOLS_DIST=C:/OpenJDK/openjdk/build/windows-amd64/langtools/di
> st ALT_CORBA_DIST=C:/OpenJDK/openjdk/build/windows-amd64/corba/dist
> ALT_JAXP_DIST=C:/OpenJDK/openjdk/build/windows-amd64/jaxp/dist
> ALT_JAXWS_DIST=C:/OpenJDK/openjdk/build/windows-amd64/jaxws/dist
> ALT_HOTSPOT_IMPORT_PATH=C:/OpenJDK/openjdk/build/windows-amd64/hotspot
> /import BUILD_HOTSPOT=true ; )
> make[1]: Entering directory `/cygdrive/c/OpenJDK/openjdk/jdk/make'
> make[1]: Leaving directory `/cygdrive/c/OpenJDK/openjdk/jdk/make'
>
> Build Machine Information:
> build machine = WIN-R7HSHTAIIHC
>
> Build Directory Structure:
> CWD = /cygdrive/c/OpenJDK/openjdk
> TOPDIR = .
> LANGTOOLS_TOPDIR = ./langtools
> JAXP_TOPDIR = ./jaxp
> JAXWS_TOPDIR = ./jaxws
> CORBA_TOPDIR = ./corba
> HOTSPOT_TOPDIR = ./hotspot
> JDK_TOPDIR = ./jdk
>
> Build Directives:
> BUILD_LANGTOOLS = true
> BUILD_JAXP = true
> BUILD_JAXWS = true
> BUILD_CORBA = true
> BUILD_HOTSPOT = true
> BUILD_JDK = true
> DEBUG_CLASSFILES =
> DEBUG_BINARIES =
>
> Hotspot Settings:
> HOTSPOT_BUILD_JOBS =
> HOTSPOT_OUTPUTDIR =
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/outputdir
> HOTSPOT_EXPORT_PATH =
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import
>
>
>
>
> Bootstrap Settings:
> BOOTDIR = c:/OpenJDK/jdk-6u18
> ALT_BOOTDIR = c:/OpenJDK/jdk-6u18
> BOOT_VER = 1.6.0 [requires at least 1.6] OUTPUTDIR =
> C:/OpenJDK/openjdk/build/windows-amd64
> ALT_OUTPUTDIR = C:/OpenJDK/openjdk/build/windows-amd64
> ABS_OUTPUTDIR = C:/OpenJDK/openjdk/build/windows-amd64
>
> Build Tool Settings:
> SLASH_JAVA = c:/OpenJDK
> ALT_SLASH_JAVA = c:/OpenJDK
> VARIANT = OPT
> JDK_DEVTOOLS_DIR = c:/OpenJDK/devtools
> ALT_JDK_DEVTOOLS_DIR =
> ANT_HOME = c:/OpenJDK/apache-ant-1.7.1 UNIXCOMMAND_PATH = /usr/bin/
> ALT_UNIXCOMMAND_PATH =
> COMPILER_PATH = C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/
> ALT_COMPILER_PATH =
> DEVTOOLS_PATH = /usr/bin/
> ALT_DEVTOOLS_PATH =
> MSVCRNN_DLL_PATH = C:/PROGRA~2/MICROS~2.0/Vc/redist/x64/Microsoft.VC100.CRT
> ALT_MSVCRNN_DLL_PATH =
> INCLUDE =
> C:/PROGRA~2/MICROS~2.0/VC/include;C:/MSSDKWIN7/Windows/v7.1/Include
> LIB =
> C:/PROGRA~2/MICROS~2.0/VC/lib/amd64;C:/MSSDKWIN7/Windows/v7.1/Lib/x64
> COMPILER_NAME = Microsoft Visual Studio 10 (16.00.30319.01)
> COMPILER_VERSION = VS2010 CC_VER = 16.00.40219.01 [requires at least
> 16.00.30319.01] ZIP_VER = 3.0 [requires at least 2.2] UNZIP_VER =
> 6.00 [requires at least 5.12] LINK_VER = 10.00.40219.01 [requires at
> least 10.00.30319.01] CC =
> C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/cl
> LINK = C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/link
> DUMPBIN =
> C:/PROGRA~2/MICROS~2.0/Common7/Tools/../../Vc/bin/amd64/dumpbin.exe
> ANT_VER = 1.7.1 [requires at least 1.7.1] TEMPDIR =
> C:/OpenJDK/openjdk/build/windows-amd64/tmp
>
> Build Directives:
> OPENJDK = true
> USE_HOTSPOT_INTERPRETER_MODE =
> PEDANTIC =
> DEV_ONLY =
> NO_DOCS =
> NO_IMAGES =
> TOOLS_ONLY =
> INSANE =
> COMPILE_APPROACH = normal
> FASTDEBUG =
> COMPILER_WARNINGS_FATAL = false
> COMPILER_WARNING_LEVEL = 3
> SHOW_ALL_WARNINGS = false
> INCREMENTAL_BUILD = false
> CC_HIGHEST_OPT =
> CC_HIGHER_OPT =
> CC_LOWER_OPT =
> CXXFLAGS = -O1 -Zi -nologo -MD /D _STATIC_CPPLIB /D
> _DISABLE_DEPRECATE_STATIC_CPPLIB -Zc:wchar_t-
> -FdC:/OpenJDK/openjdk/build/windows-amd64/tmp/obj64/.pdb
> -FmC:/OpenJDK/openjdk/build/windows-amd64/tmp/obj64/.map -wd4800 -W3 -D
> _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
> CFLAGS = -O1 -Zi -nologo -MD /D _STATIC_CPPLIB /D
> _DISABLE_DEPRECATE_STATIC_CPPLIB -Zc:wchar_t-
> -FdC:/OpenJDK/openjdk/build/windows-amd64/tmp/obj64/.pdb
> -FmC:/OpenJDK/openjdk/build/windows-amd64/tmp/obj64/.map -wd4800 -W3 -D
> _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
> BOOT_JAVA_CMD = c:/OpenJDK/jdk-6u18/bin/java -XX:-PrintVMOptions
> -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m
> -XX:PermSize=32m -XX:MaxPermSize=160m BOOT_JAVAC_CMD =
> c:/OpenJDK/jdk-6u18/bin/javac -J-XX:ThreadStackSize=1536
> -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
> -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
> -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6
> -XDignore.symbol.file=true BOOT_JAR_CMD = c:/OpenJDK/jdk-6u18/bin/jar
> BOOT_JARSIGNER_CMD = c:/OpenJDK/jdk-6u18/bin/jarsigner
>
> Build Platform Settings:
> USER = Administrator
> PLATFORM = windows
> ARCH = amd64
> LIBARCH = amd64
> ARCH_FAMILY = amd64
> ARCH_DATA_MODEL = 64
> ARCHPROP = amd64
> PROCESSOR_ARCHITECTURE = x86
> PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 26 Stepping 5,
> GenuineIntel USING_CYGWIN = true CYGWIN_VER = 6.1 [requires at least
> 4.0] CYGPATH_CMD = cygpath -a -s -m OS_VERSION = 6.1 [requires at
> least 5.2] OS_VARIANT_NAME = OS_VARIANT_VERSION = 6.1 MB_OF_MEMORY
> = 8191
>
> GNU Make Settings:
> MAKE = make
> MAKE_VER = 3.82 [requires at least 3.81] MAKECMDGOALS = sanity
> MAKEFLAGS = w SHELL = /bin/sh
>
> Target Build Versions:
> JDK_VERSION = 1.7.0
> MILESTONE = internal
> RELEASE = 1.7.0-internal
> FULL_VERSION = 1.7.0-internal-administrator_2013_02_06_23_32-b00
> BUILD_NUMBER = b00
>
> External File/Binary Locations:
> USRJDKINSTANCES_PATH = C:/PROGRA~1/Java BUILD_JDK_IMPORT_PATH =
> c:/OpenJDK/re/jdk/1.7.0/promoted/latest/binaries
> ALT_BUILD_JDK_IMPORT_PATH =
> JDK_IMPORT_PATH =
> c:/OpenJDK/re/jdk/1.7.0/promoted/latest/binaries/windows-amd64
> ALT_JDK_IMPORT_PATH =
> LANGTOOLS_DIST = C:/OpenJDK/openjdk/build/windows-amd64/langtools/dist
> ALT_LANGTOOLS_DIST =
> C:/OpenJDK/openjdk/build/windows-amd64/langtools/dist
> CORBA_DIST = C:/OpenJDK/openjdk/build/windows-amd64/corba/dist
> ALT_CORBA_DIST = C:/OpenJDK/openjdk/build/windows-amd64/corba/dist
> JAXP_DIST = C:/OpenJDK/openjdk/build/windows-amd64/jaxp/dist
> ALT_JAXP_DIST = C:/OpenJDK/openjdk/build/windows-amd64/jaxp/dist
> JAXWS_DIST = C:/OpenJDK/openjdk/build/windows-amd64/jaxws/dist
> ALT_JAXWS_DIST = C:/OpenJDK/openjdk/build/windows-amd64/jaxws/dist
> HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
> ALT_HOTSPOT_DOCS_IMPORT_PATH =
> HOTSPOT_IMPORT_PATH = C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import
> ALT_HOTSPOT_IMPORT_PATH =
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import
> HOTSPOT_SERVER_PATH =
> C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import/jre/bin/server
> ALT_HOTSPOT_SERVER_PATH =
> HOTSPOT_LIB_PATH = C:/OpenJDK/openjdk/build/windows-amd64/hotspot/import/lib
> ALT_HOTSPOT_LIB_PATH =
> DXSDK_VER = 0x0900
> DXSDK_PATH = C:/PROGRA~2/MI4ADD~1
> ALT_DXSDK_PATH = C:/PROGRA~2/MI4ADD~1 DXSDK_INCLUDE_PATH =
> C:/PROGRA~2/MI4ADD~1/Include
> ALT_DXSDK_INCLUDE_PATH =
> DXSDK_LIB_PATH = C:/PROGRA~2/MI4ADD~1/Lib/x64
> ALT_DXSDK_LIB_PATH =
> WINDOWSSDKDIR = C:/PROGRA~2/MICROS~1/Windows/v7.0a/
> ALT_WINDOWSSDKDIR =
> RC = C:/PROGRA~2/MICROS~1/Windows/v7.0a//Bin/x64/RC.Exe
> REBASE = C:/PROGRA~2/MICROS~1/Windows/v7.0a//Bin/x64/ReBase.Exe
> CACERTS_FILE = ./../src/share/lib/security/cacerts
> ALT_CACERTS_FILE =
>
> OpenJDK-specific settings:
> FREETYPE_HEADERS_PATH = C:/OpenJDK/freetype-2.4.11/include
> ALT_FREETYPE_HEADERS_PATH = C:/OpenJDK/freetype-2.4.11/include
> FREETYPE_LIB_PATH = C:/OpenJDK/freetype-2.4.11
> ALT_FREETYPE_LIB_PATH = C:/OpenJDK/freetype-2.4.11
>
> Previous JDK Settings:
> PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
> ALT_PREVIOUS_RELEASE_PATH =
> PREVIOUS_JDK_VERSION = 1.6.0
> ALT_PREVIOUS_JDK_VERSION =
> PREVIOUS_JDK_FILE =
> ALT_PREVIOUS_JDK_FILE =
> PREVIOUS_JRE_FILE =
> ALT_PREVIOUS_JRE_FILE =
> PREVIOUS_RELEASE_IMAGE = c:/OpenJDK/jdk-6u18
> ALT_PREVIOUS_RELEASE_IMAGE =
>
>
> WARNING: To build Java 2 SDK 1.7.0 you need :
> VS2010 - link.exe version '10.00.30319.01'
> Specifically the Visual Studio 10 link.exe.
> You appear to be using Linker version '10.00.40219.01'
>
> Sanity check passed.
> make \
> SKIP_FASTDEBUG_BUILD=true \
> SKIP_DEBUG_BUILD=true \
> \
> generic_build_repo_series
> make[1]: Entering directory `/cygdrive/c/OpenJDK/openjdk'
> /usr/bin/mkdir -p ./build/windows-amd64/j2sdk-image /usr/bin/mkdir -p
> C:/OpenJDK/openjdk/build/windows-amd64/langtools
>
> == End of listing of make sanity portion of build ==
>
>