LOG=trace gives the most detail.
make has a -d option but it is pretty useless due to the volume of data
produced (mostly about the bizarre ways it tries to re-make files that
you don't want re-made in the first place :( ).
David
On 8/02/2013 9:47 AM, Randy Nielsen wrote:
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:kelly.oh...@oracle.com]
Sent: Thursday, February 07, 2013 8:36 AM
To: Randy Nielsen
Cc: build-dev@openjdk.java.net
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<rniel...@vocera.com> 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 ==