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