Difference between revisions of "Thread:Talk:RoboRumble/ThreadDeath problem/reply (22)"

From Robowiki
Jump to navigation Jump to search
m (Reply to ThreadDeath problem)
 
m
 
Line 1: Line 1:
Well, <code>println()</code> is definitely broken ''somehow''. There is no way that <code>checkSkippedTurn()</code> could have called <code>forceStopThread()</code> (as is shown in the stacktrace), without going through <code>println()</code>, yet the print message never made its way to the console.
+
Well, <code>println()</code> is definitely broken ''somehow''. There is no way that <code>checkSkippedTurn()</code> could have called <code>forceStopThread()</code> (as is shown in the stacktrace), without going through <code>println()</code> first, yet the print message never made its way to the console (as is shown in Beaming's log).
  
<code>battleText</code> is also cleared in [https://github.com/robo-code/robocode/blob/0eb93ba532bc6731b7ff8dd02da1308d92ccb2fd/robocode.battle/src/main/java/net/sf/robocode/battle/peer/RobotPeer.java#L654 <code>initializeRound()</code>] and [https://github.com/robo-code/robocode/blob/0eb93ba532bc6731b7ff8dd02da1308d92ccb2fd/robocode.battle/src/main/java/net/sf/robocode/battle/peer/RobotPeer.java#L1685 <code>cleanup()</code>, both of which have no synchronization guards at all.
+
<code>battleText</code> is also cleared in [https://github.com/robo-code/robocode/blob/0eb93ba532bc6731b7ff8dd02da1308d92ccb2fd/robocode.battle/src/main/java/net/sf/robocode/battle/peer/RobotPeer.java#L654 <code>initializeRound()</code>] and [https://github.com/robo-code/robocode/blob/0eb93ba532bc6731b7ff8dd02da1308d92ccb2fd/robocode.battle/src/main/java/net/sf/robocode/battle/peer/RobotPeer.java#L1685 <code>cleanup()</code>], both of which have no synchronization guards at all.
 +
 
 +
I think skipped turns are working as they should, they're just not being reported.

Latest revision as of 22:01, 5 September 2017

Well, println() is definitely broken somehow. There is no way that checkSkippedTurn() could have called forceStopThread() (as is shown in the stacktrace), without going through println() first, yet the print message never made its way to the console (as is shown in Beaming's log).

battleText is also cleared in initializeRound() and cleanup(), both of which have no synchronization guards at all.

I think skipped turns are working as they should, they're just not being reported.