We're updating the issue view to help you get more done. 

FlashCrossDomainHandler causes infinite loop under some circumstances

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.

Environment

None

Acceptance Test - Entry

None

Activity

Show:
Daryl Herzmann
March 3, 2013, 12:02 PM

bumped ignite forum message to check on validity

Florian Schmaus
March 3, 2013, 11:15 PM

The code hasn't changed since the reporting of the issue and the read method could still loop endlessly.

Assignee

Florian Schmaus

Reporter

wroot

Labels

None

Expected Effort

None

Components

Fix versions

Affects versions

Priority

Major
Configure