Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EXI SLIPPI: Invalid command byte: 0x80 for all replays #315

Closed
djanatyn opened this issue Sep 6, 2021 · 4 comments
Closed

EXI SLIPPI: Invalid command byte: 0x80 for all replays #315

djanatyn opened this issue Sep 6, 2021 · 4 comments

Comments

@djanatyn
Copy link

djanatyn commented Sep 6, 2021

Issue tracker is ONLY used for reporting bugs. Please use our discord for support and/or feature requests.

Expected Behavior

When loading a replay file into slippi-playback, my replay file should play.

Current Behavior

When using slippi-playback to watch replay files, I get errors processing the replay in logs:

slippi-playback -e ~/melee/netplay.iso \
  -i /dev/stdin \
  -u ~/slippi-playback-config \
  -o turnip <<< '{"replay":"/home/djanatyn/good-slippis/simna-turnip.slp"}'
24:30:197 Core/Slippi/SlippiSavestate.cpp:115 W[SLIPPI_ONLINE]: Heap start is: 0x80BD7520
24:30:197 Core/Slippi/SlippiSavestate.cpp:116 W[SLIPPI_ONLINE]: Heap end is: 0x81829800
24:30:197 Core/HW/EXI_DeviceSlippi.cpp:2991 E[SLIPPI]: EXI SLIPPI: Invalid command byte: 0x80

Then Dolphin hangs on a black screen after briefly displaying the "Waiting for game..." message.

I was reading through the code to understand why this happens, it looks like it is unexpected:

	while (bufLoc < _uSize)
	{
		byte = memPtr[bufLoc];
		// INFO_LOG(SLIPPI, "EXI SLIPPI: Loc: %d, Size: %d, Cmd: 0x%x", bufLoc, _uSize, byte);
		if (!payloadSizes.count(byte))
		{
			// This should never happen. Do something else if it does?
			ERROR_LOG(SLIPPI, "EXI SLIPPI: Invalid command byte: 0x%x", byte);
			return;
		}

I think my replay files are valid, but have not confirmed with others. I get this with replays I was previously able to watch.
test-replay.zip

Steps to Reproduce

I maintain my slippi builds here: https://github.com/djanatyn/ssbm-nix/
You can reproduce my binary using Nix: nix run github:djanatyn/ssbm-nix/8ec53a5a1c02c48e3b5b52a1abd530d22e194fd7 -- -e ~/melee/netplay.iso -i /dev/stdin -u ~/slippi-playback-config -o turnip <<< '{"replay":"/home/djanatyn/good-slippis/simna-turnip.slp"}'

❯ slippi-playback --version
2.3.6
❯ slippi-netplay --version
2.3.2

I've attached a failing replay to this ticket, in a zipfile test-replay.zip. I'm hoping this is something simple (maybe I forgot to update my slippi-playback derivation), thanks for your time reading!

Environment

          ::::.    ':::::     ::::'           djanatyn@voidheart 
          ':::::    ':::::.  ::::'            ------------------ 
            :::::     '::::.:::::             OS: NixOS 21.11 (Porcupine) x86_64 
      .......:::::..... ::::::::              Host: B450M DS3H 
     ::::::::::::::::::. ::::::    ::::.      Kernel: 5.12.12 
    ::::::::::::::::::::: :::::.  .::::'      Uptime: 7 days, 41 mins 
           .....           ::::' :::::'       Packages: 2226 (nix-system), 2247 (nix-user), 3022 (nix-default) 
          :::::            '::' :::::'        Shell: zsh 5.8 
 ........:::::               ' :::::::::::.   Resolution: 1920x1080, 1920x1080 
:::::::::::::                 :::::::::::::   DE: none+xmonad 
 ::::::::::: ..              :::::            WM: xmonad 
     .::::: .:::            :::::             CPU: AMD Ryzen 5 3600 (12) @ 3.600GHz 
    .:::::  :::::          '''''    .....     GPU: AMD ATI 09:00.0 Device 731f 
    :::::   ':::::.  ......:::::::::::::'     Memory: 17344MiB / 32128MiB 
     :::     ::::::. ':::::::::::::::::'
            .:::::::: '::::::::::                                     
           .::::''::::.     '::::.                                    
          .::::'   ::::.     '::::.
         .::::      ::::      '::::.
@djanatyn
Copy link
Author

djanatyn commented Sep 6, 2021

We run our slippi builds in CI, you can check them out here if that's helpful:

Build specification here:

@NikhilNarayana
Copy link
Member

NikhilNarayana commented Sep 6, 2021

I don't have a computer with me to check the replays so I can't help too much but the 0x80 "error" has existed for quite a while and is never the reason for playback failure.

I suspect your gecko codes might be out of date or something else is wrong in your build config. Please use the support channels for help.

@JLaferri
Copy link
Member

JLaferri commented Sep 6, 2021

Yeah, can confirm that the replay runs fine on my Launcher. I also don't think the 0x80 error is relevant to this.

@djanatyn
Copy link
Author

djanatyn commented Sep 6, 2021

Thanks for the quick response, I'll make sure to start with the Discord for support requests in the future. I misunderstood and thought this might be a bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants