Uploaded image for project: 'Openfire'
  1. OF-476

FlashCrossDomainHandler causes infinite loop under some circumstances

    Details

    • Type: Bug
    • Status: Resolved (View workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects versions: 3.7.0
    • Fix versions: 3.8.2
    • Components: Core
    • Labels:
      None

      Description

      We found that after running for several hours, the openfire server always has a 100% CPU usage.

      By using the jvirtualVM to monitor the CPU usage sample graph, we found this
      is caused by the read() method (see the code below) of the FlashCrossDomainHandler
      class. it can run into a infinite loop under some circumstances.

      http://fisheye.igniterealtime.org/browse/~br=trunk/openfire/trunk/src/java/org/jivesoftware/openfire/FlashCrossDomainHandler.java?r=11608#to156

      Then we commented the read() method, the validation of the incoming stream and
      returned the cross domain policy text straightway in while loop of the startServer()
      method , as the result the CPU usage became normal.

        Attachments

          Activity

            People

            • Assignee:
              Florian Schmaus
              Reporter:
              wroot
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: