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

Details

    • Bug
    • Resolution: Obsolete
    • 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

    Description

      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

      Attachments

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

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: