Open
Description
I am playing with the Rails Simple Benchmark to get some performance information across Ruby impls. Running TruffleRuby 20.2 today I had the server crash with a segv.
The app was set up using the "common" gemfile from https://github.com/noahgibbs/rsb. Using TruffleRuby from GraalVM 20.2, in --jvm
mode, one process with 16 threads, hitting just the "static" text rendering endpoint using the "wrk" benchmark tool with 1 thread and 10 connections.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000115a1f08f, pid=89642, tid=32527
#
# JRE version: OpenJDK Runtime Environment GraalVM CE 20.2.0 (11.0.8+10) (build 11.0.8+10-jvmci-20.2-b03)
# Java VM: OpenJDK 64-Bit Server VM GraalVM CE 20.2.0 (11.0.8+10-jvmci-20.2-b03, mixed mode, sharing, tiered, jvmci, jvmci compiler, compressed oops, g1 gc, bsd-amd64)
# Problematic frame:
# J 18217 jvmci org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.profiledPERoot([Ljava/lang/Object;)Ljava/lang/Object; jdk.internal.vm.compiler (48 bytes) @ 0x0000000115a1f08f [0x0000000115a1f020+0x000000000000006f] (ActiveSupport::Logger#add#2)
The hs_err file is attached.
hs_err_pid89642.log
The crash came shortly after leaving the server idle for 15-20 minutes and then resuming the benchmark. Performance dropped to a tenth of what it was, continued to degrade and produce read, write, and timeout errors, and then finally the server crashed.