Build failure after "8204540: Automatic oop closure devirtualization"
Stefan Karlsson
stefan.karlsson at oracle.com
Mon Jun 25 19:37:15 UTC 2018
Hi Gustavo,
On 2018-06-25 19:38, Gustavo Romero wrote:
> Hi,
>
> I'm facing the following build error on jdk/jdk tip
> (on Power and x86_64):
>
> ERROR: Build failed for target 'default (exploded-image)' in
> configuration 'linux-x86_64-normal-server-release' (exit code 2)
>
> === Output from failing command(s) repeated here ===
> * For target
> hotspot_variant-server_libjvm_gtest_objs_BUILD_GTEST_LIBJVM_link:
> /home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/hotspot/variant-server/libjvm/objs/blockOffsetTable.o:
> In function `void MarkSweep::mark_and_push<unsigned int>(unsigned int*)':
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> /home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/hotspot/variant-server/libjvm/objs/blockOffsetTable.o:
> In function `void MarkSweep::mark_and_push<oopDesc*>(oopDesc**)':
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> collect2: error: ld returned 1 exit status
> * For target hotspot_variant-server_libjvm_objs_BUILD_LIBJVM_link:
> /home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/hotspot/variant-server/libjvm/objs/blockOffsetTable.o:
> In function `void MarkSweep::mark_and_push<unsigned int>(unsigned int*)':
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> /home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/hotspot/variant-server/libjvm/objs/blockOffsetTable.o:
> In function `void MarkSweep::mark_and_push<oopDesc*>(oopDesc**)':
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> /home/gromero/hg/jdk/jdk/src/hotspot/share/gc/serial/markSweep.inline.hpp:54:
> undefined reference to `Stack<oopDesc*, (MemoryType)5>::push(oopDesc*)'
> collect2: error: ld returned 1 exit status
>
> * All command lines available in
> /home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/make-support/failure-logs.
> === End of repeated output ===
>
> === Make failed targets repeated here ===
> lib/CompileJvm.gmk:149: recipe for target
> '/home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/support/modules_libs/java.base/server/libjvm.so'
> failed
> lib/CompileGtest.gmk:58: recipe for target
> '/home/gromero/hg/jdk/jdk/build/linux-x86_64-normal-server-release/hotspot/variant-server/libjvm/gtest/libjvm.so'
> failed
> make/Main.gmk:257: recipe for target 'hotspot-server-libs' failed
> === End of repeated output ===
>
>
> And a quick bisect seems to point to change:
>
> 8204540: Automatic oop closure devirtualization
> http://hg.openjdk.java.net/jdk/jdk/rev/9d62da00bf15
>
> I'm wondering if somebody is experiencing the same issue?
This doesn't happen in our build farm, but I see that
markSweep.inline.hpp is missing an include of stack.inline.hpp.
Could you try with the following?:
diff --git a/src/hotspot/share/gc/serial/markSweep.inline.hpp
b/src/hotspot/share/gc/serial/markSweep.inline.hpp
--- a/src/hotspot/share/gc/serial/markSweep.inline.hpp
+++ b/src/hotspot/share/gc/serial/markSweep.inline.hpp
@@ -33,6 +33,7 @@
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
#include "oops/oop.inline.hpp"
+#include "utilities/stack.inline.hpp"
inline void MarkSweep::mark_object(oop obj) {
// some marks may contain information we need to preserve so we
store them away
Thanks,
StefanK
>
>
> Thanks.
>
> Regards,
> Gustavo
>
More information about the hotspot-dev
mailing list