Skip to content

[BUG] G4AEE9 Fails when rebuilding relocations and splitting #108

@jon-bassi

Description

@jon-bassi

Repository URL

https://github.com/jon-bassi/hm-mm

Game Name

Harvest Moon: Magical Melody

Game Version

USA v0

Description

When performing initial analysis by running ninja, SPLIT fails while rebuilding relocations and splitting

> ninja.exe
[1/2] SPLIT config\G4AEE9\config.yml
FAILED: [code=3221226505] build/G4AEE9/config.json
build\tools\dtk.exe dol split config\G4AEE9\config.yml build\G4AEE9
 INFO Loading config\G4AEE9\config.yml
 INFO Loading and analyzing 1 module (using 1 thread)
 INFO Initial analysis completed in 0.294s (found 4452 functions)
 INFO Rebuilding relocations and splitting

thread '<unnamed>' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cwextab-1.1.2\src\lib.rs:1075:35:
range end index 56 out of range for slice of length 48
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
ninja: error: rebuilding 'build.ninja': subcommand failed

can re-create by calling dtk directly:

> build\tools\dtk.exe -L debug dol split config\G4AEE9\config.yml build\G4AEE9
 INFO Loading config\G4AEE9\config.yml
 INFO Loading and analyzing 1 module (using 1 thread)
DEBUG module{name=main}: Loading orig\G4AEE9\sys\main.dol
DEBUG module{name=main}: Found _rom_copy_info @ 0x80005544
DEBUG module{name=main}: Found _rom_copy_info end @ 0x800055C8
DEBUG module{name=main}: Found _bss_init_info @ 0x800055C8
DEBUG module{name=main}: Found _bss_init_info end @ 0x800055E0
DEBUG module{name=main}: Found _eti_init_info @ 0x8001849C
DEBUG module{name=main}: Found _eti_init_info end @ 0x800184BC
DEBUG module{name=main}: Performing signature analysis
... 
 INFO Initial analysis completed in 0.423s (found 4452 functions)
 INFO Rebuilding relocations and splitting
DEBUG module{name=main id=0}: Performing relocation analysis
DEBUG module{name=main id=0}:tracker: Processing section 1, address 0x800055E0    
DEBUG module{name=main id=0}:tracker: Processing section 2, address 0x80010AE0    
DEBUG module{name=main id=0}:tracker: Processing section 4, address 0x801CE9E0
DEBUG module{name=main id=0}:tracker: Processing section 5, address 0x801CEA40
DEBUG module{name=main id=0}:tracker: Processing section 6, address 0x801CEA60
DEBUG module{name=main id=0}:tracker: Processing section 7, address 0x801EF2C0
DEBUG module{name=main id=0}:tracker: Processing section 9, address 0x80321080    
DEBUG module{name=main id=0}:tracker: Processing section 11, address 0x80322780    

thread '<unnamed>' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cwextab-1.1.2\src\lib.rs:1075:35:
range end index 56 out of range for slice of length 48

dtk-template is using v1.6.1 of dtk.exe

When running local debug build of decomp-toolkit (on v1.6.1 and v1.6.2) initial analysis fails:

> dtk.exe -L debug dol split config\G4AEE9\config.yml build\G4AEE9
 INFO Loading config\G4AEE9\config.yml
 INFO Loading and analyzing 1 module (using 1 thread)
DEBUG module{name=main}: Loading orig\G4AEE9\sys\main.dol
DEBUG module{name=main}: Found _rom_copy_info @ 0x80005544    
DEBUG module{name=main}: Found _rom_copy_info end @ 0x800055C8    
DEBUG module{name=main}: Found _bss_init_info @ 0x800055C8
DEBUG module{name=main}: Found _bss_init_info end @ 0x800055E0
DEBUG module{name=main}: Found _eti_init_info @ 0x8001849C
DEBUG module{name=main}: Found _eti_init_info end @ 0x800184BC

thread '<unnamed>' panicked at src\util\dol.rs:715:55:
attempt to subtract with overflow

release build has same behavior as dtk-template v1.6.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions