flux reports: figure out where the "ambient" ... #6299

Open
opened 2024-02-16 00:57:13 +00:00 by yourland-report · 11 comments

flux reports a bug:

figure out where the "ambient" mob sounds come from, i don't think it's the ambience mod but i've never figured out what it might be

Player position:

{
	z = 501.87200927734,
	x = 1268.2469482422,
	y = 36.140998840332
}

Player look:

{
	z = 0.70172035694122,
	x = 0.35185524821281,
	y = -0.61950504779816
}

Player information:

{
	minor = 9,
	max_rtt = 5.2779998779297,
	avg_jitter = 0.0029999911785126,
	min_jitter = 0,
	max_jitter = 5.0910000801086,
	patch = 0,
	formspec_version = 7,
	version_string = "5.9.0-dev-454dd8576-dirty",
	protocol_version = 42,
	major = 5,
	state = "Active",
	min_rtt = 0.16799999773502,
	avg_rtt = 0.179000005126,
	connection_uptime = 31912,
	lang_code = "",
	serialization_version = 29,
	ip_version = 6
}

Player meta:

{
	fields = {
		xp = "2365121",
		hotbar_size = "32",
		played_time = "47573881",
		["stamina:level"] = "19",
		placed_nodes = "490368",
		["stamina:poisoned"] = "no",
		yl_commons_player_created = "1615351173",
		["stamina:exhaustion"] = "129",
		hud_state = "on",
		["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"sneak\"] = true, [\"sneak_glitch\"] = false, [\"jump\"] = 1.5, [\"speed\"] = 2, [\"gravity\"] = 1}",
		["petz:pre_werewolf_animation"] = "return {[\"textures\"] = {\"player.flux.0.png\", \"blank.png\", \"3d_armor_trans.png^shields_shield_rainbow.png^3d_armor_leggings_rainbow.png^3d_armor_chestplate_party.png^3d_armor_helmet_party.png^nether_mobs_dragon_boots.png\", \"3d_armor_trans.png\"}, [\"animation\"] = \"stand\", [\"model\"] = \"skinsdb_3d_armor_character_5.b3d\", [\"animation_speed\"] = 30}",
		["petz:werewolf_clan_idx"] = "1",
		["3d_armor_inventory"] = "return {\"shields:shield_rainbow 1 40\", \"3d_armor:leggings_rainbow 1 40\", \"3d_armor:chestplate_party 1 1000\", \"3d_armor:helmet_party 1 1000\", \"nether_mobs:dragon_boots 1 7340\", \"\"}",
		partychat = "party",
		jointime = "1615351173",
		bitten = "0",
		inflicted_damage = "6522676",
		arenalib_infobox_arenaID = "0",
		["hud_manager:spawnit:hud_enabled"] = "n",
		yl_commons_thankyou = "379",
		["petz:werewolf_vignette_id"] = "20",
		["signslib:pos"] = "(2124,17,1177)",
		yl_church = "return {[\"last_heal\"] = 1707544074, [\"last_death\"] = {[\"y\"] = 52, [\"z\"] = 214, [\"x\"] = 2810}, [\"last_death_portal\"] = 1692114993}",
		["petz:werewolf"] = "1",
		digged_nodes = "1746588",
		punch_count = "329747",
		repellant = "0",
		["petz:lycanthropy"] = "1",
		yl_commons_player_joined = "1708013136",
		crafted = "211841",
		died = "101",
		["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}"
	}
}

Log identifier


[MOD] yl_report log identifier = NteRugFRUEmFaG1rrnVhTjcuPzOyWVBI

Profiler save:

profile-20240216T005713.json_prettyEE

Status:

# Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 14h 30min 23s | max lag: 0.714s | clients (15/52): AliasAlreadyTaken, Andarius68, Bailiff, Chache, daydream, Empempires, flux, Hecate, Historia_reiss, JeCel, lumberJack, rewired_X, Service, Sokomine, Yoonie_

Teleport command:

/teleport xyz 1268 36 502

Compass command:

/give_compass Construction NteRugFRUEmFaG1rrnVhTjcuPzOyWVBI D2691E 1268 36 502
flux reports a bug: > figure out where the "ambient" mob sounds come from, i don't think it's the ambience mod but i've never figured out what it might be Player position: ``` { z = 501.87200927734, x = 1268.2469482422, y = 36.140998840332 } ``` Player look: ``` { z = 0.70172035694122, x = 0.35185524821281, y = -0.61950504779816 } ``` Player information: ``` { minor = 9, max_rtt = 5.2779998779297, avg_jitter = 0.0029999911785126, min_jitter = 0, max_jitter = 5.0910000801086, patch = 0, formspec_version = 7, version_string = "5.9.0-dev-454dd8576-dirty", protocol_version = 42, major = 5, state = "Active", min_rtt = 0.16799999773502, avg_rtt = 0.179000005126, connection_uptime = 31912, lang_code = "", serialization_version = 29, ip_version = 6 } ``` Player meta: ``` { fields = { xp = "2365121", hotbar_size = "32", played_time = "47573881", ["stamina:level"] = "19", placed_nodes = "490368", ["stamina:poisoned"] = "no", yl_commons_player_created = "1615351173", ["stamina:exhaustion"] = "129", hud_state = "on", ["petz:old_override_table"] = "return {[\"new_move\"] = true, [\"sneak\"] = true, [\"sneak_glitch\"] = false, [\"jump\"] = 1.5, [\"speed\"] = 2, [\"gravity\"] = 1}", ["petz:pre_werewolf_animation"] = "return {[\"textures\"] = {\"player.flux.0.png\", \"blank.png\", \"3d_armor_trans.png^shields_shield_rainbow.png^3d_armor_leggings_rainbow.png^3d_armor_chestplate_party.png^3d_armor_helmet_party.png^nether_mobs_dragon_boots.png\", \"3d_armor_trans.png\"}, [\"animation\"] = \"stand\", [\"model\"] = \"skinsdb_3d_armor_character_5.b3d\", [\"animation_speed\"] = 30}", ["petz:werewolf_clan_idx"] = "1", ["3d_armor_inventory"] = "return {\"shields:shield_rainbow 1 40\", \"3d_armor:leggings_rainbow 1 40\", \"3d_armor:chestplate_party 1 1000\", \"3d_armor:helmet_party 1 1000\", \"nether_mobs:dragon_boots 1 7340\", \"\"}", partychat = "party", jointime = "1615351173", bitten = "0", inflicted_damage = "6522676", arenalib_infobox_arenaID = "0", ["hud_manager:spawnit:hud_enabled"] = "n", yl_commons_thankyou = "379", ["petz:werewolf_vignette_id"] = "20", ["signslib:pos"] = "(2124,17,1177)", yl_church = "return {[\"last_heal\"] = 1707544074, [\"last_death\"] = {[\"y\"] = 52, [\"z\"] = 214, [\"x\"] = 2810}, [\"last_death_portal\"] = 1692114993}", ["petz:werewolf"] = "1", digged_nodes = "1746588", punch_count = "329747", repellant = "0", ["petz:lycanthropy"] = "1", yl_commons_player_joined = "1708013136", crafted = "211841", died = "101", ["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}" } } ``` Log identifier ``` [MOD] yl_report log identifier = NteRugFRUEmFaG1rrnVhTjcuPzOyWVBI ``` Profiler save: ``` profile-20240216T005713.json_prettyEE ``` Status: ``` # Server: version: 5.7.0-yl-thx-tmm | game: Minetest Game | uptime: 14h 30min 23s | max lag: 0.714s | clients (15/52): AliasAlreadyTaken, Andarius68, Bailiff, Chache, daydream, Empempires, flux, Hecate, Historia_reiss, JeCel, lumberJack, rewired_X, Service, Sokomine, Yoonie_ ``` Teleport command: ``` /teleport xyz 1268 36 502 ``` Compass command: ``` /give_compass Construction NteRugFRUEmFaG1rrnVhTjcuPzOyWVBI D2691E 1268 36 502 ```
AliasAlreadyTaken was assigned by yourland-report 2024-02-16 00:57:13 +00:00
AliasAlreadyTaken added the
1. kind/protocol
label 2024-02-16 03:03:36 +00:00
flux added this to the flux's TODO list project 2024-02-16 17:18:40 +00:00
flux self-assigned this 2024-02-16 17:18:44 +00:00
flux added the
2. prio/interesting
label 2024-02-16 17:19:06 +00:00
Member

Good luck! I'm curious as well.

Good luck! I'm curious as well.
Member

currently running the following on the main server. i've done what i can to mitigate crashes - it hasn't crashed for me on singleplayer, but it also hasn't detected anything, so not all code paths are tested.

-- https://gitea.your-land.de/your-land/bugtracker/issues/6299
-- execute fluxtmp6299.unwrap() to disable this

fluxtmp6299 = {}

function fluxtmp6299.wrap()
	if fluxtmp6299.old_sound_play then
		return
	end

	fluxtmp6299.old_sound_play = minetest.sound_play
	function minetest.sound_play(spec, parameters, ephemeral)
		futil.safe_call(function()
			local max_hear_distance = parameters.max_hear_distance or 32
			if (max_hear_distance > 32768 or max_hear_distance <= 0) or not (parameters.pos or parameters.object or parameters.to_player or parameters.exclude_player) or (parameters.object and not parameters.object:get_pos())then
				minetest.chat_send_player("flux", string.format("[sound debug] %s %s %s %s", futil.dump(spec), futil.dump(parameters), ephemeral, debug.traceback()))
			end
		end, nil, function(funcinfo, args, error)
			minetest.chat_send_player("flux", string.format("[sound debug] ERROR: %s %s %s", funcinfo, dump(args), dump(error)))
		end)
		return fluxtmp6299.old_sound_play(spec, parameters, ephemeral)
	end
end

function fluxtmp6299.unwrap()
	minetest.sound_play = fluxtmp6299.old_sound_play or minetest.sound_play
	fluxtmp6299.old_sound_play = nil
end

fluxtmp6299.wrap()
currently running the following on the main server. i've done what i can to mitigate crashes - it hasn't crashed for me on singleplayer, but it also hasn't detected anything, so not all code paths are tested. ```lua -- https://gitea.your-land.de/your-land/bugtracker/issues/6299 -- execute fluxtmp6299.unwrap() to disable this fluxtmp6299 = {} function fluxtmp6299.wrap() if fluxtmp6299.old_sound_play then return end fluxtmp6299.old_sound_play = minetest.sound_play function minetest.sound_play(spec, parameters, ephemeral) futil.safe_call(function() local max_hear_distance = parameters.max_hear_distance or 32 if (max_hear_distance > 32768 or max_hear_distance <= 0) or not (parameters.pos or parameters.object or parameters.to_player or parameters.exclude_player) or (parameters.object and not parameters.object:get_pos())then minetest.chat_send_player("flux", string.format("[sound debug] %s %s %s %s", futil.dump(spec), futil.dump(parameters), ephemeral, debug.traceback())) end end, nil, function(funcinfo, args, error) minetest.chat_send_player("flux", string.format("[sound debug] ERROR: %s %s %s", funcinfo, dump(args), dump(error))) end) return fluxtmp6299.old_sound_play(spec, parameters, ephemeral) end end function fluxtmp6299.unwrap() minetest.sound_play = fluxtmp6299.old_sound_play or minetest.sound_play fluxtmp6299.old_sound_play = nil end fluxtmp6299.wrap() ```
Member

One clue is that it's only mob sounds, I think?

One clue is that it's only mob sounds, I think?

One clue is that it's only mob sounds, I think?

ambience has quite a few sounds of animals https://codeberg.org/tenplus1/ambience/src/branch/master/sounds

For #3681 I made a playlist of all .ogg YL had and went through them till I found the one JeCel recorded.

> One clue is that it's only mob sounds, I think? ambience has quite a few sounds of animals https://codeberg.org/tenplus1/ambience/src/branch/master/sounds For #3681 I made a playlist of all .ogg YL had and went through them till I found the one JeCel recorded.
Member

One clue is that it's only mob sounds, I think?

mostly they're mobs_redo sounds, i'm not sure that's exclusive though.

ambience has quite a few sounds of animals

but not e.g. the sounds from the stone monster, landguard, or blaze, which are ones i commonly hear.

> One clue is that it's only mob sounds, I think? mostly they're mobs_redo sounds, i'm not sure that's exclusive though. > ambience has quite a few sounds of animals but not e.g. the sounds from the stone monster, landguard, or blaze, which are ones i commonly hear.

ambience has quite a few sounds of animals

but not e.g. the sounds from the stone monster, landguard, or blaze, which are ones i commonly hear.

yep mobs_monster are not animals.......

> > ambience has quite a few sounds of animals > > but not e.g. the sounds from the stone monster, landguard, or blaze, which are ones i commonly hear. yep mobs_monster are not animals.......
Member

it's mobs redo.

2024-02-19 13:55:53: ACTION[Main]: [chatlog] flux@your-land.de:30000 [sound debug] "mobs_sheep" {
	gain = 1,
	max_hear_distance = 10,
	object = userdata: 0x7f86096938f8,
	pitch = 0.965
} true stack traceback:
	[string "snippets:player_flux"]:16: in function <[string "snippets:player_flux"]:13>
	[C]: in function 'xpcall'
	...etest_live/bin/../mods/minetest-futil/util/exception.lua:4: in function 'safe_call'
	[string "snippets:player_flux"]:13: in function 'sound_play'
	/home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:215: in function 'mob_sound'
	/home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:3503: in function 'func'
	...inetest_live/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_live/bin/../builtin/profiler/instrumentation.lua:101>
...
2024-02-19 14:58:18: ACTION[Main]: [chatlog] flux@your-land.de:30000 [sound debug] "mobs_kitten" {
	gain = 1,
	max_hear_distance = 10,
	object = userdata: 0x7f87630483b0,
	pitch = 0.995
} true stack traceback:
	[string "snippets:player_flux"]:16: in function <[string "snippets:player_flux"]:13>
	[C]: in function 'xpcall'
	...etest_live/bin/../mods/minetest-futil/util/exception.lua:4: in function 'safe_call'
	[string "snippets:player_flux"]:13: in function 'sound_play'
	/home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:215: in function 'mob_sound'
	/home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:3503: in function 'func'
	...inetest_live/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_live/bin/../builtin/profiler/instrumentation.lua:101>

sounds which specify an object only get logged if the object's position is nil. question is why. i'm not able to replicate this locally yet.

it's mobs redo. ``` 2024-02-19 13:55:53: ACTION[Main]: [chatlog] flux@your-land.de:30000 [sound debug] "mobs_sheep" { gain = 1, max_hear_distance = 10, object = userdata: 0x7f86096938f8, pitch = 0.965 } true stack traceback: [string "snippets:player_flux"]:16: in function <[string "snippets:player_flux"]:13> [C]: in function 'xpcall' ...etest_live/bin/../mods/minetest-futil/util/exception.lua:4: in function 'safe_call' [string "snippets:player_flux"]:13: in function 'sound_play' /home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:215: in function 'mob_sound' /home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:3503: in function 'func' ...inetest_live/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_live/bin/../builtin/profiler/instrumentation.lua:101> ... 2024-02-19 14:58:18: ACTION[Main]: [chatlog] flux@your-land.de:30000 [sound debug] "mobs_kitten" { gain = 1, max_hear_distance = 10, object = userdata: 0x7f87630483b0, pitch = 0.995 } true stack traceback: [string "snippets:player_flux"]:16: in function <[string "snippets:player_flux"]:13> [C]: in function 'xpcall' ...etest_live/bin/../mods/minetest-futil/util/exception.lua:4: in function 'safe_call' [string "snippets:player_flux"]:13: in function 'sound_play' /home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:215: in function 'mob_sound' /home/mt/5.7.0/Minetest_live/bin/../mods/mobs_redo/api.lua:3503: in function 'func' ...inetest_live/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_live/bin/../builtin/profiler/instrumentation.lua:101> ``` sounds which specify an object only get logged if the object's position is `nil`. question is why. i'm not able to replicate this locally yet.
Member

i can't replicate this locally either using :remove() and then sound_play, or moving out of the area so the object unloads and then issuing sound_play. no sound happens in either case. maybe it got fixed in 5.8?

i can't replicate this locally either using `:remove()` and then `sound_play`, or moving out of the area so the object unloads and then issuing `sound_play`. no sound happens in either case. maybe it got fixed in 5.8?
Member

looking at the code, i suspect that the underlying engine issue is likely the same one implicated in #3601. i never found a way to replicate that either.

looking at the code, i suspect that the underlying engine issue is likely the same one implicated in #3601. i never found a way to replicate that either.
Member

without a replication, i don't want to report this to the engine folks. we could ask Tenplus1 to check get_pos() returns non-nil. alternatively, we could override minetest.sound_play to add the check ourselves.

without a replication, i don't want to report this to the engine folks. we could ask Tenplus1 to check `get_pos()` returns non-nil. alternatively, we could override `minetest.sound_play` to add the check ourselves.
Member

apparently the sound system was re-written for 5.8, let's put this on hold until the server is running that.

apparently the sound system was re-written for 5.8, let's put this on hold until the server is running that.
AliasAlreadyTaken added the
4. step/blocked
label 2024-02-20 14:26:45 +00:00
flux added this to the minetest 5.8.0 milestone 2024-03-31 00:10:38 +00:00
flux added the
3. source/engine
label 2024-03-31 18:27:02 +00:00
Sign in to join this conversation.
No Milestone
5 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#6299
No description provided.