netty: OpenJDK 8-only JVM crash

I am getting a JVM crash only on OpenJDK 8. Standard JDK 8 works fine, and I wonder if is this a dependency issue.

Expected behavior

No JVM crash

Actual behavior

JVM crash / SIGSEGV

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00000001105f5bd8, pid=9249, tid=0x000000000000a503
#
# JRE version: OpenJDK Runtime Environment (8.0_312) (build 1.8.0_312-bre_2022_01_01_23_04-b00)
# Java VM: OpenJDK 64-Bit Server VM (25.312-b00 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.dylib+0x545bd8]  Unsafe_SetByte+0x61

---------------  T H R E A D  ---------------
Current thread (0x00007fb601c1e000):  JavaThread "reactor-http-nio-2" daemon [_thread_in_vm, id=42243, stack(0x0000700008fad000,0x00007000090ad000)]

Stack: [0x0000700008fad000,0x00007000090ad000],  sp=0x00007000090aa730,  free space=1013k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.dylib+0x545bd8]  Unsafe_SetByte+0x61
j  sun.misc.Unsafe.putByte(Ljava/lang/Object;JB)V+0
j  io.netty.util.internal.PlatformDependent0.putByte(Ljava/lang/Object;JB)V+6
j  io.netty.util.internal.PlatformDependent.putByte(Ljava/lang/Object;JB)V+3
j  io.netty.buffer.ByteBufUtil.unsafeWriteUtf8([BJILjava/lang/CharSequence;II)I+73
j  io.netty.buffer.ByteBufUtil.writeUtf8(Lio/netty/buffer/AbstractByteBuf;IILjava/lang/CharSequence;II)I+79
j  io.netty.buffer.ByteBufUtil.writeUtf8(Lio/netty/buffer/AbstractByteBuf;IILjava/lang/CharSequence;I)I+7
j  io.netty.buffer.AbstractByteBuf.setCharSequence0(ILjava/lang/CharSequence;Ljava/nio/charset/Charset;Z)I+55
j  io.netty.buffer.AbstractByteBuf.writeCharSequence(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I+8
j  io.netty.handler.codec.http.HttpRequestEncoder.encodeInitialLine(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpRequest;)V+144
j  io.netty.handler.codec.http.HttpRequestEncoder.encodeInitialLine(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V+6
j  io.netty.handler.codec.http.HttpObjectEncoder.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V+88
j  io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V+52
j  io.netty.handler.codec.MessageToMessageEncoder.write(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+25
j  io.netty.channel.CombinedChannelDuplexHandler.write(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+45
j  io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+10
j  io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+10
j  io.netty.channel.AbstractChannelHandlerContext.write(Ljava/lang/Object;ZLio/netty/channel/ChannelPromise;)V+90
j  io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;+4
j  io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+6
j  io.netty.channel.DefaultChannelPipeline.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+5
j  io.netty.channel.AbstractChannel.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+5
j  reactor.netty.http.HttpOperations.lambda$send$0(Lio/netty/buffer/ByteBuf;)Lreactor/core/publisher/Mono;+106
j  reactor.netty.http.HttpOperations$$Lambda$252.apply(Ljava/lang/Object;)Ljava/lang/Object;+8
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(Ljava/lang/Object;)V+31
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(Ljava/lang/Object;)V+112
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(Ljava/lang/Object;)V+5
j  reactor.core.publisher.Operators$ScalarSubscription.request(J)V+29
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(J)V+5
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(J)V+5
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(Lorg/reactivestreams/Subscription;)V+15
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+24
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+36
j  reactor.core.publisher.MonoJust.subscribe(Lreactor/core/CoreSubscriber;)V+9
j  reactor.core.publisher.Mono.subscribe(Lorg/reactivestreams/Subscriber;)V+71
j  reactor.core.publisher.FluxConcatIterable$ConcatIterableSubscriber.onComplete()V+157
j  reactor.core.publisher.FluxConcatIterable.subscribe(Lreactor/core/CoreSubscriber;)V+62
j  reactor.core.publisher.MonoFromFluxOperator.subscribe(Lreactor/core/CoreSubscriber;)V+33
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(Ljava/lang/Object;)V+160
j  reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(Ljava/lang/Object;)V+17
j  reactor.core.publisher.Operators$MonoInnerProducerBase.complete()V+61
j  reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete()V+96
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete()V+17
j  reactor.core.publisher.Operators$ScalarSubscription.request(J)V+43
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(J)V+5
j  reactor.core.publisher.MonoSingle$SingleSubscriber.doOnRequest(J)V+7
j  reactor.core.publisher.Operators$MonoInnerProducerBase.request(J)V+44
j  reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Lorg/reactivestreams/Subscription;)V+92
j  reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+2
j  reactor.core.publisher.MonoSingle$SingleSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+21
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+24
j  reactor.core.publisher.MonoJust.subscribe(Lreactor/core/CoreSubscriber;)V+9
j  reactor.core.publisher.InternalMonoOperator.subscribe(Lreactor/core/CoreSubscriber;)V+33
j  reactor.core.publisher.MonoDefer.subscribe(Lreactor/core/CoreSubscriber;)V+39
j  reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+98
j  reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+29
j  reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+23
j  reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+217
j  reactor.netty.channel.ChannelOperationsHandler.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+70
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.AbstractChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+6
j  io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+4
j  io.netty.channel.ChannelInboundHandlerAdapter.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+1
j  io.netty.channel.CombinedChannelDuplexHandler.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+43
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.AbstractChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+6
j  io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+1
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.DefaultChannelPipeline.fireChannelActive()Lio/netty/channel/ChannelPipeline;+4
j  io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(Lio/netty/channel/ChannelPromise;Z)V+36
j  io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect()V+51
j  io.netty.channel.nio.NioEventLoop.processSelectedKey(Ljava/nio/channels/SelectionKey;Lio/netty/channel/nio/AbstractNioChannel;)V+78
j  io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized()V+51
j  io.netty.channel.nio.NioEventLoop.processSelectedKeys()V+8
j  io.netty.channel.nio.NioEventLoop.run()V+263
j  io.netty.util.concurrent.SingleThreadEventExecutor$4.run()V+44
j  io.netty.util.internal.ThreadExecutorMap$2.run()V+11
j  io.netty.util.concurrent.FastThreadLocalRunnable.run()V+4
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub
V  [libjvm.dylib+0x2c3702]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x688
V  [libjvm.dylib+0x2c25af]  JavaCalls::call_virtual(JavaValue*, KlassHandle, Symbol*, Symbol*, JavaCallArguments*, Thread*)+0x119
V  [libjvm.dylib+0x2c279b]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x57
V  [libjvm.dylib+0x331dd2]  thread_entry(JavaThread*, Thread*)+0x78
V  [libjvm.dylib+0x52e033]  JavaThread::thread_main_inner()+0x89
V  [libjvm.dylib+0x52def1]  JavaThread::run()+0x171
V  [libjvm.dylib+0x465c76]  java_start(Thread*)+0xf1
C  [libsystem_pthread.dylib+0x6514]  _pthread_start+0x7d
C  [libsystem_pthread.dylib+0x202f]  thread_start+0xf
C  0x0000000000000000

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.misc.Unsafe.putByte(Ljava/lang/Object;JB)V+0
j  io.netty.util.internal.PlatformDependent0.putByte(Ljava/lang/Object;JB)V+6
j  io.netty.util.internal.PlatformDependent.putByte(Ljava/lang/Object;JB)V+3
j  io.netty.buffer.ByteBufUtil.unsafeWriteUtf8([BJILjava/lang/CharSequence;II)I+73
j  io.netty.buffer.ByteBufUtil.writeUtf8(Lio/netty/buffer/AbstractByteBuf;IILjava/lang/CharSequence;II)I+79
j  io.netty.buffer.ByteBufUtil.writeUtf8(Lio/netty/buffer/AbstractByteBuf;IILjava/lang/CharSequence;I)I+7
j  io.netty.buffer.AbstractByteBuf.setCharSequence0(ILjava/lang/CharSequence;Ljava/nio/charset/Charset;Z)I+55
j  io.netty.buffer.AbstractByteBuf.writeCharSequence(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)I+8
j  io.netty.handler.codec.http.HttpRequestEncoder.encodeInitialLine(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpRequest;)V+144
j  io.netty.handler.codec.http.HttpRequestEncoder.encodeInitialLine(Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpMessage;)V+6
j  io.netty.handler.codec.http.HttpObjectEncoder.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V+88
j  io.netty.handler.codec.http.HttpClientCodec$Encoder.encode(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V+52
j  io.netty.handler.codec.MessageToMessageEncoder.write(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+25
j  io.netty.channel.CombinedChannelDuplexHandler.write(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+45
j  io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+10
j  io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V+10
j  io.netty.channel.AbstractChannelHandlerContext.write(Ljava/lang/Object;ZLio/netty/channel/ChannelPromise;)V+90
j  io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;+4
j  io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+6
j  io.netty.channel.DefaultChannelPipeline.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+5
j  io.netty.channel.AbstractChannel.writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;+5
j  reactor.netty.http.HttpOperations.lambda$send$0(Lio/netty/buffer/ByteBuf;)Lreactor/core/publisher/Mono;+106
j  reactor.netty.http.HttpOperations$$Lambda$252.apply(Ljava/lang/Object;)Ljava/lang/Object;+8
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(Ljava/lang/Object;)V+31
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(Ljava/lang/Object;)V+112
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(Ljava/lang/Object;)V+5
j  reactor.core.publisher.Operators$ScalarSubscription.request(J)V+29
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(J)V+5
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(J)V+5
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(Lorg/reactivestreams/Subscription;)V+15
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+24
j  reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+36
j  reactor.core.publisher.MonoJust.subscribe(Lreactor/core/CoreSubscriber;)V+9
j  reactor.core.publisher.Mono.subscribe(Lorg/reactivestreams/Subscriber;)V+71
j  reactor.core.publisher.FluxConcatIterable$ConcatIterableSubscriber.onComplete()V+157
j  reactor.core.publisher.FluxConcatIterable.subscribe(Lreactor/core/CoreSubscriber;)V+62
j  reactor.core.publisher.MonoFromFluxOperator.subscribe(Lreactor/core/CoreSubscriber;)V+33
j  reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(Ljava/lang/Object;)V+160
j  reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(Ljava/lang/Object;)V+17
j  reactor.core.publisher.Operators$MonoInnerProducerBase.complete()V+61
j  reactor.core.publisher.MonoSingle$SingleSubscriber.onComplete()V+96
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onComplete()V+17
j  reactor.core.publisher.Operators$ScalarSubscription.request(J)V+43
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(J)V+5
j  reactor.core.publisher.MonoSingle$SingleSubscriber.doOnRequest(J)V+7
j  reactor.core.publisher.Operators$MonoInnerProducerBase.request(J)V+44
j  reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Lorg/reactivestreams/Subscription;)V+92
j  reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+2
j  reactor.core.publisher.MonoSingle$SingleSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+21
j  reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(Lorg/reactivestreams/Subscription;)V+24
j  reactor.core.publisher.MonoJust.subscribe(Lreactor/core/CoreSubscriber;)V+9
j  reactor.core.publisher.InternalMonoOperator.subscribe(Lreactor/core/CoreSubscriber;)V+33
j  reactor.core.publisher.MonoDefer.subscribe(Lreactor/core/CoreSubscriber;)V+39
j  reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+98
j  reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+29
j  reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+23
j  reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onStateChange(Lreactor/netty/Connection;Lreactor/netty/ConnectionObserver$State;)V+217
j  reactor.netty.channel.ChannelOperationsHandler.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+70
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.AbstractChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+6
j  io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+4
j  io.netty.channel.ChannelInboundHandlerAdapter.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+1
j  io.netty.channel.CombinedChannelDuplexHandler.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+43
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.AbstractChannelHandlerContext.fireChannelActive()Lio/netty/channel/ChannelHandlerContext;+6
j  io.netty.channel.DefaultChannelPipeline$HeadContext.channelActive(Lio/netty/channel/ChannelHandlerContext;)V+1
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive()V+15
j  io.netty.channel.AbstractChannelHandlerContext.invokeChannelActive(Lio/netty/channel/AbstractChannelHandlerContext;)V+15
j  io.netty.channel.DefaultChannelPipeline.fireChannelActive()Lio/netty/channel/ChannelPipeline;+4
j  io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(Lio/netty/channel/ChannelPromise;Z)V+36
j  io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect()V+51
j  io.netty.channel.nio.NioEventLoop.processSelectedKey(Ljava/nio/channels/SelectionKey;Lio/netty/channel/nio/AbstractNioChannel;)V+78
j  io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized()V+51
j  io.netty.channel.nio.NioEventLoop.processSelectedKeys()V+8
j  io.netty.channel.nio.NioEventLoop.run()V+263
j  io.netty.util.concurrent.SingleThreadEventExecutor$4.run()V+44
j  io.netty.util.internal.ThreadExecutorMap$2.run()V+11
j  io.netty.util.concurrent.FastThreadLocalRunnable.run()V+4
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

Register to memory mapping:

RAX=0x000000011078bf90: _ZN20SafepointSynchronize6_stateE+0 in /usr/local/Cellar/openjdk@8/1.8.0+312/libexec/openjdk.jdk/Contents/Home/jre/lib/server/libjvm.dylib at 0x00000001100b0000
RBX=0x00007fb601c1e000 is a thread
RCX=0x00007fb60a006005 is an unknown value
RDX=0x0000000000000000 is an unknown value
RSP=0x00007000090aa730 is pointing into the stack for thread: 0x00007fb601c1e000
RBP=0x00007000090aa760 is pointing into the stack for thread: 0x00007fb601c1e000
RSI=0x0000000000000006 is an unknown value
RDI=0x00007000090aa730 is pointing into the stack for thread: 0x00007fb601c1e000
R8 =0x000000000000002f is an unknown value
R9 =0x00000000ffffffe0 is an unknown value
R10=0x0000000111b193db is at code_begin+859 in an Interpreter codelet
method entry point (kind = native)  [0x0000000111b19080, 0x0000000111b19a00]  2432 bytes
R11=0x0000000110575f85: throw_unsatisfied_link_error+0 in /usr/local/Cellar/openjdk@8/1.8.0+312/libexec/openjdk.jdk/Contents/Home/jre/lib/server/libjvm.dylib at 0x00000001100b0000
R12=0x0000000000000000 is an unknown value
R13={method} {0x000000012937ee68} 'putByte' '(Ljava/lang/Object;JB)V' in 'sun/misc/Unsafe'
R14=0x000000000000002f is an unknown value
R15=0x00007fb60a006005 is an unknown value

Steps to reproduce

JVM crashes with OpenJDK 8 312 (latest) . Oracle JDK 8 202 works fine.

I am using Spring boot Starter Webflux 2.6.3 (reactor-netty 1.10.5) and netty-resolver-dns-native-macos version 4.1.72.Final.

The only transitive dependencies I could not update were netty-handler and netty-codec-http (version 4.1.52.Final). They are used by netty-reactive-streams-http 2.0.5, which is the version that Amazon’s netty-nio-client 2.17.134 uses (for Amazon s3 2.17.134, their latest version) I haven’t tried yet updating them manually.

Screen Shot 2022-02-23 at 13 35 29 I attached a screenshot of my maven dependency hierarchy

Netty version

4.1.72.Final

JVM version (e.g. java -version)

OpenJDK 8 1.8.0_312

OpenJDK 64-Bit Server VM (25.312-b00) for bsd-amd64 JRE (1.8.0_312-bre_2022_01_01_23_04-b00)

OS version (e.g. uname -a)

Mac OS 12.0.1

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 7
  • Comments: 25 (6 by maintainers)

Most upvoted comments

After switching to adoptopenjdk8, it’s working. So probably the issue is on the open jdk 8’s implementation.

<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
 <version>4.1.36.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>

I reduced the Netty version and solved the problem. The previous Netty version was “4.1.82”