Skip to content

Game crashes in TransportContain::isSpecificRiderFreeToExit when transport occupants exit #3087

Description

@Caball009

The game can crash here because specificObject->getContainedBy() is a nullptr under certain conditions. This was introduced by #2239.

Crash reproduction:

  1. RETAIL_COMPATIBLE_CRC must be disabled.
  2. Start a network match; no other players are required.
  3. Make sure to control the runahead value as that makes the following steps easier (10 or more works great).
  4. Build a transport unit, e.g. a Troop Crawler which is convenient because it already has units inside. GLA Technical or USA Chinook work as well.
  5. Click repeatedly on an occupant to exit.
    It's crucial that the runahead / delay is significant enough that you can click multiple times on an occupant before the first exit order takes effect.
  6. Game crashes.

FWIW, Generals Online already disabled this part of #2239 with this change: GeneralsOnlineDevelopmentTeam@df03a12, by putting it behind a USE_STUBBJAX_TRANSPORT_CONTAIN_FIX macro. Unfortunately, we were not made aware of this crash issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething is not working right, typically is user facingCrashThis is a crash, very badMajorSeverity: Minor < Major < Critical < BlockerThisProjectThe issue was introduced by this project, or this task is specific to this project

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions