-
Bug
-
Resolution: Won't Do
-
Critical
-
None
-
EAP-XP-5.0.0.CR1, EAP-XP-5.0.0.CR2
-
None
org.wildfly.test.integration.microprofile.reactive.messaging.kafka.compression.ReactiveMessagingKafkaCompressionTestCase#test fails on Windows with the following underlying message:
ERROR [org.apache.kafka.common.utils.KafkaThread] (kafka-producer-network-thread | kafka-producer-to-kafka-snappy) Uncaught exception in thread 'kafka-producer-network-thread | kafka-producer-to-kafka-snappy':: java.lang.NoClassDefFoundError: sun/misc/Unsafe at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.PureJavaSnappy.rawCompress(PureJavaSnappy.java:120) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.rawCompress(Snappy.java:450) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.compress(Snappy.java:123) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:380) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.flush(SnappyOutputStream.java:334) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.close(SnappyOutputStream.java:419) at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:191) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.common.record.MemoryRecordsBuilder.closeForRecordAppends(MemoryRecordsBuilder.java:314) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.common.record.MemoryRecordsBuilder.close(MemoryRecordsBuilder.java:349) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.ProducerBatch.close(ProducerBatch.java:453) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.RecordAccumulator.drainBatchesForOneNode(RecordAccumulator.java:904) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.RecordAccumulator.drain(RecordAccumulator.java:937) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.sendProducerData(Sender.java:399) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:343) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:247) at java.base/java.lang.Thread.run(Thread.java:829) Suppressed: java.lang.NoClassDefFoundError: sun/misc/Unsafe at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.PureJavaSnappy.rawCompress(PureJavaSnappy.java:120) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.rawCompress(Snappy.java:450) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.compress(Snappy.java:123) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:380) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.flush(SnappyOutputStream.java:334) at java.base/java.io.DataOutputStream.flush(DataOutputStream.java:123) at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:182) ... 9 more Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe from [Module "org.xerial.snappy.snappy-java" from local module loader @79145d5a (finder: local module finder @1f2f9244 (roots: C:\...\jboss-dist\modules,C:\...\jboss-dist\modules\system\layers\microprofile,C:\...\jboss-dist\modules\system\layers\base,C:\...\testsuite\integration\microprofile\target\modules))] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:200) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:408) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:396) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:115) ... 16 more
Adding <dependencies><module name="jdk.unsupported"/></dependencies> to modules/system/layers/microprofile/org/xerial/snappy/snappy-java/main/module.xml helps for Java 11. For Java 17 a new error is thrown:
ERROR [org.apache.kafka.common.utils.KafkaThread] (kafka-producer-network-thread | kafka-producer-to-kafka-snappy) Uncaught exception in thread 'kafka-producer-network-thread | kafka-producer-to-kafka-snappy':: java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.pure.UnsafeUtil at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.writeUncompressedLength(SnappyRawCompressor.java:405) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.compress(SnappyRawCompressor.java:111) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.PureJavaSnappy.rawCompress(PureJavaSnappy.java:128) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.rawCompress(Snappy.java:450) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.compress(Snappy.java:123) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:380) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.flush(SnappyOutputStream.java:334) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.close(SnappyOutputStream.java:419) at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:191) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.common.record.MemoryRecordsBuilder.closeForRecordAppends(MemoryRecordsBuilder.java:314) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.common.record.MemoryRecordsBuilder.close(MemoryRecordsBuilder.java:349) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.ProducerBatch.close(ProducerBatch.java:453) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.RecordAccumulator.drainBatchesForOneNode(RecordAccumulator.java:904) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.RecordAccumulator.drain(RecordAccumulator.java:937) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.sendProducerData(Sender.java:399) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:343) at org.apache.kafka.client@3.6.0.redhat-00005//org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:247) at java.base/java.lang.Thread.run(Thread.java:842) Suppressed: org.xerial.snappy.SnappyError: [UNSUPPORTED_PLATFORM] pure-java snappy requires access to java.nio.Buffer raw address field at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.UnsafeUtil.<clinit>(UnsafeUtil.java:49) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.writeUncompressedLength(SnappyRawCompressor.java:405) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.compress(SnappyRawCompressor.java:111) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.PureJavaSnappy.rawCompress(PureJavaSnappy.java:128) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.rawCompress(Snappy.java:450) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.compress(Snappy.java:123) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:380) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.flush(SnappyOutputStream.java:334) at java.base/java.io.DataOutputStream.flush(DataOutputStream.java:128) at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:182) ... 9 more Caused by: java.lang.ExceptionInInitializerError: Exception org.xerial.snappy.SnappyError: pure-java snappy requires access to java.nio.Buffer raw address field [in thread "kafka-producer-network-thread | kafka-producer-to-kafka-snappy"] at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.UnsafeUtil.<clinit>(UnsafeUtil.java:49) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.writeUncompressedLength(SnappyRawCompressor.java:405) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.SnappyRawCompressor.compress(SnappyRawCompressor.java:111) at org.xerial.snappy.snappy-java//org.xerial.snappy.pure.PureJavaSnappy.rawCompress(PureJavaSnappy.java:128) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.rawCompress(Snappy.java:450) at org.xerial.snappy.snappy-java//org.xerial.snappy.Snappy.compress(Snappy.java:123) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.compressInput(SnappyOutputStream.java:380) at org.xerial.snappy.snappy-java//org.xerial.snappy.SnappyOutputStream.flush(SnappyOutputStream.java:334) at java.base/java.io.DataOutputStream.flush(DataOutputStream.java:128) at java.base/java.io.FilterOutputStream.close(FilterOutputStream.java:182) ... 9 more
The failure is not visible in WildFly CI, seems specific for XP 5 (test release 2024-04-10).
Marking this as Critical, the functionality is new in XP 5, introduced by JBEAP-25442.
- is caused by
-
JBEAP-26947 Upgrade Snappy Java to 1.1.10.5 (CVEs CVE-2023-34453, CVE-2023-34454, CVE-2023-34455, CVE-2023-43642)
- Closed
- split to
-
JBEAP-27340 Disable snappy compression for MP Reactive Messaging Kafka connector on non-Linux Systems
- Reopened