|New (?) Stars! Bug: 32k orders
||Wed, 13 May 2020 14:20 |
Registered: January 2012
|I've been trying to untangle the Stars! blocks, and have found a bug I don't think I've seen reported before.|
The .x file is blocks of orders. I've been trying to add/remove blocks from my .x file but always having the file corrupt. I tracked the issue down to Block 9.
Block 9 is the FileHashblock. The first two bytes are a checksum for the .x file. Each block in the file (typically one "order") is summed for this checksum, where the value of a block is the number of bytes in the block (which is also the two bytes of the header + the number of bytes that are decrypted).
Two bytes means the checksum can be a maximum of 32767 (which if you're trying you can reach quickly by splitting and merging large fleets).
When the checksum reaches 32767 (ish) you get a warning: "Log file has reached the maximum allowable size. Commands will not be recorded."
If you happen to be, perhaps, stressing the limits of this by splitting and merging fleets such that you've submitted far more orders, you will be warned again but then Stars! will crash. In my case with "STARS! caused a General Protection Fault in module STARS.EXE at 0024:0ED0. Chose close. STARS! will close. "
The .x file itself isn't corrupted, just stopped saving changes just before the last save. If you haven't saved at all, you won't have a .x file. And if somehow you've submitted some 30000 orders, you'll be sad.
Report message to a moderator