tour reports: we seem to run an outdated version of core.serialize ... #8483

Open
opened 2025-04-30 02:01:53 +02:00 by yourland-report · 6 comments

tour reports a bug:

we seem to run an outdated version of core.serialize

Player position:

{
	z = 1504.8000488281,
	x = 1931.9641113281,
	y = 50.5
}

Player look:

{
	z = 0.36521476507187,
	x = 0.057713568210602,
	y = -0.92913258075714
}

Player information:

{
	minor = 11,
	avg_rtt = 0.01799999922514,
	state = "Active",
	formspec_version = 8,
	max_rtt = 1.3869999647141,
	protocol_version = 46,
	ip_version = 6,
	min_rtt = 0.016000000759959,
	min_jitter = 0,
	max_jitter = 1.3639999628067,
	avg_jitter = 0,
	connection_uptime = 21199,
	serialization_version = 29,
	patch = 0,
	lang_code = "de",
	version_string = "5.11.0",
	major = 5
}

Player meta:

{
	fields = {
		["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}",
		partychat = "party",
		yl_commons_player_joined = "1745950123",
		xp = "764096",
		["yl_statuseffects:builders_flight:particles_disabled"] = "1",
		jointime = "1625997613",
		played_time = "7135187",
		["ocean_build.last_warning"] = "1.66143e+09",
		placed_nodes = "372883",
		["hud_manager:choppy:waypoint_enabled"] = "y",
		crafted = "97576",
		digged_nodes = "771568",
		died = "212",
		punch_count = "142262",
		["stamina:level"] = "19",
		["ocean_build.ocean_built"] = "11",
		yl_commons_player_created = "1625997613",
		hud_state = "on",
		["stamina:exhaustion"] = "54",
		repellant = "0",
		inflicted_damage = "2841860",
		yl_commons_thankyou = "210",
		["signslib:pos"] = "(6645,11,2997)",
		bitten = "0",
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_rainbow 1 16872\", \"3d_armor:boots_crystal 1 28400\", \"3d_armor:leggings_rainbow 1 25832\", \"shields:shield_rainbow 1 42304\", \"3d_armor:chestplate_rainbow 1 25832\", \"\"}",
		["hud_manager:yl_snowball:hud__enabled"] = "n",
		yl_church = "return {[\"last_heal\"] = 1674245165, [\"last_death\"] = {[\"z\"] = 958, [\"x\"] = 2137, [\"y\"] = 10}, [\"last_death_portal\"] = 1730926823}",
		arenalib_infobox_arenaID = "0",
		hotbar_size = "24"
	}
}

Log identifier


[MOD] yl_report log identifier = go7N2UNEbwFdI2GWl6yZ2f6JamKHqrsO

Profiler save:

profile-20250430T020153.json_prettyEE

Status:

# Server: version: 5.11.0-yl-lt | game: Minetest Game | uptime: 7d 3h 28min 18s | max lag: 0.468s | clients (16/52): adbshell, AliasAlreadyTaken, Bailiff, Crazylad, DragonWrangler1, JeCel, Leia_og, nakama-ta, oreo1, pink_mothra, Scarletta, selknirW, Service, StarBurst, tour, whosit

Teleport command:

/teleport xyz 1932 51 1505

Compass command:

/give_compass Construction go7N2UNEbwFdI2GWl6yZ2f6JamKHqrsO D2691E 1932 51 1505
tour reports a bug: > we seem to run an outdated version of core.serialize Player position: ``` { z = 1504.8000488281, x = 1931.9641113281, y = 50.5 } ``` Player look: ``` { z = 0.36521476507187, x = 0.057713568210602, y = -0.92913258075714 } ``` Player information: ``` { minor = 11, avg_rtt = 0.01799999922514, state = "Active", formspec_version = 8, max_rtt = 1.3869999647141, protocol_version = 46, ip_version = 6, min_rtt = 0.016000000759959, min_jitter = 0, max_jitter = 1.3639999628067, avg_jitter = 0, connection_uptime = 21199, serialization_version = 29, patch = 0, lang_code = "de", version_string = "5.11.0", major = 5 } ``` Player meta: ``` { fields = { ["unified_inventory:bags"] = "return {\"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\", \"unified_inventory:bag_large\"}", partychat = "party", yl_commons_player_joined = "1745950123", xp = "764096", ["yl_statuseffects:builders_flight:particles_disabled"] = "1", jointime = "1625997613", played_time = "7135187", ["ocean_build.last_warning"] = "1.66143e+09", placed_nodes = "372883", ["hud_manager:choppy:waypoint_enabled"] = "y", crafted = "97576", digged_nodes = "771568", died = "212", punch_count = "142262", ["stamina:level"] = "19", ["ocean_build.ocean_built"] = "11", yl_commons_player_created = "1625997613", hud_state = "on", ["stamina:exhaustion"] = "54", repellant = "0", inflicted_damage = "2841860", yl_commons_thankyou = "210", ["signslib:pos"] = "(6645,11,2997)", bitten = "0", ["3d_armor_inventory"] = "return {\"3d_armor:helmet_rainbow 1 16872\", \"3d_armor:boots_crystal 1 28400\", \"3d_armor:leggings_rainbow 1 25832\", \"shields:shield_rainbow 1 42304\", \"3d_armor:chestplate_rainbow 1 25832\", \"\"}", ["hud_manager:yl_snowball:hud__enabled"] = "n", yl_church = "return {[\"last_heal\"] = 1674245165, [\"last_death\"] = {[\"z\"] = 958, [\"x\"] = 2137, [\"y\"] = 10}, [\"last_death_portal\"] = 1730926823}", arenalib_infobox_arenaID = "0", hotbar_size = "24" } } ``` Log identifier ``` [MOD] yl_report log identifier = go7N2UNEbwFdI2GWl6yZ2f6JamKHqrsO ``` Profiler save: ``` profile-20250430T020153.json_prettyEE ``` Status: ``` # Server: version: 5.11.0-yl-lt | game: Minetest Game | uptime: 7d 3h 28min 18s | max lag: 0.468s | clients (16/52): adbshell, AliasAlreadyTaken, Bailiff, Crazylad, DragonWrangler1, JeCel, Leia_og, nakama-ta, oreo1, pink_mothra, Scarletta, selknirW, Service, StarBurst, tour, whosit ``` Teleport command: ``` /teleport xyz 1932 51 1505 ``` Compass command: ``` /give_compass Construction go7N2UNEbwFdI2GWl6yZ2f6JamKHqrsO D2691E 1932 51 1505 ```
AliasAlreadyTaken was assigned by yourland-report 2025-04-30 02:01:53 +02:00
whosit added the
1. kind/bug
label 2025-04-30 02:44:35 +02:00
Member

As tour investigated, this version has some pretty serious issues (one of them caused my luac to malfunction).
Very nice detective work, I was clueless :)

As tour investigated, this version has some pretty serious issues (one of them caused my luac to malfunction). Very nice detective work, I was clueless :)
Member

introduced in e12eb9728b, probably bc. of #44

Serializer got an update in the meantime: https://github.com/luanti-org/luanti/pull/11427

This causes multiple problems:

the easiest solution would be to remove that strange override, but serializing userdata would crash again: /eval core.serialize(me)

On the other hand it seems like mobs_redo was the only mod having troubles with that and they implemented counter measures long time ago (68b25c9d08/api.lua (L2780))

We should definitely remove the buggy override. I'm also convinced that mods fixed themselves and try no longer to serialize userdata.

introduced in https://gitea.your-land.de/your-land/yl_commons/commit/e12eb9728b1167f00230a7262626ae6d08269b96, probably bc. of #44 Serializer got an update in the meantime: https://github.com/luanti-org/luanti/pull/11427 This causes multiple problems: - https://github.com/luanti-org/luanti/issues/11899 - https://github.com/luanti-org/luanti/issues/8719 (breaking whosit's luacontroller) - luacontroller serializer abuse the easiest solution would be to remove that strange override, but serializing userdata would crash again: `/eval core.serialize(me)` On the other hand it seems like mobs_redo was the only mod having troubles with that and they implemented counter measures long time ago (https://gitea.your-land.de/your-land/mobs_redo/src/commit/68b25c9d0853b6483fbb1dd58c8ca771898fe084/api.lua#L2780) We should definitely remove the buggy override. I'm also convinced that mods fixed themselves and try no longer to serialize userdata.
tour added this to the Next milestone 2025-04-30 03:45:02 +02:00
tour added the
2. prio/elevated
label 2025-04-30 03:46:12 +02:00
Member
https://gitea.your-land.de/your-land/yl_commons/commit/2bcf3efc5d2054d5a006ad040be4df38ef9d2838
tour added the
4. step/ready to QA test
label 2025-04-30 23:13:06 +02:00
Member

We spent some time on test just visiting places and spawning random mobs - didn't notice any issues so far.

We spent some time on test just visiting places and spawning random mobs - didn't notice any issues so far.
whosit modified the milestone from Next to 1.1.128 2025-05-02 16:56:04 +02:00
Member

Got this in my test world:

AsyncErr: Lua: Runtime error from mod '' in callback luaentity_Step(): "Runtime error from mod '' in callback on_dieplayer(): .../builtin/common/serialize.lua:33: unsupported type: userdata
stack traceback:
	[C]: in function 'error'
	.../builtin/common/serialize.lua:33: in function 'count_values'
	.../builtin/common/serialize.lua:29: in function 'count_values'
	.../builtin/common/serialize.lua:36: in function 'count_objects'
	.../builtin/common/serialize.lua:69: in function 'serialize'
	.../builtin/common/serialize.lua:195: in function 'serialize'
	.../xp_redo/builtin.lua:113: in function <.../xp_redo/builtin.lua:74>
	.../builtin/common/register.lua:26: in function <.../builtin/common/register.lua:12>
	[C]: in function 'punch'
	.../mobs_redo/api.lua:2359: in function 'do_states'
	.../mobs_redo/api.lua:3165: in function <...mobs_redo/api.lua:3061>"
stack traceback:
	[C]: in function 'punch'
	.../mobs_redo/api.lua:2359: in function 'do_states'
	.../mobs_redo/api.lua:3165: in function <.../mobs_redo/api.lua:3061>

It's logging code:
285d9ed136/builtin.lua (L113)

Got this in my test world: ```cpp AsyncErr: Lua: Runtime error from mod '' in callback luaentity_Step(): "Runtime error from mod '' in callback on_dieplayer(): .../builtin/common/serialize.lua:33: unsupported type: userdata stack traceback: [C]: in function 'error' .../builtin/common/serialize.lua:33: in function 'count_values' .../builtin/common/serialize.lua:29: in function 'count_values' .../builtin/common/serialize.lua:36: in function 'count_objects' .../builtin/common/serialize.lua:69: in function 'serialize' .../builtin/common/serialize.lua:195: in function 'serialize' .../xp_redo/builtin.lua:113: in function <.../xp_redo/builtin.lua:74> .../builtin/common/register.lua:26: in function <.../builtin/common/register.lua:12> [C]: in function 'punch' .../mobs_redo/api.lua:2359: in function 'do_states' .../mobs_redo/api.lua:3165: in function <...mobs_redo/api.lua:3061>" stack traceback: [C]: in function 'punch' .../mobs_redo/api.lua:2359: in function 'do_states' .../mobs_redo/api.lua:3165: in function <.../mobs_redo/api.lua:3061> ``` It's logging code: https://gitea.your-land.de/your-land/xp_redo/src/commit/285d9ed13659d91dbb6b9733c609833734f072a6/builtin.lua#L113
whosit added the
4. step/QA NOK
label 2025-05-03 02:01:28 +02:00
whosit removed the
4. step/QA NOK
label 2025-05-03 02:09:02 +02:00
Member

I just swapped serialize to dump 754ab385ec

I guess we should try grepping for more sus usages of serialize.

I just swapped `serialize` to `dump` https://gitea.your-land.de/your-land/xp_redo/commit/754ab385ecdebfafa5b860e490eb7ed271e32fb8 I guess we should try grepping for more sus usages of serialize.
AliasAlreadyTaken added the
4. step/QA main
label 2025-05-07 23:37:00 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#8483
No description provided.