Unity-Technologies / Unity-Technologies/com.unity.netcode.gameobjects

Potential bug. NGO causes Nintendo Switch to freeze.

Offen
#3,053 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority:high stat:imported type:bug
Vorherrschende Sprache
C#
Sterne
2.3k
Forks
461
Ø Merge
3 T. 16 Std.
Gemergte PRs (30 T.)
20

Beschreibung

Description

If you put the console to sleep for a long period of time the console will hang for a period of time.

Reproduce Steps
  1. Start the game or test project
  2. Start a host but do not let any client in
  3. Put the console sleep
  4. Wait a few hours (The longer it sleeps the longer will be the freeze)
  5. Turn the console back on and return to the game.
Actual Outcome

The game is frozen for a certain amount of time. After a while the game is playable again.

Expected Outcome

The game doesn't freeze and Gameplay continue, (Except when playing online)

Environment
  • Unity Version: 2022.3.30f
  • Netcode Version: 1.9
Additional Context

Looking at a nxdump, it seems like the game is freezing in some loop somewhere involving NetworkTime, I did not have the chance to look deeper but I wanted to bring more eyes on the issue. This was the "suspicious" part I found in the dump.

IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void NetworkTime__ctor_mD40214D6A925F3027C77DA7051C210F487C0CC55 (NetworkTime_t2E4697E4558B217C431021D2CC30A9306E778B5F* __this, uint32_t ___0_tickRate, int32_t ___1_tick, double ___2_tickOffset, const RuntimeMethod* method)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Sleep-and-Resume-Szenario mit einem Host und ohne Clients und untersuche anschließend den nxdump rund um NetworkTime__ctor_mD40214D6A925F3027C77DA7051C210F487C0CC55. Verfolge die vermutete NetworkTime-Schleife und überprüfe, dass das Spiel nach einem längeren Sleep auf Nintendo Switch ohne längeres Einfrieren fortgesetzt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, unity
Bereich
game-dev, networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.