Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-13647

HPUX: memory leak in XNIO on Server if ssl is used and -d64 is not used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 7.1.0.CR3
    • Remoting
    • None
    • Release Notes
    • Workaround Exists
    • Hide

      Use "-d64" server option, for example by this command:

      echo JAVA_OPTS=\"-d64 \$JAVA_OPTS\" >> ${JBOSS_DIST}/bin/standalone.conf
      
      Show
      Use "-d64" server option, for example by this command: echo JAVA_OPTS=\"-d64 \$JAVA_OPTS\" >> ${JBOSS_DIST}/bin/standalone.conf

      Memory leak in XNIO on Server is ssl is used. This issue is valid only on HPUX platform.

      This issue was find during JBEAP-11888 verification. This issue occurs only if workaround for JBEAP-11859, JBEAP-13545 and JBEAP-13547 is used. JBEAP-11859 issue is present in EAP since EAP 7.1.0.ER1.

      Steps to reproduce

      1. configure https (one-way or two-way ssl)
      2. ignore errors related with JBEAP-11859, JBEAP-13545 and JBEAP-13547
      3. do this in loop:
        ModelControllerClientConfiguration config = new ModelControllerClientConfiguration.Builder()
                .setProtocol(server.getManagementProtocol())
                .setHostName("127.0.0.1")
                .setPort(server.getManagementPort())
                .setConnectionTimeout(timeout)
                .build();
        ModelControllerClient c = ModelControllerClient.Factory.create(config);
        DefaultOperationRequestBuilder builder = new DefaultOperationRequestBuilder();
        builder.setOperationName(org.jboss.as.cli.Util.READ_ATTRIBUTE);
        builder.addProperty(org.jboss.as.cli.Util.NAME, "server-state");
        ModelNode result = c.execute(builder.buildRequest());
        

      Exception on server:

      2017-10-30 03:54:59,468 ERROR [org.xnio.listener] (management I/O-1) XNIO001007: A channel event listener threw an exception: java.lang.OutOfMemoryError
              at sun.misc.Unsafe.allocateMemory(Native Method)
              at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:127)
              at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311)
              at org.xnio.ByteBufferPool$1.createBuffer(ByteBufferPool.java:510)
              at org.xnio.ByteBufferPool.allocateMaster(ByteBufferPool.java:499)
              at org.xnio.ByteBufferPool.access$000(ByteBufferPool.java:41)
              at org.xnio.ByteBufferPool$DefaultCache.allocate(ByteBufferPool.java:776)
              at org.xnio.ByteBufferPool.allocate(ByteBufferPool.java:160)
              at org.xnio.ByteBufferPool$2.createBuffer(ByteBufferPool.java:531)
              at org.xnio.ByteBufferPool.allocateMaster(ByteBufferPool.java:499)
              at org.xnio.ByteBufferPool.access$000(ByteBufferPool.java:41)
              at org.xnio.ByteBufferPool$DefaultCache.allocate(ByteBufferPool.java:776)
              at org.xnio.ByteBufferPool.allocate(ByteBufferPool.java:160)
              at org.xnio.ByteBufferPool.allocate(ByteBufferPool.java:184)
              at org.xnio.ByteBufferPool.allocate(ByteBufferPool.java:170)
              at org.jboss.remoting3.remote.MessageReader.getMessage(MessageReader.java:123)
              at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:73)
              at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:46)
              at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
              at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
              at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1131)
              at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
              at org.xnio.nio.WorkerThread.run(WorkerThread.java:571)
      

      GC log from RHEL (this issue doesn't occur): rhel.gc.log

      GC log from HPUX (this issue occurs): hpux.cr3.two-way-ssl.gc.log

      HeapDump: TBD

        1. server.thread.dump.d32.txt
          93 kB
        2. server.d32.jboss.remoting.leakdebugging.zip
          1003 kB
        3. rhel.png
          rhel.png
          41 kB
        4. rhel.gc.log
          1.23 MB
        5. hpux.png
          hpux.png
          55 kB
        6. hpux.gc.log.png
          hpux.gc.log.png
          166 kB
        7. hpux.cr3.two-way-ssl.gc.log
          130 kB
        8. hpux_without_d64.png
          hpux_without_d64.png
          34 kB

              Unassigned Unassigned
              mkopecky@redhat.com Marek Kopecky
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: