You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vertx-core 4.3.1 - 4.3.4 (netty-buffers 4.1.77.Final - 4.1.82.Final) and GraalVM EE 8/11
This is not reproduced on vertx 4.3.0 (netty-buffers 4.1.76.Final) or GraalVM CE 11 / Oracle JDK 8/11
Context
Byte buffer is always expected to return the data written there. Arrays.equals(bytes, io.vertx.core.buffer.Buffer.buffer(bytes).getBytes() is supposed to always be true in the absence of modifications of the source array.
However, after certain number of iterations (tens of thousands) the above condition doesn't hold. Steps to reproduce are a bit more complicated, but it boils down to the above comparison.
I believe it has something to do with this commit: netty/netty@f9e765e, at least that change was introduced in netty 4.1.77.Final, and this is the first version of netty when test case started failing.
I would create an issue with netty, however the same test case doesn't fail using pure netty ByteBuf's, without VertxUnsafeHeapByteBuf
Run on GraalVM EE: java -jar target/vertx-byte-buffer-test-1.0.jar
Extra
JVM version
java -version
java version "11.0.16.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment GraalVM EE 22.2.0.1 (build 11.0.16.1+1-LTS-jvmci-22.2-b08)
Java HotSpot(TM) 64-Bit Server VM GraalVM EE 22.2.0.1 (build 11.0.16.1+1-LTS-jvmci-22.2-b08, mixed mode, sharing)
OS - MacOS Monterey
uname -a
Darwin akabelyt-mac.local 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:17:10 PDT 2022; root:xnu-8020.140.49~2/RELEASE_X86_64 x86_64 i386 Darwin
Anything that can be relevant such as OS version, JVM version
The text was updated successfully, but these errors were encountered:
Version
vertx-core 4.3.1 - 4.3.4 (netty-buffers 4.1.77.Final - 4.1.82.Final) and GraalVM EE 8/11
This is not reproduced on vertx 4.3.0 (netty-buffers 4.1.76.Final) or GraalVM CE 11 / Oracle JDK 8/11
Context
Byte buffer is always expected to return the data written there.
Arrays.equals(bytes, io.vertx.core.buffer.Buffer.buffer(bytes).getBytes()
is supposed to always be true in the absence of modifications of the source array.However, after certain number of iterations (tens of thousands) the above condition doesn't hold. Steps to reproduce are a bit more complicated, but it boils down to the above comparison.
I believe it has something to do with this commit: netty/netty@f9e765e, at least that change was introduced in netty 4.1.77.Final, and this is the first version of netty when test case started failing.
I would create an issue with netty, however the same test case doesn't fail using pure netty ByteBuf's, without VertxUnsafeHeapByteBuf
Do you have a reproducer?
https://github.com/AlexeyKabelitskiy/vertx-byte-buffer-test
Steps to reproduce
mvn install
java -jar target/vertx-byte-buffer-test-1.0.jar
Extra
The text was updated successfully, but these errors were encountered: