Build issues with OpenJDK (Hotspot breaks) under Ubuntu 12.10

Mani Sarkar sadhak001 at gmail.com
Mon Dec 10 14:54:55 PST 2012


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.

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

-- 
Twitter: @theNeomatrix369
Blog: http://neomatrix369.wordpress.com <http://neomatrxi369.wordpress.com>

*Don't chase success, rather aim for "Excellence", and success will come
chasing after you!*


More information about the build-infra-dev mailing list