vsch / flexmark-java

CommonMark/Markdown Java parser with source level AST. CommonMark 0.28, emulation of: pegdown, kramdown, markdown.pl, MultiMarkdown. With HTML to MD, MD to PDF, MD to DOCX conversion modules.
BSD 2-Clause "Simplified" License
2.26k stars 269 forks source link

coredump with openjdk-17, but not with openjdk-17-zero, on Linux ARM64 (not amd64) #585

Open SmartLayer opened 1 year ago

SmartLayer commented 1 year ago

This bug is reproduced using dita-ot 4.1. Based on information from dita-ot project contributors, the author responsible for the source code that triggered the core dump bug (flexmark-java), typically cannot resolve it from their end. Nevertheless, I wanted to document it here to assist others who have similar problems, as a workaround is described at the end.

Reproduce Steps

  1. Clone out the repository I'm working on: git clone https://github.com/TokenScript/documents.git
  2. Checkout the version that has the problem: git checkout 27e5205f349e6ef9b4de8e3b787cedf270819c23
  3. Run command $ dita --project config/smartlayer-docsite.yaml (you need html5-bootstrap)

Expected Behaviour

Output from that command means success

Actual Behavior

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x0000ffff82ee26d4, pid=4392, tid=4410
#
# JRE version: OpenJDK Runtime Environment (17.0.7+7) (build 17.0.7+7-Ubuntu-0ubuntu123.04)
# Java VM: OpenJDK 64-Bit Server VM (17.0.7+7-Ubuntu-0ubuntu123.04, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# V  [libjvm.so+0xa426d4]  PhaseIdealLoop::build_loop_late_post_work(Node*, bool)+0xf4
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E" (or dumping to /home/weiwu/Projects/documents/core.4392)
#
# An error report file with more information is saved as:
# /home/weiwu/Projects/documents/[hs_err_pid4392.log](https://github.com/dita-ot/dita-ot/files/12081829/hs_err_pid4392.log)
#
# Compiler replay data is saved as:
# /home/weiwu/Projects/documents/replay_pid4392.log
#
# If you would like to submit a bug report, please visit:
#   Unknown
#
Aborted (core dumped)

Possible Solution

This works:

$ apt-get purge openjdk-17-jrk
$ apt-get install openjdk-17-jre-zero

Environment

hs_err_pid4392.log replay_pid4392.log