SIGSEGV after running virtual-thread jetty for a few minutes

Michael Bien mbien42 at gmail.com
Wed Aug 12 04:29:38 UTC 2020


Hello Loomers,

after some fun experiments with loom i decided to swap jetty's thread 
pool against the default virtual thread executor* to test some (old) 
apps on it.

Most of it ran great, got some JVM crashes with the apache roller 
blogserver though:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc7deedb454, pid=58060, tid=58180
#
# JRE version: OpenJDK Runtime Environment (16.0) (build 
16-internal+0-adhoc.mbien.loom)
# Java VM: OpenJDK 64-Bit Server VM (16-internal+0-adhoc.mbien.loom, 
mixed mode, sharing, tiered, compressed oops, parallel gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x719454]  frame::sender(RegisterMap*) const+0xb4

(that would be today's version of loom from git, i got the same result 
with the official Build 16-loom+4-56)

unfortunately this isn't super easy to reproduce. I ran a short load 
test for a minute, then i waited 1-5 minutes and ran it again - thats 
when it usually crashed. It might have something to do with old carrier 
threads despawning which blocked on native calls. When it ramps up again 
it crashes - but that is only a wild guess i got while looking at the 
visualvm thread graph for too long.

if its a known issue... please ignore. Otherwise let me know how i can 
help. JVM error log attached.

*https://github.com/mbien/vt4jetty/blob/master/src/main/java/dev/mbien/virtualthreads4jetty/VirtualThreadExecutor.java

best regards,

michael bien





More information about the loom-dev mailing list