Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.5.5, 2.1.0
-
None
-
IBM JDK
java version "1.8.0"
Java(TM) SE Runtime Environment (build pxa6480sr3fp20-20161019_02(SR3 FP20))
IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20161013_322271 (JIT enabled, AOT enabled)
J9VM - R28_Java8_SR3_20161013_1635_B322271
JIT - tr.r14.java.green_20161011_125790
GC - R28_Java8_SR3_20161013_1635_B322271_CMPRSS
J9CL - 20161013_322271)
JCL - 20161018_01 based on Oracle jdk8u111-b14IBM JDK java version "1.8.0" Java(TM) SE Runtime Environment (build pxa6480sr3fp20-20161019_02(SR3 FP20)) IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20161013_322271 (JIT enabled, AOT enabled) J9VM - R28_Java8_SR3_20161013_1635_B322271 JIT - tr.r14.java.green_20161011_125790 GC - R28_Java8_SR3_20161013_1635_B322271_CMPRSS J9CL - 20161013_322271) JCL - 20161018_01 based on Oracle jdk8u111-b14
Description
I see a lot of OutOfDirectMemoryError [1] in Artemis test suite when it runs on IBM JDK. I don't see it with Oracle or OpenJDK.
For reproducing the issue run LargeMessageCompressTest on IBM JDK.
[1]
io.netty.util.internal.OutOfDirectMemoryError: failed to allocate 501760 byte(s) of direct memory (used: 66876815, max: 67108864)
at io.netty.util.internal.PlatformDependent.incrementMemoryCounter(PlatformDependent.java:585)
at io.netty.util.internal.PlatformDependent.allocateDirectNoCleaner(PlatformDependent.java:539)
at io.netty.buffer.UnpooledUnsafeNoCleanerDirectByteBuf.allocateDirect(UnpooledUnsafeNoCleanerDirectByteBuf.java:30)
at io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf.allocateDirect(UnpooledByteBufAllocator.java:169)
at io.netty.buffer.UnpooledUnsafeDirectByteBuf.<init>(UnpooledUnsafeDirectByteBuf.java:68)
at io.netty.buffer.UnpooledUnsafeNoCleanerDirectByteBuf.<init>(UnpooledUnsafeNoCleanerDirectByteBuf.java:25)
at io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf.<init>(UnpooledByteBufAllocator.java:164)
at io.netty.buffer.UnpooledByteBufAllocator.newDirectBuffer(UnpooledByteBufAllocator.java:73)
at io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:181)
at io.netty.buffer.Unpooled.directBuffer(Unpooled.java:145)
at org.apache.activemq.artemis.core.io.buffer.TimedBuffer.<init>(TimedBuffer.java:103)
at org.apache.activemq.artemis.core.io.AbstractSequentialFileFactory.<init>(AbstractSequentialFileFactory.java:78)
at org.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.<init>(AIOSequentialFileFactory.java:78)
at org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.init(JournalStorageManager.java:136)
at org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.<init>(AbstractJournalStorageManager.java:217)
at org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager.<init>(JournalStorageManager.java:103)
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createStorageManager(ActiveMQServerImpl.java:2014)
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart1(ActiveMQServerImpl.java:2151)
at org.apache.activemq.artemis.core.server.impl.LiveOnlyActivation.run(LiveOnlyActivation.java:63)
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:517)
at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:465)
at org.apache.activemq.artemis.tests.integration.client.LargeMessageCompressTest.testLargeMessageCompression3(LargeMessageCompressTest.java:171)