Build breakage

Andrew Hughes ahughes at redhat.com
Tue May 29 06:11:03 PDT 2012



----- Original Message -----
> Andrew,
> 
> I filed 7172226
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7172226 (not
> available yet)
> See below for the patch.
> 
> On 2012-05-28 15:34, Andrew Hughes wrote:
> >
> >
> > ----- Original Message -----
> >> Hi Andrew,
> >>
> >> On 2012-05-28 14:57, Andrew Hughes wrote:
> >>> I'm trying to build a patch against the build forest
> >>> (http://hg.openjdk.java.net/jdk8/build/) and the HotSpot build
> >>> is broken in the current checkout:
> >>>
> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:
> >>> In instantiation of 'TreeList<Chunk>*
> >>> TreeList<Chunk>::remove_chunk_replace_if_needed(TreeChunk<Chunk>*)
> >>> [with Chunk = FreeChunk]':
> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:1342:16:
> >>>    required from here
> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:173:7:
> >>> error: 'link_tail' was not declared in this scope, and no
> >>> declarations were found by argument-dependent lookup at the point
> >>> of instantiation [-fpermissive]
> (...)
> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
> >>> note: declarations in dependent base
> >>> 'TreeCensusClosure<FreeChunk>' are not found by unqualified
> >>> lookup
> >>> /home/andrew/projects/openjdk/upstream/build/hotspot/src/share/vm/memory/binaryTreeDictionary.cpp:928:7:
> >>> note: use 'this->do_list' instead
> >>>
> >>> This is with GCC 4.7, exact same build as I do for 7u which works
> >>> fine.
> >>>
> >>> ALT_BOOTDIR points to:
> >>>
> >>> java version "1.7.0_03-icedtea"
> >>> OpenJDK Runtime Environment (IcedTea7 2.1) (Gentoo build
> >>> 1.7.0_03-icedtea-b147)
> >>> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
> >>>
> >>> Settings:
> >>>
> >>> ANT_RESPECT_JAVA_HOME=true LANG=C make
> >>> ALT_BOOTDIR=${SYSTEM_ICEDTEA7} \
> >>>       ALT_OUTPUTDIR=${WORKING_DIR}/${BUILD_DIR} \
> >>>       ALT_PARALLEL_COMPILE_JOBS=$PARALLEL_JOBS \
> >>>       ALT_DROPS_DIR=${DROPS_DIR} \
> >>>       HOTSPOT_BUILD_JOBS=$PARALLEL_JOBS \
> >>>       ANT=/usr/bin/ant \
> >>>       QUIETLY="" \
> >>>       DEBUG_BINARIES="true" \
> >>>       DEBUG_CLASSFILES="true" \
> >>>       NO_DOCS="true" \
> >>>       OTHER_JAVACFLAGS="-Xmaxwarns 10000" \
> >>>       ${WARNINGS} STATIC_CXX=false \
> >>>       STRIP_POLICY=no_strip
> >>>
> >>> I think this may be related to:
> >>>
> >>> $ hg log -R hotspot -k 7164144
> >>> changeset:   3297:f69a5d43dc19
> >>> parent:      3295:9f059abe8cf2
> >>> user:        jmasa
> >>> date:        Wed Apr 25 09:55:55 2012 -0700
> >>> summary:     7164144: Fix variable naming style in
> >>> freeBlockDictionary.* and binaryTreeDictionary*
> >>>
> >>> which is in hotspot-comp, hotspot-rt&   build, but not 7u.
> >>>
> >>> Any ideas?
> >>
> >> I've seen this when I tried building with GCC 4.7 as well.
> >> This problem comes from 9f059abe8cf2, "Generalize the CMS free
> >> list
> >> code" which introduced some templates.
> >> It appears that GCC 4.7 is more strict when doing argument
> >> dependent
> >> lookup than 4.6.
> >> The fix is to do just what gcc suggests and use this->* or use the
> >> qualified name of the function, for example
> >> TreeList<Chunk>::link_tail
> >> in the first failure. As you can see there are already some places
> >> in
> >> that code which use the fully qualified name.
> >>
> >> I just discovered that I had a patch that fixes most of these
> >> issues
> >> in
> >> binaryTreeDictionary so I'll go ahead and file a CR for this.
> >>
> >> Regards
> >> /mg
> >>
> >
> > Thanks Mikael.  If you could post the patch, it would be much
> > appreciated.
> > I can't build OpenJDK8 at present.
> 
> I've uploaded my fix (only build tested) to
> http://cr.openjdk.java.net/~mgerdin/7172226/webrev.0/
> 
> /mg
> 
> >
> >> --
> >> Mikael Gerdin
> >> Java SE VM SQE Stockholm
> >>
> >
> 
> --
> Mikael Gerdin
> Java SE VM SQE Stockholm
> 

Thanks.  This patch worked and I've committed it to the IcedTea OpenJDK8 tree:

http://hg.openjdk.java.net/icedtea/jdk8/hotspot/rev/f1947ffdccd9

Can someone with JPRT access please push this through?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the hotspot-dev mailing list