pandorabox-io / pandorabox.io

Pandorabox infrastructure code
https://pandorabox.io
31 stars 4 forks source link

failed assertion on login crashes #471

Closed OgelGames closed 3 years ago

OgelGames commented 4 years ago
2020-03-28 22:20:28: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '*builtin*' in callback on_joinplayer(): /usr/local/share/minetest/builtin/game/auth.lua:116: assertion failed!
2020-03-28 22:20:28: ERROR[Main]: stack traceback:
2020-03-28 22:20:28: ERROR[Main]:   [C]: in function 'assert'
2020-03-28 22:20:28: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:116: in function 'record_login'
2020-03-28 22:20:28: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:192: in function </usr/local/share/minetest/builtin/game/auth.lua:191>
2020-03-28 22:20:28: ERROR[Main]:   /usr/local/share/minetest/builtin/game/register.lua:429: in function </usr/local/share/minetest/builtin/game/register.lua:413>
2020-03-29 05:01:00: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '*builtin*' in callback on_joinplayer(): /usr/local/share/minetest/builtin/game/auth.lua:116: assertion failed!
2020-03-29 05:01:00: ERROR[Main]: stack traceback:
2020-03-29 05:01:00: ERROR[Main]:   [C]: in function 'assert'
2020-03-29 05:01:00: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:116: in function 'record_login'
2020-03-29 05:01:00: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:192: in function </usr/local/share/minetest/builtin/game/auth.lua:191>
2020-03-29 05:01:00: ERROR[Main]:   /usr/local/share/minetest/builtin/game/register.lua:429: in function </usr/local/share/minetest/builtin/game/register.lua:413>
2020-04-03 15:12:04: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '*builtin*' in callback on_joinplayer(): /usr/local/share/minetest/builtin/game/auth.lua:116: assertion failed!
2020-04-03 15:12:04: ERROR[Main]: stack traceback:
2020-04-03 15:12:04: ERROR[Main]:   [C]: in function 'assert'
2020-04-03 15:12:04: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:116: in function 'record_login'
2020-04-03 15:12:04: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:192: in function </usr/local/share/minetest/builtin/game/auth.lua:191>
2020-04-03 15:12:04: ERROR[Main]:   /usr/local/share/minetest/builtin/game/register.lua:429: in function </usr/local/share/minetest/builtin/game/register.lua:413>

https://github.com/minetest/minetest/blob/master/builtin/game/auth.lua#L116

BuckarooBanzay commented 4 years ago

oh, thats nasty :confused: any clues what the playername might be? I'm not sure would end up in the logs at that stage...

OgelGames commented 4 years ago

any clues what the playername might be?

Well this is what was on the main channel on discord at the time of the most recent one:

Player joosh joined the game
joosh left the game (timed out)
xercyst left the game
Minetest shutting down!
SwissalpS left the game
Peanut left the game
joosh left the game
Minetest started!

There is a missing join message for joosh, so that would be my best guess.

SwissalpS commented 4 years ago

also that name seems familiar, has happened more than once when it was joining... could be coincidence.

OgelGames commented 4 years ago

Just happened again:

2020-05-09 14:39:15: ERROR[Main]: ServerError: AsyncErr: ServerThread::run Lua: Runtime error from mod '*builtin*' in callback on_joinplayer(): /usr/local/share/minetest/builtin/game/auth.lua:116: assertion failed!
2020-05-09 14:39:15: ERROR[Main]: stack traceback:
2020-05-09 14:39:15: ERROR[Main]:   [C]: in function 'assert'
2020-05-09 14:39:15: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:116: in function 'record_login'
2020-05-09 14:39:15: ERROR[Main]:   /usr/local/share/minetest/builtin/game/auth.lua:192: in function </usr/local/share/minetest/builtin/game/auth.lua:191>
2020-05-09 14:39:15: ERROR[Main]:   /usr/local/share/minetest/builtin/game/register.lua:429: in function </usr/local/share/minetest/builtin/game/register.lua:413>
BuckarooBanzay commented 4 years ago

Somehow i have the feeling this has something to do with the "player_cleanup" feature: https://github.com/pandorabox-io/pandorabox_custom/blob/master/player_cleanup.lua

There could be a race-condition if a new player quits and rejoins shortly after: the cleanup could be executed in the middle of the new-player setup (there are some async/threaded components in there afaik)

BuckarooBanzay commented 3 years ago

closing, didn't happen again, the player_cleanup was likely the cause