Skip to content

StateWrapper._read_from_gamestate() crashes rocket league #34

Description

@mrkvicka22

I was attempting to use this method in a state setter. It caused the error(s) provided below. I then, as a sanity check, tried to replace it with just the content and not running it from the StateWrapper directly and it had exactly the same outcome. If the method is not used at all it should be either removed or fixed.

Here is a console output:

Send message failed
RLGym has encountered an exception!
Exception traceback:
Traceback (most recent call last):
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\rlgym\communication\communication_handler.py", line 76, in send_message
    encoded = struct.pack('%sf' % len(serialized), *serialized)
struct.error: required argument is not a float

EXCEPTION ARGS: ('required argument is not a float',)
!ROCKET LEAGUE HAS CRASHED!
ATTEMPTING RECOVERY
Discovered 1 existing Rocket League processes. Waiting 2 seconds before attempting to open a new one.
Launching Rocket League, make sure bakkesmod is running.
Launched Epic version
Executing injector...
Scanning processes
Found 1 processes
Done
Send message failed
RLGym has encountered an exception!
Exception traceback:
Traceback (most recent call last):
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\rlgym\communication\communication_handler.py", line 76, in send_message
    encoded = struct.pack('%sf' % len(serialized), *serialized)
struct.error: required argument is not a float

EXCEPTION ARGS: ('required argument is not a float',)
!UNABLE TO RECOVER ROCKET LEAGUE!
EXITING
Traceback (most recent call last):
  File "C:\Users\mrkva\AppData\Local\Programs\Python\Python38\lib\multiprocessing\connection.py", line 312, in _recv_bytes
    nread, err = ov.GetOverlappedResult(True)
BrokenPipeError: [WinError 109] The pipe has been ended

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/mrkva/PycharmProjects/rlgym_sb3/training_keepaway_bot.py", line 80, in <module>
    model.learn(100_000_000_000, callback=callback)
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\ppo\ppo.py", line 299, in learn
    return super(PPO, self).learn(
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\common\on_policy_algorithm.py", line 229, in learn
    total_timesteps, callback = self._setup_learn(
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\common\base_class.py", line 426, in _setup_learn
    self._last_obs = self.env.reset()  # pytype: disable=annotation-type-mismatch
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\common\vec_env\vec_normalize.py", line 222, in reset
    obs = self.venv.reset()
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\common\vec_env\vec_monitor.py", line 70, in reset
    obs = self.venv.reset()
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\stable_baselines3\common\vec_env\vec_check_nan.py", line 43, in reset
    observations = self.venv.reset()
  File "C:\Users\mrkva\PycharmProjects\rlgym_sb3\venv\lib\site-packages\rlgym_tools\sb3_utils\sb3_multiple_instance_env.py", line 135, in reset
    obs = remote.recv()
  File "C:\Users\mrkva\AppData\Local\Programs\Python\Python38\lib\multiprocessing\connection.py", line 250, in recv
    buf = self._recv_bytes()
  File "C:\Users\mrkva\AppData\Local\Programs\Python\Python38\lib\multiprocessing\connection.py", line 321, in _recv_bytes
    raise EOFError
EOFError

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions