Build issues with OpenJDK (Hotspot breaks) under Ubuntu 12.10
Tim Bell
tim.bell at oracle.com
Mon Dec 10 15:42:24 PST 2012
On 12/10/12 14:54, Mani Sarkar wrote:
> Hi All,
>
> I and another OpenJDK user have experienced an issue build Hotspot on its
> own, and we get the same GCC 4.7 error with binaryTreeDictionary.cpp when
> Hotspot is built on its own. We made sure that we had the latest version of
> the source from your hg repo.
This is a known problem. Do you have this changeset in your source tree?
http://hg.openjdk.java.net/build-infra/jdk8/hotspot/rev/19c1bd641922
This was pushed from jdk8 master to the build-infra forest on 06
December 2012
For more information, check this change history on the file:
http://hg.openjdk.java.net/build-infra/jdk8/hotspot/log?rev=binaryTreeDictionary.cpp
Compare that to the output of 'hg log
src/share/vm/memory/binaryTreeDictionary.cpp' in your hotspot repo.
Tim
> I have attached the patch which fixes the issue with this email but failing
> to receive it, please find the inline version for your analysis.
>
> diff -r 2f6dc76eb8e5 src/share/vm/memory/binaryTreeDictionary.cpp
> --- a/src/share/vm/memory/binaryTreeDictionary.cpp Thu Nov 29 11:30:04 2012
> -0800
> +++ b/src/share/vm/memory/binaryTreeDictionary.cpp Sun Dec 09 19:40:34 2012
> +0000
> @@ -290,7 +290,7 @@
> assert(chunk->list() == this, "list should be set for chunk");
> assert(tail() != NULL, "The tree list is embedded in the first chunk");
> // which means that the list can never be empty.
> - assert(!verify_chunk_in_free_list(chunk), "Double entry");
> + assert(!this->verify_chunk_in_free_list(chunk), "Double entry");
> assert(head() == NULL || head()->prev() == NULL, "list invariant");
> assert(tail() == NULL || tail()->next() == NULL, "list invariant");
>
> @@ -300,7 +300,7 @@
>
> assert(!tail() || size() == tail()->size(), "Wrong sized chunk in list");
> FreeList_t<Chunk_t>::increment_count();
> - debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
> +
> debug_only(this->increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
> assert(head() == NULL || head()->prev() == NULL, "list invariant");
> assert(tail() == NULL || tail()->next() == NULL, "list invariant");
> }
> @@ -314,7 +314,7 @@
> assert(chunk->list() == this, "list should be set for chunk");
> assert(head() != NULL, "The tree list is embedded in the first chunk");
> assert(chunk != NULL, "returning NULL chunk");
> - assert(!verify_chunk_in_free_list(chunk), "Double entry");
> + assert(!this->verify_chunk_in_free_list(chunk), "Double entry");
> assert(head() == NULL || head()->prev() == NULL, "list invariant");
> assert(tail() == NULL || tail()->next() == NULL, "list invariant");
>
> @@ -328,7 +328,7 @@
> head()->link_after(chunk);
> assert(!head() || size() == head()->size(), "Wrong sized chunk in list");
> FreeList_t<Chunk_t>::increment_count();
> - debug_only(increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
> +
> debug_only(this->increment_returned_bytes_by(chunk->size()*sizeof(HeapWord));)
> assert(head() == NULL || head()->prev() == NULL, "list invariant");
> assert(tail() == NULL || tail()->next() == NULL, "list invariant");
> }
>
> Basically its expecting us to insert *this-> *in front of a few objects,
> doing so resolves the build.
>
> Thanks.
>
> Cheers
> Mani
>
More information about the build-infra-dev
mailing list