8011760: assert(delta != 0) failed: dup pointer in MemBaseline::malloc_sort_by_addr
Summary: Some of qsort implementation on Linux x86 compares element to itself, which is mistakenly treated as duplicate pointer
Reviewed-by: dcubed, acorn
--- a/hotspot/src/share/vm/services/memBaseline.cpp Fri Jul 05 08:09:40 2013 -0700
+++ b/hotspot/src/share/vm/services/memBaseline.cpp Tue Jul 09 13:18:16 2013 -0400
@@ -486,7 +486,7 @@
const MemPointerRecord* mp1 = (const MemPointerRecord*)p1;
const MemPointerRecord* mp2 = (const MemPointerRecord*)p2;
int delta = UNSIGNED_COMPARE(mp1->addr(), mp2->addr());
- assert(delta != 0, "dup pointer");
+ assert(p1 == p2 || delta != 0, "dup pointer");
return delta;
}