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

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

                Created:
                Updated:
                Resolved: