[Patch] Internal Error 200208181 fix
Original Reporter info from Mantis: CuriousKit @CuriousKit
-
Reporter name: J. Gareth Moreton
Original Reporter info from Mantis: CuriousKit @CuriousKit
- Reporter name: J. Gareth Moreton
Description:
There's a critical bug in the "tai_cpu_abstract.ppuload" constructor. When loading in the operand count, it doesn't actually set ops, the variable that keeps track of this, which remains at zero. As a result, the loader skips loading in the instruction's operands and moves onto the next instruction, where instead of data for the next tai object in the PPU file, there's operand data instead, and because of this, Internal Error 200208181 is raised because of a signature mismatch.
Steps to reproduce:
Apply patch and confirm successful compilation of the compiler.
Additional information:
Normally this bug is impossible to trigger because it seems that nodes of type asmn are not usually saved to the PPU file. I have, however, triggered it on my own work with the compiler, and even if the code is rarely triggered, it is still a bug with a known way of triggering it (have a construct where a node of type "asmn" is saved to a PPU file, then try to load the PPU file on a subsequent compilation of your project).
Mantis conversion info:
- Mantis ID: 35065
- OS: Microsoft Windows
- OS Build: 10 Professional
- Build: Cross-platform
- Platform: x86_64-win64
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 41310 (#d4e059bd)
- Target version: 3.3.1