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

Potential bug. NGO causes Nintendo Switch to freeze.

未關閉
#3,053 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

priority:high stat:imported type:bug
主要語言
C#
星號
2.3k
分支
461
平均合併
3 天 16 小時
30 天內合併 PR
20

描述

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)

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

在只有一個 host 且沒有用戶端的情況下重現睡眠與恢復情境,然後檢查 NetworkTime__ctor_mD40214D6A925F3027C77DA7051C210F487C0CC55 附近的 nxdump。追蹤疑似的 NetworkTime 迴圈,並驗證遊戲在 Nintendo Switch 上經過長時間睡眠後能夠恢復,且不會長時間卡死。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp, unity
領域
game-dev, networking
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。