The root cause is an infinite loop BindingsImpl::route, that will probably start when the
binding is deleted in the middle of the routing.
I added some debug code into BindingsImpl::route :
long start = System.currentTimeMillis();
|
| long lastPrint = System.currentTimeMillis();
|
| int nexceptions = 0;
| while (true)
| {
| Binding binding;
| try
| {
| if (System.currentTimeMillis() - lastPrint > 1000)
| {
| lastPrint = System.currentTimeMillis();
| System.out.println("------------------------------->
On BindingsImpl::route loop for " + (System.currentTimeMillis() - start) + "
milliseconds now, pos = " +
| "" + pos + " bindings.size = " +
bindings.size());
| }
| binding = bindings.get(pos);
| }
| catch (IndexOutOfBoundsException e)
| {
| // This can occur if binding is removed while in route
| if (!bindings.isEmpty())
| {
| pos = 0;
|
| continue;
| }
| else
| {
| break;
| }
| }
|
And the loop stays running forever, even after the test is finished, probably affecting
next tests.
I attached a debugger, and the only Binding available, has a filter which won't match
(probably that special filter for empty Addresses?)
The test stays on a loop, getting back to the IndexOutOfBoundsException.. goes back to 0,
find the binding... and then it tries to match the filter again, going back to the
Exception... and again, and again, and again...
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4217576#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...