RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

Yi Yang
`java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:

[0.113s][error][cds] relocation bitmap CRC error
[0.114s][error][cds] relocation bitmap CRC error
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
# assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
#
# JRE version: (17.0) (slowdebug build )
# Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
#
#
The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.

All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

-------------

Commit messages:
 - fix verify crash

Changes: https://git.openjdk.java.net/jdk/pull/3244/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3244&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264337
  Stats: 44 lines in 2 files changed: 43 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3244.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3244/head:pull/3244

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

Yumin Qi-3
On Mon, 29 Mar 2021 15:27:55 GMT, Yi Yang <[hidden email]> wrote:

> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

You are right. The crc is calculated based on used size, not aligned used size.

-------------

Marked as reviewed by minqi (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

Calvin Cheung
In reply to this post by Yi Yang
On Mon, 29 Mar 2021 15:27:55 GMT, Yi Yang <[hidden email]> wrote:

> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

LGTM.

-------------

Marked as reviewed by ccheung (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

Yi Yang
In reply to this post by Yumin Qi-3
On Mon, 29 Mar 2021 17:41:30 GMT, Yumin Qi <[hidden email]> wrote:

>> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>>
>> [0.113s][error][cds] relocation bitmap CRC error
>> [0.114s][error][cds] relocation bitmap CRC error
>> # To suppress the following error report, specify this argument
>> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
>> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
>> #
>> # JRE version: (17.0) (slowdebug build )
>> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
>> #
>> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
>> #
>> # An error report file with more information is saved as:
>> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
>> #
>> #
>> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>>
>> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.
>
> You are right. The crc is calculated based on used size, not aligned used size.

Thanks @yminqi @calvinccheung for reviews´╝ü

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces

Aleksey Shipilev-5
In reply to this post by Yi Yang
On Mon, 29 Mar 2021 15:27:55 GMT, Yi Yang <[hidden email]> wrote:

> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

Minor nit.

test/hotspot/jtreg/runtime/cds/appcds/VerifyWithDefaultArchive.java line 43:

> 41:         out.shouldHaveExitValue(0);
> 42:     }
> 43: }

Please add the newline at the end of file here. See how UI complains about it :)

-------------

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v2]

Yi Yang
In reply to this post by Yi Yang
> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

Yi Yang has updated the pull request incrementally with one additional commit since the last revision:

  newline

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3244/files
  - new: https://git.openjdk.java.net/jdk/pull/3244/files/64780bc1..0fe38b73

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3244&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3244&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3244.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3244/head:pull/3244

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v2]

Yi Yang
In reply to this post by Aleksey Shipilev-5
On Tue, 30 Mar 2021 06:40:48 GMT, Aleksey Shipilev <[hidden email]> wrote:

>> Yi Yang has updated the pull request incrementally with one additional commit since the last revision:
>>
>>   newline
>
> test/hotspot/jtreg/runtime/cds/appcds/VerifyWithDefaultArchive.java line 43:
>
>> 41:         out.shouldHaveExitValue(0);
>> 42:     }
>> 43: }
>
> Please add the newline at the end of file here. See how UI complains about it :)

Got it. But I'm not sure what's the abbreviation `UI` means... Could you please give me a link for that? Thanks!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v2]

Aleksey Shipilev-5
In reply to this post by Yi Yang
On Tue, 30 Mar 2021 06:58:24 GMT, Yi Yang <[hidden email]> wrote:

>> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>>
>> [0.113s][error][cds] relocation bitmap CRC error
>> [0.114s][error][cds] relocation bitmap CRC error
>> # To suppress the following error report, specify this argument
>> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
>> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
>> #
>> # JRE version: (17.0) (slowdebug build )
>> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
>> #
>> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
>> #
>> # An error report file with more information is saved as:
>> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
>> #
>> #
>> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>>
>> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.
>
> Yi Yang has updated the pull request incrementally with one additional commit since the last revision:
>
>   newline

Marked as reviewed by shade (Reviewer).

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v2]

Aleksey Shipilev-5
In reply to this post by Yi Yang
On Tue, 30 Mar 2021 06:52:29 GMT, Yi Yang <[hidden email]> wrote:

>> test/hotspot/jtreg/runtime/cds/appcds/VerifyWithDefaultArchive.java line 43:
>>
>>> 41:         out.shouldHaveExitValue(0);
>>> 42:     }
>>> 43: }
>>
>> Please add the newline at the end of file here. See how UI complains about it :)
>
> Got it. But I'm not sure what's the abbreviation `UI` means... Could you please give me a link for that? Thanks!

Thanks! I meant how GitHub UI (user interface) shows the red stop sign in cases like these.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v3]

Yi Yang
In reply to this post by Yi Yang
> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

Yi Yang has updated the pull request incrementally with one additional commit since the last revision:

  annotated @bug for bug-id

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3244/files
  - new: https://git.openjdk.java.net/jdk/pull/3244/files/0fe38b73..2d863d7f

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3244&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3244&range=01-02

  Stats: 2 lines in 1 file changed: 1 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3244.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3244/head:pull/3244

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v2]

Aleksey Shipilev-5
In reply to this post by Yi Yang
On Tue, 30 Mar 2021 06:58:24 GMT, Yi Yang <[hidden email]> wrote:

>> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>>
>> [0.113s][error][cds] relocation bitmap CRC error
>> [0.114s][error][cds] relocation bitmap CRC error
>> # To suppress the following error report, specify this argument
>> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
>> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
>> #
>> # JRE version: (17.0) (slowdebug build )
>> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
>> #
>> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
>> #
>> # An error report file with more information is saved as:
>> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
>> #
>> #
>> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>>
>> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.
>
> Yi Yang has updated the pull request incrementally with one additional commit since the last revision:
>
>   newline

test/hotspot/jtreg/runtime/cds/appcds/VerifyWithDefaultArchive.java line 26:

> 24:
> 25: /*
> 26:  * @test 8264337

Sorry, one other minor nit. This should be:
@test
@bug 8264337

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v3]

Aleksey Shipilev-5
In reply to this post by Yi Yang
On Tue, 30 Mar 2021 07:13:02 GMT, Yi Yang <[hidden email]> wrote:

>> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>>
>> [0.113s][error][cds] relocation bitmap CRC error
>> [0.114s][error][cds] relocation bitmap CRC error
>> # To suppress the following error report, specify this argument
>> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
>> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
>> #
>> # JRE version: (17.0) (slowdebug build )
>> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
>> #
>> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
>> #
>> # An error report file with more information is saved as:
>> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
>> #
>> #
>> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>>
>> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.
>
> Yi Yang has updated the pull request incrementally with one additional commit since the last revision:
>
>   annotated @bug for bug-id

Okay, we should be good to go. Thanks!

-------------

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v3]

Yi Yang
On Tue, 30 Mar 2021 07:13:21 GMT, Aleksey Shipilev <[hidden email]> wrote:

>> Yi Yang has updated the pull request incrementally with one additional commit since the last revision:
>>
>>   annotated @bug for bug-id
>
> Okay, we should be good to go. Thanks!

Thank you @shipilev, let me

it again!

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v3]

Aleksey Shipilev-5
On Tue, 30 Mar 2021 07:15:15 GMT, Yi Yang <[hidden email]> wrote:

>> Okay, we should be good to go. Thanks!
>
> Thank you @shipilev, let me
>
> it again!

I also ran `runtime/cds` tests without problem.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Integrated: 8264337: VM crashed when -XX:+VerifySharedSpaces

Yi Yang
In reply to this post by Yi Yang
On Mon, 29 Mar 2021 15:27:55 GMT, Yi Yang <[hidden email]> wrote:

> `java -XX:+VerifySharedSpaces -version` reports an internal error that would crash VM:
>
> [0.113s][error][cds] relocation bitmap CRC error
> [0.114s][error][cds] relocation bitmap CRC error
> # To suppress the following error report, specify this argument
> # after -XX: or in .hotspotrc: SuppressErrorAt=/javaClasses.inline.hpp:215
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (/home/qingfeng.yy/openjdk16_so_warning/jdk/src/hotspot/share/classfile/javaClasses.inline.hpp:215), pid=75241, tid=75242
> # assert(java_lang_Class::is_instance(java_class)) failed: must be a Class object
> #
> # JRE version: (17.0) (slowdebug build )
> # Java VM: OpenJDK 64-Bit Server VM (slowdebug 17-internal+0-adhoc.qingfengyy.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
> # Problematic frame:
> # V [libjvm.so+0x697d19] java_lang_Class::as_Klass(oopDesc*)+0x29
> #
> # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
> #
> # An error report file with more information is saved as:
> # /home/qingfeng.yy/openjdk16_so_warning/jdk/build/linux-x86_64-server-slowdebug/images/jdk/bin/hs_err_pid75241.log
> #
> #
> The gut of this problem is that the calculation of crc32 for the CDS archive is inconsistent between dumptime and runtime, this will cause subsequent steps to deviate from the desired path one after another, eventually leading to an internal error that crashes the VM.
>
> All tests under hotspot/jtreg/runtime/cds are passed(excepts those problem-listed) with slowdebug mode.

This pull request has now been integrated.

Changeset: bcdf4694
Author:    Yi Yang <[hidden email]>
Committer: Aleksey Shipilev <[hidden email]>
URL:       https://git.openjdk.java.net/jdk/commit/bcdf4694
Stats:     45 lines in 2 files changed: 44 ins; 0 del; 1 mod

8264337: VM crashed when -XX:+VerifySharedSpaces

Reviewed-by: minqi, ccheung, shade

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264337: VM crashed when -XX:+VerifySharedSpaces [v3]

David Holmes-2
In reply to this post by Aleksey Shipilev-5
On Tue, 30 Mar 2021 07:18:59 GMT, Aleksey Shipilev <[hidden email]> wrote:

>> Thank you @shipilev, let me
>
> I also ran `runtime/cds` tests without problem.

The test fails on a non-OpenJDK build as it explicitly checks for "OpenJDK". Filed JDK-8264429.

-------------

PR: https://git.openjdk.java.net/jdk/pull/3244