SMW-Editor / smw-editor

SMW Editor – a bundle of tools for SMW romhacking. Work in progress.
https://smw-editor.github.io/
MIT License
59 stars 4 forks source link

STATUS_HEAP_CORRUPTION with the dissasembler #37

Open auggiethecat opened 3 months ago

auggiethecat commented 3 months ago

I am so sorry that I can't figure this out myself. No matter which smw rom I use (even if it is a verified clean ROMs) anytime I run the program, I just get the flowing errors. I am really sorry to bother with this, probably simple issue. I just feel stuck after trying everything I can think of. 2024-04-08T23:22:40.809797700-04:00 INFO smw_editor - Opening ROM from path defined in ROM_PATH 2024-04-08T23:22:40.814219-04:00 INFO smwe_rom - Reading ROM from file: C:\Users*****\source\repos\smw-editor\smwe-rom\roms\Super_Mario_World\Super_Mario_World.smc 2024-04-08T23:22:40.816262100-04:00 INFO smwe_rom - Parsing internal ROM header 2024-04-08T23:22:40.819434100-04:00 INFO smwe_rom::internal_header - Internal ROM header found at LoROM location: PC 0x7FC0 2024-04-08T23:22:40.819924700-04:00 INFO smwe_rom - Creating disassembly map 2024-04-08T23:22:40.822067300-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.822385900-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.822544600-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.822961500-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.823579300-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.826311100-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.828407500-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.829899900-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.831377800-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.831535800-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.837583300-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F812E 2024-04-08T23:22:40.872398100-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-08T23:22:40.885176900-04:00 ERROR smwe_rom::disassembler::processor - Stack underflow at 0x1589A [-> SNES $2D89A] (DisplayInstruction(Instruction { offset: AddrPc(0x1589A) [-> SNES $2D89A], opcode: Opcode { mnemonic: PLP, mode: Implied }, m_flag: true, x_flag: true, operands: [0, 0, 0, 0] })) 2024-04-08T23:22:40.904281400-04:00 INFO smwe_rom - Parsing level data 2024-04-08T23:22:41.176442500-04:00 INFO smwe_rom - Parsing secondary entrances 2024-04-08T23:22:41.177779900-04:00 INFO smwe_rom - Parsing GFX files 2024-04-08T23:22:41.206679700-04:00 INFO smwe_rom - Parsing Map16 tilesets 2024-04-08T23:22:41.210592400-04:00 INFO smwe_rom - Success parsing ROM error: process didn't exit successfully: target\release\smw-editor.exe (exit code: 0xc0000374, STATUS_HEAP_CORRUPTION)

Also this is a very cool project. I don't have very much experience with anything like this, but if there are any simple boring tasks, I would love to help out with a project like this! Thanks!

Adanos020 commented 3 months ago

Hey, have you tried pulling the level branch?

auggiethecat commented 3 months ago

Well I did, but it just threw a similar error:

warning: smwe-rom (lib) generated 1 warning Finished dev [unoptimized + debuginfo] target(s) in 0.50s Running target\debug\smw-editor.exe --level 2024-04-09T08:09:30.489620700-04:00 INFO smw_editor - Opening ROM from path defined in ROM_PATH 2024-04-09T08:09:30.491385900-04:00 INFO smwe_rom - Reading ROM from file: C:\Users*****\source\repos\smw-editor-level\crates\smwe-rom\roms\Super Mario World (U) [!].smc 2024-04-09T08:09:30.494115900-04:00 INFO smwe_rom - Parsing internal ROM header 2024-04-09T08:09:30.498079300-04:00 INFO smwe_rom::internal_header - Internal ROM header found at LoROM location: PC 0x7FC0 2024-04-09T08:09:30.499371500-04:00 INFO smwe_rom - Creating disassembly map 2024-04-09T08:09:30.503800300-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.504370900-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.507382-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.509058400-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.511515400-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.511944200-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.515722400-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.520387700-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.531543500-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.531965900-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.571286800-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F812E 2024-04-09T08:09:30.716324900-04:00 WARN smwe_rom::disassembler - Wrong address of next target: SNES $7F8000 2024-04-09T08:09:30.785401500-04:00 ERROR smwe_rom::disassembler::processor - Stack underflow at 0x1589A [-> SNES $2D89A] (DisplayInstruction(Instruction { offset: AddrPc(0x1589A) [-> SNES $2D89A], opcode: Opcode { mnemonic: PLP, mode: Implied }, m_flag: true, x_flag: true, operands: [0, 0, 0, 0] })) 2024-04-09T08:09:30.856439100-04:00 INFO smwe_rom - Parsing level data 2024-04-09T08:09:34.701287700-04:00 INFO smwe_rom - Parsing secondary entrances 2024-04-09T08:09:34.725883400-04:00 INFO smwe_rom - Parsing GFX files 2024-04-09T08:09:34.907976600-04:00 INFO smwe_rom - Parsing Map16 tilesets 2024-04-09T08:09:34.984296-04:00 INFO smwe_rom - Success parsing ROM error: process didn't exit successfully: target\debug\smw-editor.exe --level (exit code: 0xc0000374, STATUS_HEAP_CORRUPTION)

Even after my 4th SMW rom. Thanks!

Adanos020 commented 3 months ago

I've upgraded all dependencies on branch level and managed to run the application with no problems. Try it now, making sure you use an up-to-date compiler, and if it keeps crashing with the same error, then I've no idea what's going on. Doesn't seem like anything caused by our code.