RFR: 8333356: JVM crashes with "aux_index does not match even or odd indices"
Aleksey Shipilev
shade at openjdk.org
Thu Aug 8 09:12:38 UTC 2024
On Thu, 8 Aug 2024 04:28:50 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> You get this message if the nodes of the concurrent hash table are corrupted or somehow don't yield the same hashcode as when the node was entered in the table. This change makes the error message less obscure, and in debug mode compares the two hash codes. The hash code is kept in the table in only debug mode, because we don't want the table to take a lot more memory.
>> Tested with tier1-4.
>
> src/hotspot/share/utilities/concurrentHashTable.inline.hpp line 684:
>
>> 682: DEBUG_ONLY(fatal("Cannot resize table: Node hash code has changed possibly due to corruption of the contents."
>> 683: " Node hash code changed from " SIZE_FORMAT " to " SIZE_FORMAT, aux->saved_hash(), aux_hash));
>> 684: fatal("Cannot resize table: Node hash code has changed possibly due to corruption of the contents.");
>
> Wondering if any compiler will flag the second fatal as unreachable?
+1. It would also dedup the messages if we wrap the second concat (yay preprocessor macros):
fatal("Cannot resize table: Node hash code has changed possibly due to corruption of the contents."
DEBUG_ONLY(" Node hash code changed from " SIZE_FORMAT " to " SIZE_FORMAT, aux->saved_hash(), aux_hash));
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20503#discussion_r1708948639
More information about the hotspot-dev
mailing list