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

A fatal error that caused the game program to stop #8

Open
Tinhone opened this issue Jan 28, 2024 · 1 comment
Open

A fatal error that caused the game program to stop #8

Tinhone opened this issue Jan 28, 2024 · 1 comment

Comments

@Tinhone
Copy link

Tinhone commented Jan 28, 2024

Body

When this error happened, it will cause the game program to stop immediately. My guess is that WASM encountered a fatal error. The CSS style interaction is normal.
此错误发生后,会导致游戏程序立刻无法运行。个人猜测是 WASM 遇到致命错误导致的。CSS 样式交互还有反应。

Repro

This is a error that comes up to me when I'm playing normally, so I can't repro it.
这是我在正常游玩时突然遇到的问题,所以我无法复现它。

Possible Solutions

When the player leaves the game using methods other than the exit button on the client side, the player's game progress is not immediately deleted on the server side, and in the client of other players, the player's country still exists.
当玩家在客户端使用退出按钮以外的方式离开游戏后,不立刻在服务器端删除玩家的游戏进度,在其他玩家的客户端里表现为该玩家的国家依然存在。

When the player reconnects, ask if they want to inherit the game progress, and according to the player's choice, carry out the operation of inheriting the game progress or deleting the game progress.
当玩家重连后,询问是否继承游戏进度,依照玩家选择,进行继承游戏进度操作,或进行删除游戏进度操作。

If the player does not connect to the server again for a long time (such as 300 seconds), it will be considered as leaving the game and the player's game progress will be deleted on the server side.
如果玩家很长时间(比如 300 秒)没有再次连接服务器,则视为离开游戏,然后在服务器端删除玩家的游戏进度。

Other

Log:
控制台日志:
* Some information has been hidden, marked with *[edited]*.
* 隐去了部分信息,使用 *[edited]* 标记。

解析 width 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1.8rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1.5rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 2rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 width 属性是遇到预期外的的值 1rem。 client.js:1329:24
解析 height 属性是遇到预期外的的值 1rem。 client.js:1329:24
WS made no progress in the last 4s 54 client.js:1028:17
WS made no progress in the last 5s 46 client.js:1028:17
WS made no progress in the last 1s 31 client.js:1028:17
WS made no progress in the last 2s 20 client.js:1028:17
WS made no progress in the last 1s 74 client.js:1028:17
WS made no progress in the last 2s 61 client.js:1028:17
WS made no progress in the last 3s 59 client.js:1028:17
WS made no progress in the last 4s 23 client.js:1028:17
WS made no progress in the last 1s 29 client.js:1028:17
WS made no progress in the last 2s 61 client.js:1028:17
WS made no progress in the last 3s 59 client.js:1028:17
WS made no progress in the last 4s 61 client.js:1028:17
WS made no progress in the last 5s 59 client.js:1028:17
WS made no progress in the last 6s 61 client.js:1028:17
WS made no progress in the last 7s 59 client.js:1028:17
WS made no progress in the last 8s 61 client.js:1028:17
WS made no progress in the last 9s 59 client.js:1028:17
WS made no progress in the last 10s 61 client.js:1028:17
WS made no progress in the last 11s 59 client.js:1028:17
WS made no progress in the last 12s 2 client.js:1028:17
panicked at 'missing player PlayerId(*[edited]*), is_bot: false', /home/finnb/git/finnbear/tower_offense/common/src/world.rs:210:17

Stack:

getImports/imports.wbg.__wbg_new_abda76e883ba8a5f@https://kiomet.com/client.js:773:21
@https://kiomet.com/client_bg.wasm:wasm-function[629]:0xa7263
@https://kiomet.com/client_bg.wasm:wasm-function[1282]:0xd8b72
@https://kiomet.com/client_bg.wasm:wasm-function[1134]:0xd147e
@https://kiomet.com/client_bg.wasm:wasm-function[2290]:0xf40b6
@https://kiomet.com/client_bg.wasm:wasm-function[2530]:0xf7ad1
@https://kiomet.com/client_bg.wasm:wasm-function[1410]:0xde39f
@https://kiomet.com/client_bg.wasm:wasm-function[2893]:0xfc472
@https://kiomet.com/client_bg.wasm:wasm-function[1624]:0xe56ed
@https://kiomet.com/client_bg.wasm:wasm-function[308]:0x1571a
@https://kiomet.com/client_bg.wasm:wasm-function[313]:0x27832
@https://kiomet.com/client_bg.wasm:wasm-function[889]:0xc2327
@https://kiomet.com/client_bg.wasm:wasm-function[1376]:0xdcdc8
@https://kiomet.com/client_bg.wasm:wasm-function[621]:0xa609f
@https://kiomet.com/client_bg.wasm:wasm-function[831]:0xbd5e6
@https://kiomet.com/client_bg.wasm:wasm-function[3309]:0x100011
__wbg_adapter_37@https://kiomet.com/client.js:234:10
real@https://kiomet.com/client.js:203:20


client.js:785:21
    __wbg_error_f851667af71bcfc6 https://kiomet.com/client.js:785
    <anonymous> https://kiomet.com/client_bg.wasm:684790
    <anonymous> https://kiomet.com/client_bg.wasm:887666
    <anonymous> https://kiomet.com/client_bg.wasm:857214
    <anonymous> https://kiomet.com/client_bg.wasm:999606
    <anonymous> https://kiomet.com/client_bg.wasm:1014481
    <anonymous> https://kiomet.com/client_bg.wasm:910239
    <anonymous> https://kiomet.com/client_bg.wasm:1033330
    <anonymous> https://kiomet.com/client_bg.wasm:939757
    <anonymous> https://kiomet.com/client_bg.wasm:87834
    <anonymous> https://kiomet.com/client_bg.wasm:161842
    <anonymous> https://kiomet.com/client_bg.wasm:795431
    <anonymous> https://kiomet.com/client_bg.wasm:904648
    <anonymous> https://kiomet.com/client_bg.wasm:680095
    <anonymous> https://kiomet.com/client_bg.wasm:775654
    <anonymous> https://kiomet.com/client_bg.wasm:1048593
    __wbg_adapter_37 https://kiomet.com/client.js:234
    real https://kiomet.com/client.js:203
Uncaught (in promise) RuntimeError: unreachable executed
    __wbg_adapter_37 https://kiomet.com/client.js:234
    real https://kiomet.com/client.js:203
client_bg.wasm:887701:1
@finnbear
Copy link
Member

finnbear commented Jan 28, 2024

Thank you!

WS made no progress in the last Xs

This error indicates a silent loss of network connection.

missing player PlayerId(*[edited]*)

This is an (unrelated) bug

When the player leaves the game using methods other than the exit button on the client side, the player's game progress is not immediately deleted on the server side, and in the client of other players, the player's country still exists.

We do this but there is a bug that we haven't fixed yet (wrote the fix but haven't deployed it to any games). A workaround is to refresh your page once when the game is still working, which should save progress and reduce the chance of losing progress on the next automatic reconnects in the same playthrough.

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

2 participants