daydream reports: I can't get into my personal l ... #3694

Closed
opened 2023-02-01 22:51:12 +00:00 by yourland-report · 15 comments

daydream reports a bug:

I can't get into my personal log after deleting one of the positions... now it won't open at all. I rebooted my client but nothing is helping.

Player position:

{
	z = 10.362000465393,
	x = 2691.6999511719,
	y = 56
}

Player look:

{
	z = 0.68119382858276,
	x = -0.73100239038467,
	y = -0.040131792426109
}

Player information:

{
	min_jitter = 0,
	max_jitter = 1.9930000305176,
	avg_jitter = 0.0019999891519547,
	connection_uptime = 96,
	serialization_version = 29,
	protocol_version = 41,
	lang_code = "",
	max_rtt = 2.1589999198914,
	minor = 6,
	state = "Active",
	version_string = "5.6.1",
	patch = 1,
	major = 5,
	ip_version = 6,
	formspec_version = 6,
	min_rtt = 0.15899999439716,
	avg_rtt = 0.16500000655651
}

Player meta:

{
	fields = {
		jointime = "1650064821",
		bitten = "0",
		["signslib:pos"] = "(-7794,29889,-9651)",
		placed_nodes = "211438",
		arenalib_infobox_arenaID = "0",
		yl_church = "return {[\"last_death_portal\"] = 1674754891, [\"last_death\"] = {[\"y\"] = -5, [\"z\"] = 1594, [\"x\"] = 1327}, [\"last_heal\"] = 1673944229}",
		yl_commons_thankyou = "225",
		["stamina:exhaustion"] = "73",
		["petz:lycanthropy"] = "0",
		xp = "1139821",
		["petz:old_override_table"] = "return {[\"speed\"] = 2, [\"sneak\"] = true, [\"jump\"] = 1.5, [\"gravity\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false}",
		["petz:werewolf"] = "0",
		["ocean_build.ocean_built"] = "8",
		["petz:werewolf_vignette_id"] = "19",
		played_time = "14239078",
		digged_nodes = "1409662",
		repellant = "0",
		hud_state = "on",
		["petz:werewolf_clan_idx"] = "1",
		crafted = "2494",
		["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 2300\", \"shields:shield_rainbow 1 920\", \"3d_armor:chestplate_crystal 1 2300\", \"3d_armor:leggings_crystal 1 2300\", \"3d_armor:boots_crystal 1 2300\", \"\"}",
		["stamina:level"] = "16",
		xp_redo_hud_color = "0xFFC001",
		punch_count = "74504",
		died = "212",
		inflicted_damage = "1503390",
		["stamina:poisoned"] = "no",
		["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}",
		["ocean_build.last_warning"] = "1.65235e+09",
		partychat = "party",
		yl_commons_player_created = "1650064821",
		yl_commons_player_joined = "1675291804"
	}
}

Log identifier


[MOD] yl_report log identifier = uusymoAEzXZFPtjaZJCLM06r37s3i4vJ

Profiler save:

profile-20230201T225111.json_prettyEE

Status:

# Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 1h 8min 34s | max lag: 2.73s | clients (19/52): AliasAlreadyTaken, Aliza, Arsten, Bailiff, Bla, Cascade, Chache, Chazz, daydream, Elias, flux, Hggfdxyytuguhhvff, itaca94, JeCel, Lucien_II, Parrish, Pietist, Service, Sokomine

Teleport command:

/teleport xyz 2692 56 10

Compass command:

/give_compass Construction uusymoAEzXZFPtjaZJCLM06r37s3i4vJ D2691E 2692 56 10
daydream reports a bug: > I can't get into my personal log after deleting one of the positions... now it won't open at all. I rebooted my client but nothing is helping. Player position: ``` { z = 10.362000465393, x = 2691.6999511719, y = 56 } ``` Player look: ``` { z = 0.68119382858276, x = -0.73100239038467, y = -0.040131792426109 } ``` Player information: ``` { min_jitter = 0, max_jitter = 1.9930000305176, avg_jitter = 0.0019999891519547, connection_uptime = 96, serialization_version = 29, protocol_version = 41, lang_code = "", max_rtt = 2.1589999198914, minor = 6, state = "Active", version_string = "5.6.1", patch = 1, major = 5, ip_version = 6, formspec_version = 6, min_rtt = 0.15899999439716, avg_rtt = 0.16500000655651 } ``` Player meta: ``` { fields = { jointime = "1650064821", bitten = "0", ["signslib:pos"] = "(-7794,29889,-9651)", placed_nodes = "211438", arenalib_infobox_arenaID = "0", yl_church = "return {[\"last_death_portal\"] = 1674754891, [\"last_death\"] = {[\"y\"] = -5, [\"z\"] = 1594, [\"x\"] = 1327}, [\"last_heal\"] = 1673944229}", yl_commons_thankyou = "225", ["stamina:exhaustion"] = "73", ["petz:lycanthropy"] = "0", xp = "1139821", ["petz:old_override_table"] = "return {[\"speed\"] = 2, [\"sneak\"] = true, [\"jump\"] = 1.5, [\"gravity\"] = 1, [\"new_move\"] = true, [\"sneak_glitch\"] = false}", ["petz:werewolf"] = "0", ["ocean_build.ocean_built"] = "8", ["petz:werewolf_vignette_id"] = "19", played_time = "14239078", digged_nodes = "1409662", repellant = "0", hud_state = "on", ["petz:werewolf_clan_idx"] = "1", crafted = "2494", ["3d_armor_inventory"] = "return {\"3d_armor:helmet_crystal 1 2300\", \"shields:shield_rainbow 1 920\", \"3d_armor:chestplate_crystal 1 2300\", \"3d_armor:leggings_crystal 1 2300\", \"3d_armor:boots_crystal 1 2300\", \"\"}", ["stamina:level"] = "16", xp_redo_hud_color = "0xFFC001", punch_count = "74504", died = "212", inflicted_damage = "1503390", ["stamina:poisoned"] = "no", ["unified_inventory:bags"] = "return {\"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\", \"water_life:croc_bag\"}", ["ocean_build.last_warning"] = "1.65235e+09", partychat = "party", yl_commons_player_created = "1650064821", yl_commons_player_joined = "1675291804" } } ``` Log identifier ``` [MOD] yl_report log identifier = uusymoAEzXZFPtjaZJCLM06r37s3i4vJ ``` Profiler save: ``` profile-20230201T225111.json_prettyEE ``` Status: ``` # Server: version: 5.6.1-yl | game: Minetest Game | uptime: 3d 1h 8min 34s | max lag: 2.73s | clients (19/52): AliasAlreadyTaken, Aliza, Arsten, Bailiff, Bla, Cascade, Chache, Chazz, daydream, Elias, flux, Hggfdxyytuguhhvff, itaca94, JeCel, Lucien_II, Parrish, Pietist, Service, Sokomine ``` Teleport command: ``` /teleport xyz 2692 56 10 ``` Compass command: ``` /give_compass Construction uusymoAEzXZFPtjaZJCLM06r37s3i4vJ D2691E 2692 56 10 ```
AliasAlreadyTaken was assigned by yourland-report 2023-02-01 22:51:12 +00:00
AliasAlreadyTaken added the
1. kind/bug
label 2023-02-02 04:00:14 +00:00
flux added the
2. prio/elevated
label 2023-02-02 20:54:57 +00:00
flux added the
4. step/needs confirmation
label 2023-02-02 23:07:11 +00:00
Member

this is very frustrating, and i'd hate to no longer have access to my notes, but i don't know how to trigger this.

this is very frustrating, and i'd hate to no longer have access to my notes, but i don't know how to trigger this.
Member

I am still locked out on 5.7.0-dev-56d2567 too :(

I am still locked out on 5.7.0-dev-56d2567 too :(

Can´t replicate but my guess is malformed state entry in mod_storage.
Reset to default values like in init.lua#L63 could help.

Can´t replicate but my guess is malformed `state` entry in mod_storage. Reset to default values like in [init.lua#L63](https://gitea.your-land.de/your-land/personal_log/src/branch/yl_stable/init.lua#L63) could help.
Member

i'd rather not just toss out all of daydream's notes, but i'll have to figure out a way to get to that state to take a look (and get daydream's permission to look at her notes).

i'd rather not just toss out all of daydream's notes, but i'll have to figure out a way to get to that state to take a look (and get daydream's permission to look at her notes).
Member

i've created some code to enable me to get access to the log state: 0e980b7e64

remaining steps:

  • get permission from daydream to look at her log data
  • put live server's modstorage onto the test server
  • install that update onto the test server
  • debug this and figure out a way to fix the issue and possibly prevent it in the future.
i've created some code to enable me to get access to the log state: https://gitea.your-land.de/your-land/personal_log/commit/0e980b7e64018fd509d62acc89b4fd56bfb03869 remaining steps: * get permission from daydream to look at her log data * put live server's modstorage onto the test server * install that update onto the test server * debug this and figure out a way to fix the issue and possibly prevent it in the future.

i'd rather not just toss out all of daydream's notes, but i'll have to figure out a way to get to that state to take a look (and get daydream's permission to look at her notes).

Sure I would also not risk that, state doesn't contain the notes.
Just the current category, selected entry and counts per category.

Attaching an mod_storage example table from my test

modname key value
personal_log singleplayer_category_1_entry_0_content asd1
personal_log singleplayer_category_1_entry_1_topic (-128,6,128)
personal_log singleplayer_category_1_entry_1_content asdasd
personal_log singleplayer_category_1_entry_2_topic (-128,6,128)
personal_log singleplayer_category_2_entry_1_topic 2023-02-03
personal_log singleplayer_category_2_entry_2_topic 2023-02-03
personal_log singleplayer_category_2_entry_3_topic 2023-02-03
personal_log singleplayer_category_2_entry_4_topic 2023-02-03
personal_log singleplayer_category_2_entry_5_topic 2023-02-03
personal_log singleplayer_category_1_entry_3_topic (-128,6,128)
personal_log singleplayer_category_1_entry_4_topic (-128,6,128)
personal_log singleplayer_state return {category=3,entry_selected={3,5,4},entry_counts={4,5,4}}
> i'd rather not just toss out all of daydream's notes, but i'll have to figure out a way to get to that state to take a look (and get daydream's permission to look at her notes). Sure I would also not risk that, `state` doesn't contain the notes. Just the current category, selected entry and counts per category. Attaching an mod_storage example table from my test | modname | key | value | | -------- | -------- | -------- | personal_log|singleplayer_category_1_entry_0_content|asd1| personal_log|singleplayer_category_1_entry_1_topic|(-128,6,128)| personal_log|singleplayer_category_1_entry_1_content|asdasd| personal_log|singleplayer_category_1_entry_2_topic|(-128,6,128)| personal_log|singleplayer_category_2_entry_1_topic|2023-02-03| personal_log|singleplayer_category_2_entry_2_topic|2023-02-03| personal_log|singleplayer_category_2_entry_3_topic|2023-02-03| personal_log|singleplayer_category_2_entry_4_topic|2023-02-03| personal_log|singleplayer_category_2_entry_5_topic|2023-02-03| personal_log|singleplayer_category_1_entry_3_topic|(-128,6,128)| personal_log|singleplayer_category_1_entry_4_topic|(-128,6,128)| personal_log|singleplayer_state|return {category=3,entry_selected={3,5,4},entry_counts={4,5,4}}|
Member

ah, i see, perhaps resetting the state would fix the issue, that's testable.

ah, i see, perhaps resetting the state would fix the issue, that's testable.

I suggest a rewrite of the storage including migration to JSON.

Since by now we store so much stuff in JSON per player, maybe we need a JSON per player API.

I suggest a rewrite of the storage including migration to JSON. Since by now we store so much stuff in JSON per player, maybe we need a JSON per player API.
Member

I suggest a rewrite of the storage including migration to JSON.

Since by now we store so much stuff in JSON per player, maybe we need a JSON per player API.

i'm still not sure why you think storing data in json is a great idea. it makes modifying data an O(n) operation instead of an O(1) one, and there's no data consistency guarantees. i'm totally on board w/ the idea of creating a system of player metadata which can be accessed when the player isn't online, but i feel like it'd cause fewer problems if we just built it on top of mod_storage, or possibly against its own sqlite database.

> I suggest a rewrite of the storage including migration to JSON. > > Since by now we store so much stuff in JSON per player, maybe we need a JSON per player API. i'm still not sure why you think storing data in json is a great idea. it makes modifying data an `O(n)` operation instead of an `O(1)` one, and there's no data consistency guarantees. i'm totally on board w/ the idea of creating a system of player metadata which can be accessed when the player isn't online, but i feel like it'd cause fewer problems if we just built it on top of mod_storage, or possibly against its own sqlite database.

Im also not a fan of how personal_log (+ a few other mods) saves its data and a storage per player makes sense.
JSON is a nice and handy format but if you already get provided with easy options to use a DB why not use it, especially on a server to me it feels like having a current high-end PC to play pong 😉

Im also not a fan of how personal_log (+ a few other mods) saves its data and a storage per player makes sense. JSON is a nice and handy format but if you already get provided with easy options to use a DB why not use it, especially on a server to me it feels like having a current high-end PC to play pong 😉

There's nothing wrong with pong :P

Let's discuss here: #3722

There's nothing wrong with pong :P Let's discuss here: #3722
Member

I don't need the log book back but I would like to be able to use it when I want/need to in future and now it won't open at all is the problem.

What I had before is outdated now, so this is a forward thinking issue, not a data retrieval issue... just want the function back and would love to know why deleting a location (to the 9T9 Volcano) would have broken the function.

I don't need the log book back but I would like to be able to use it when I want/need to in future and now it won't open at all is the problem. What I had before is outdated now, so this is a forward thinking issue, not a data retrieval issue... just want the function back and would love to know why deleting a location (to the 9T9 Volcano) would have broken the function.

Fixed in 6553e6090e after a suggestion from upstream. Thank you SmallJoker!

https://github.com/minetest-mods/personal_log/issues/5

Fixed in https://gitea.your-land.de/your-land/personal_log/commit/6553e6090e3ad2d69986f32cf5d6d3b426ccbb23 after a suggestion from upstream. Thank you SmallJoker! https://github.com/minetest-mods/personal_log/issues/5
AliasAlreadyTaken added this to the 1.1.118 milestone 2023-04-06 21:11:12 +00:00
AliasAlreadyTaken added the
4. step/ready to QA test
label 2023-04-06 21:11:19 +00:00

Until upstream adds the fixes we fixed in yl_stable

The fix was added prematurely to the liveserver and daydream can access her journal again.

Until upstream adds the fixes we fixed in yl_stable The fix was added prematurely to the liveserver and daydream can access her journal again.
AliasAlreadyTaken added the
ugh/QA OK
label 2023-04-13 22:34:06 +00:00
Member

this is live

this is live
flux closed this issue 2023-04-25 20:54:17 +00:00
flux added
5. result/fixed
and removed
4. step/ready to QA test
labels 2023-04-25 20:54:25 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
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#3694
No description provided.