HarbourMasters / Shipwright

3.03k stars 473 forks source link

ganon crash #682

Closed briaguya-ai closed 1 year ago

briaguya-ai commented 2 years ago

reported by Binley on discord, tried reproducing, Binley tried reproducing, couldn't get it to happen again. (this was on rando)

file3.sav.txt cvars.cfg.txt

https://user-images.githubusercontent.com/70942617/178216960-a74be857-6b71-438f-92c6-d765dd9da05d.mp4

RThreex commented 2 years ago

this also happened to me. right before the cutscene where ganon knocks the master sword and you have that actionable state where you're supposed to walk over to him, i paused and equipped giants knife, then walked over and started the cutscene and a crash exactly like this one happened

it was specifically an unbroken giants knife that hadn't been equipped until that point

LuigiXHero commented 2 years ago

This happened to me in the first ganon cutscene where navi apologizes, I can't reproduce it, the only things of note that happened the time it crashed was I had to two cycle the ganondorf fight and he used his rare attack where he gathers a bunch of energy and throws a bunch of balls. I also played the whole seed in one sitting with bunny hood on pretty much the whole time also at 60fps. Gonna include all the SOH stuff I can soh stuff.zip .

JeckJims commented 1 year ago

Same thing happened to me- Rando with cosmetic changes, Bunny Hood- Dpad items, 60fps, text speeds upped. image

angahith commented 1 year ago

I just had the crash happen and noticed something peculiar. Ganon's title card always appears, but when the crash happened, Ganondorf's title card also appeared, unlike every other boss's. On my second attempt after the crash, Ganondorf's title card didn't appear and the game didn't crash. Considering this specific crash seems to only happen on rando and only rando removes title cards, maybe there's a connection here, considering this is right before the scene with Ganon's title card starts.

briaguya-ai commented 1 year ago

binley's cvars show

gRandomizeSkipTowerEscape = 1

RThreeX's spoiler

"Timesaver Settings:Skip Tower Escape": "Skip",

i'm thinking skip tower escape may be a good lead here

LuigiXHero commented 1 year ago

Yeah I always play with skip tower also.

briaguya-ai commented 1 year ago

skip tower escape PRs this one didn't seem to make it into rachael, but the issue is still in zhora/rando-next https://github.com/HarbourMasters/Shipwright/pull/846

these are from rando v1 https://github.com/briaguya-ai/Shipwright/pull/236 https://github.com/briaguya-ai/Shipwright/pull/262

aMannus commented 1 year ago

Still can't reproduce on latest rando-next even with skip tower escape enabled. Generated and started a new seed, debug warped to outside Ganon's Castle, gave myself bow + light arrows and went through Ganon's Castle like normal (no trials).

It might still be something to do with tower escape skip, but I get the feeling there's still something happening way before Ganon that triggers this somehow, especially considering nobody crashes a second time when they go back to Ganon.

aMannus commented 1 year ago

In light of other bugs that came up that were platform specific, it would be nice to know what platform the people in this issue are on to be able to rule that out (or not).

@RThreex, @LuigiXHero, @angahith, @JeckJims, could you say what plaforms you're on?

angahith commented 1 year ago

I was on Windows, the last time it crashed. I'm not entirely sure if it happened on Linux before, but if it does in the future, I'll make note of it. One thing I know for sure is that, every time it happened, I've been playing for a while. Maybe it's important what was done right before heading to the fight, or rather where it was done. I think I'll start recording my runs from now on. Maybe the title card was a dead end, but I feel Skip Tower Escape is the key here. I'm almost certain SOME buffer is flushed either at the beginning or the end of it. The question is still WHAT exactly.

LuigiXHero commented 1 year ago

Windows 10 for me

resinate commented 1 year ago

windows 10 PC, crash only happens if u use big goron sword before ganon knocks MS sword out.

briaguya-ai commented 1 year ago

got a helpful log!

[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:345] [critical] EXCEPTION 0xc0000005 occurred
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:173] [critical] Register dump
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:177] [critical] RAX: 0x000000000000BB14
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:180] [critical] RCX: 0x00000260FAE1FD22
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:183] [critical] RDX: 0x0000026093138D6E
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:186] [critical] RBX: 0x000000000000000A
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:189] [critical] RSP: 0x00000086E7BAEC10
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:192] [critical] RBP: 0x00000260FAE1B8B0
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:195] [critical] RSI: 0x0000000067CE6FB0
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:198] [critical] RDI: 0x000000000000001B
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:201] [critical] R9:  0x00000260908D51D0
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:204] [critical] R10: 0x00000260908D5206
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:207] [critical] R11: 0x0000000000000019
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:210] [critical] R12: 0x00000000FFFFC000
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:213] [critical] R13: 0x00000000FFFFB000
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:216] [critical] R14: 0x0000000000000001
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:219] [critical] R15: 0x00007FF639C7F7F8
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:222] [critical] RIP: 0x00007FF63930B2A9
[2022-09-16 16:19:13.786] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:225] [critical] EFLAGS: 0x00010292
[2022-09-16 16:19:13.896] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] SkelAnime_GetFrameData in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\z_skelanime.c: line: 481: 
[2022-09-16 16:19:13.897] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] SkelAnime_Once in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\z_skelanime.c: line: 1665: 
[2022-09-16 16:19:13.897] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] func_808FD5F4 in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.c: line: 595: 
[2022-09-16 16:19:13.897] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] BossGanon2_Update in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\overlays\actors\ovl_Boss_Ganon2\z_boss_ganon2.c: line: 2003: 
[2022-09-16 16:19:13.897] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Actor_UpdateAll in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\z_actor.c: line: 2523: 
[2022-09-16 16:19:13.897] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Gameplay_Update in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\z_play.c: line: 969: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Gameplay_Main in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\z_play.c: line: 1486: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] GameState_Update in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\game.c: line: 253: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Graph_Update in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\graph.c: line: 282: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] RunFrame in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\graph.c: line: 492: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] gfx_dxgi_wnd_proc in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\Lib\Fast3D\gfx_dxgi.cpp: line: 254: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at CallWindowProcW, addr 0x0x00007FF9663AE460
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\USER32.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at DispatchMessageW, addr 0x0x00007FF9663AE040
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\USER32.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at SendMessageTimeoutW, addr 0x0x00007FF9663C0A80
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\USER32.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at KiUserCallbackDispatcher, addr 0x0x00007FF967190E10
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\SYSTEM32\ntdll.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at NtUserDispatchMessage, addr 0x0x00007FF9651216F0
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\win32u.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at DispatchMessageW, addr 0x0x00007FF9663AE040
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\USER32.dll
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] gfx_dxgi_main_loop in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\Lib\Fast3D\gfx_dxgi.cpp: line: 381: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Graph_ThreadEntry in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\graph.c: line: 519: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] Main in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\main.c: line: 129: 
[2022-09-16 16:19:13.898] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] main in c:\jenkins\workspace\SoH_Multibranch_develop-rachael\soh\src\code\main.c: line: 55: 
[2022-09-16 16:19:13.899] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:320] [critical] __scrt_common_main_seh in D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl: line: 288: 
[2022-09-16 16:19:13.899] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at BaseThreadInitThunk, addr 0x0x00007FF965457020
[2022-09-16 16:19:13.899] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\System32\KERNEL32.DLL
[2022-09-16 16:19:13.899] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:325] [critical] at RtlUserThreadStart, addr 0x0x00007FF967142680
[2022-09-16 16:19:13.899] [c:\jenkins\workspace\SoH_Multibranch_develop-rachael\libultraship\libultraship\CrashHandler.cpp:333] [critical] In C:\Windows\SYSTEM32\ntdll.dll
briaguya-ai commented 1 year ago

https://github.com/HarbourMasters/Shipwright/blob/674bc4cc3e9bc2f4a09af5bc234c3928ce440042/soh/src/code/z_skelanime.c#L481-L482

https://github.com/HarbourMasters/Shipwright/blob/674bc4cc3e9bc2f4a09af5bc234c3928ce440042/soh/src/code/z_skelanime.c#L1665

https://github.com/HarbourMasters/Shipwright/blob/674bc4cc3e9bc2f4a09af5bc234c3928ce440042/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c#L595-L608

https://github.com/HarbourMasters/Shipwright/blob/674bc4cc3e9bc2f4a09af5bc234c3928ce440042/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c#L2003

garrettjoecox commented 1 year ago

Not that it helps much, but upstream

https://github.com/zeldaret/oot/blob/f5f6f2ef6c32f3d3477f09a006d42d9632aeb71e/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c#L578-L589

notably object_ganon_anime3_Anim_010380 => gGanonUncurlAndFlailAnim

garrettjoecox commented 1 year ago

Do we have this users main log file? I'm doubtful this goes to our log files but it does look like in SkelAnime_GetFrameData it checks if anything is NULL, logs the address, but then continues to let the code run

https://github.com/HarbourMasters/Shipwright/blob/674bc4cc3e9bc2f4a09af5bc234c3928ce440042/soh/src/code/z_skelanime.c#L474-L481

briaguya-ai commented 1 year ago

Do we have this users main log file?

Ship_of_Harkinian(7).log

leggettc18 commented 1 year ago

It's definitely possible that it lets the code run because it's OK for the code to continue to run with one of those being null, but it is odd that it would only log in that case.

leggettc18 commented 1 year ago

Also looking at that macro it looks like you might see console output in debug mode, but outside of that it's all just ((void)0)s

aMannus commented 1 year ago

Safe to say this was indeed resolved by https://github.com/HarbourMasters/Shipwright/pull/1764 after not getting any reports of this after it was merged in.