+ if(counter++ > 10000) {
+ if(BarrierTracing.BOOKKEEPING) {
+ AsyncBarrierImpl.printReverse(queryGraph.asyncBarrier, 2);
+ AsyncBarrierImpl caller = queryGraph.asyncBarrier.caller;
+ while(caller != null) {
+ System.err.println("called by " + AsyncBarrierImpl.report(caller));
+ caller = caller.caller;
+ }
+ for(AsyncBarrierImpl ab : BarrierTracing.debuggerMap.keySet()) {
+ AsyncBarrierImpl.printReverse(ab, 2);
+ }
+ }
+ throw new IllegalStateException("Eternal loop in queries.");
+ }
+ graph.processor.schedule(new AsyncTask(graph));