Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-4600

Memory leak caused by ByteBufferSlicePool usage

XMLWordPrintable

    • Hide
      • Configure -XX:MaxDirectMemorySize=16M for server to hit error earlier . E.g. add into JAVA_OPTS of standalone.conf
      • run server
      • Run this reproducer
        loop.sh
        #!/bin/bash
        for i in {1..10000}
        do
          echo $i
          ${jboss.home}/bin/jboss-cli.sh -c ":reload"
          if [ $? == 1 ]
          then
              break
          fi
        done
        

      Eventually you will get an OutOfMemoryError, very soon if tested without XNIO-345 fix

      Show
      Configure -XX:MaxDirectMemorySize=16M for server to hit error earlier . E.g. add into JAVA_OPTS of standalone.conf run server Run this reproducer loop.sh #!/bin/bash for i in {1..10000} do echo $i ${jboss.home}/bin/jboss-cli.sh -c ":reload" if [ $? == 1 ] then break fi done Eventually you will get an OutOfMemoryError, very soon if tested without XNIO-345 fix

      ByteBufferSlicePool is used at two points in the server:

      • BufferPoolService (io subsystem)
      • ManagementHttpServer (domain http server)

      This pool should:

      • whenever possible be static, i.e., be not recreated at every reloaded
      • when not possible, we must use the clean() method added via XNIO-317 and fixed by XNIO-346

              flaviarnn Flavia Rainone
              flaviarnn Flavia Rainone
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: