Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
Fix potential crash, related to launch script restarts
This was a relatively hard to trigger bug (for me). The easiest way I found to
trigger it is to:
- Boot to basic.
- Emulate a short amount of time (30-60s).
- Keep 'pgup' pressed till the start of emutime.
-> sometimes it crashes here
- If it didn't crash, hold 'pgdown' for some time and repeat the previous
step. Often it takes more than 10 attempts.
The problem turned out to be the usage of the 'sendStep' variable. This was
both used to keep track of which command to send next when executing a launch
script and also to know how to handle replies on the previously send command.
Because we only send one launch command at a time, this should work fine.
Though there's one exception: sometimes the launch script is restarted. This
will set 'sendStep' to a lower value again. But if the reply for the previous
command was not received yet, it will now get handled by the wrong callback.
Fixed by only using 'sendStep' for the send-side and introducing a new queue
for the reply-side
TODO a much cleaner fix would be to get rid of launch script restarts and
instead use the normal command queuing.