Compile error in codeBlob.cpp when building JDK-11 for Windows-32

Doerr, Martin martin.doerr at sap.com
Mon Sep 17 04:56:29 UTC 2018


Hi Robert,

we have successfully built jdk11 with Visual Studio 2013 (with --disable-warnings-as-errors):
"configure: Using microsoft C compiler version 18.00.40629 [Microsoft (R) C/C++ Optimizing Compiler Version 18.00.40629 for x86]"

Best regards,
Martin


-----Original Message-----
From: hotspot-dev <hotspot-dev-bounces at openjdk.java.net> On Behalf Of David Holmes
Sent: Montag, 17. September 2018 05:33
To: Magnus Ihse Bursie <magnus.ihse.bursie at oracle.com>; Robert Lichtenberger <r.lichtenberger at synedra.com>
Cc: hotspot-dev developers <hotspot-dev at openjdk.java.net>
Subject: Re: Compile error in codeBlob.cpp when building JDK-11 for Windows-32

<dropped build-dev>

We've seen this problem before:

https://bugs.openjdk.java.net/browse/JDK-8196880

As Magnus noted Oracle doesn't support 32-bit builds any more, and as 
far as I can see no-one does. AdoptOpenJDK doesn't.

But as long as the code remains we can fix issues if they are raised. 
I've filed:

https://bugs.openjdk.java.net/browse/JDK-8210803

Cheers,
David

On 14/09/2018 6:37 PM, Magnus Ihse Bursie wrote:
> 
> On 2018-09-14 10:03, Robert Lichtenberger wrote:
>> I have tried to build a Windows 32-bit JDK-11. While I was successful in
>> building a 64-bit Windows JDK, the attempt for 32-bit failed:
>>
>> Here's what I did:
>>
>> $ bash configure --with-boot-jdk=/cygdrive/c/jdk-10.0.2
>> --disable-warnings-as-errors --with-target-bits=32
>> ...
>>
>> ====================================================
>> The existing configuration has been successfully updated in
>> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release
>> using configure arguments '--with-boot-jdk=/cygdrive/c/jdk-10.0.2
>> --disable-warnings-as-errors --with-target-bits=32'.
>>
>> Configuration summary:
>> * Debug level:    release
>> * HS debug level: product
>> * JVM variants:   server
>> * JVM features:   server: 'cds cmsgc compiler1 compiler2 epsilongc g1gc
>> jfr jni-check jvmti management nmt parallelgc serialgc services 
>> vm-structs'
>> * OpenJDK target: OS: windows, CPU architecture: x86, address length: 32
>> * Version string: 11-internal+0-adhoc.synedra.jdk11 (11-internal)
>>
>> Tools summary:
>> * Environment:    cygwin version 2.10.0(0.325/5/3) (root at
>> /cygdrive/c/cygwin64)
>> * Boot JDK:       openjdk version "10.0.2" 2018-07-17  OpenJDK Runtime
>> Environment 18.3 (build 10.0.2+13)  OpenJDK 64-Bit Server VM 18.3 (build
>> 10.0.2+13, mixed mode)   (at /cygdrive/c/jdk-10.0.2)
>> * Toolchain:      microsoft (Microsoft Visual Studio 2017)
>> * C Compiler:     Version 19.15.26729 (at
>> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl) 
>>
>> * C++ Compiler:   Version 19.15.26729 (at
>> /cygdrive/c/progra~2/micros~1/2017/commun~1/vc/tools/msvc/1415~1.267/bin/hostx86/x86/cl) 
>>
>>
>> Build performance summary:
>> * Cores to use:   2
>> * Memory limit:   16383 MB
>> ...
>>
>> $ time make CONF=windows-x86-normal-server-release all
>> Building target 'all' in configuration 
>> 'windows-x86-normal-server-release'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(229): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(250): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(289): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(312): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(333): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(372): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(437): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(470): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(506): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> c:/jdk/jdk11/src/hotspot/share/code/codeBlob.cpp(541): error C2956:
>> sized deallocation function 'operator delete(void*, size_t)' would be
>> chosen as placement deallocation function.
>> predefined C++ types (compiler internal)(44): note: see declaration of
>> 'operator delete'
>> make[3]: *** [lib/CompileJvm.gmk:151:
>> /cygdrive/c/jdk/jdk11/build/windows-x86-normal-server-release/hotspot/variant-server/libjvm/objs/codeBlob.obj] 
>>
>> Error 1
>> make[2]: *** [make/Main.gmk:257: hotspot-server-libs] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>>
>> ERROR: Build failed for target 'all' in configuration
>> 'windows-x86-normal-server-release' (exit code 2)
> 
> This is most likely due to some issue on new/delete operators works, 
> which are undergoing changes in the language. That is, a code issue on 
> hotspot.
> 
> I don't know why you are seeing this on windows-x86 though. 
> https://msdn.microsoft.com/en-us/library/mt723604.aspx suggests that you 
> can disable this check by -Zc:sizedDealloc-. Do this by "configure 
> --with-extra-cxxflags=Zc:sizedDealloc-".
> 
>> On a meta-level: Is a JDK for Windows 32-bit just built no longer or is
>> it completely abandoned as a platform?
> 
> Oracle is not building 32-bit Windows regularly, and I don't think 
> anyone else is doing that. (Perhaps AdoptOpenJDK?) In such a scenario, 
> the code quickly bit rots. There has been no decision as of yet to 
> remove the code from the code base, but unless someone steps up to 
> maintain the code base, it's unlikely to survive in the long term.
> 
> /Magnus


More information about the hotspot-dev mailing list