There appears to be a race condition that causes the WallTimer to go negative.
One of the impacts of this is that it renders the Timeout mechanism inoperable.
I reproduced this on Windows7 and Windows8 physical machines, a Win2008 VMware
machine, and Win2008R2 and Win2012 servers on AWS.
If you run the attached test program, you will eventually see output from the
SearchLog that shows a negative time. It consistently happens in far fewer
iterations on my AWS server than my Win7 laptop.
C:\Apps\TestDrawEngine.x64>TestTimerIssue.exe 2>&1 |find "-"
[2014-11-03 03:40:47] Iteration [000001]
[2014-11-03 03:41:48] Iteration [000002]
[2014-11-03 03:42:48] Iteration [000003]
[2014-11-03 03:43:48] Iteration [000004]
[03:43:51] src/constraint_solver/search.cc:243: 200000 branches, -292369 ms,
99993 failures, tree pos=14/32/47 minref=9 max=47
[03:43:52] src/constraint_solver/search.cc:243: 300000 branches, -290997 ms,
149992 failures, tree pos=16/39/48 minref=9 max=48
[03:43:53] src/constraint_solver/search.cc:243: 400000 branches, -289562 ms,
199992 failures, tree pos=17/45/49 minref=9 max=49
[03:43:55] src/constraint_solver/search.cc:243: 500000 branches, -288188 ms,
249992 failures, tree pos=11/39/50 minref=9 max=50
[03:43:56] src/constraint_solver/search.cc:243: 600000 branches, -286813 ms,
299993 failures, tree pos=14/44/47 minref=9 max=50
[03:43:57] src/constraint_solver/search.cc:243: 700000 branches, -285442 ms,
349992 failures, tree pos=15/41/48 minref=9 max=50
[03:43:59] src/constraint_solver/search.cc:243: 800000 branches, -284065 ms,
399992 failures, tree pos=17/44/49 minref=9 max=50
Original issue reported on code.google.com by e...@edmacdonald.com on 3 Nov 2014 at 2:11
Original issue reported on code.google.com by
e...@edmacdonald.com
on 3 Nov 2014 at 2:11Attachments: