whosit reports: led_marquee: seems to ignore m ... #6351
Labels
No Label
1. kind/balancing
1. kind/breaking
1. kind/bug
1. kind/construction
1. kind/documentation
1. kind/enhancement
1. kind/griefing
1. kind/invalid
1. kind/meme
1. kind/node limit
1. kind/other
1. kind/protocol
2. prio/controversial
2. prio/critical
2. prio/elevated
2. prio/good first issue
2. prio/interesting
2. prio/low
3. source/art
3. source/client
3. source/engine
3. source/ingame
3. source/integration
3. source/lag
3. source/license
3. source/mod upstream
3. source/unknown
3. source/website
4. step/approved
4. step/at work
4. step/blocked
4. step/discussion
4. step/help wanted
4. step/needs confirmation
4. step/partially fixed
4. step/question
4. step/ready to deploy
4. step/ready to QA test
4. step/want approval
5. result/cannot reproduce
5. result/duplicate
5. result/fixed
5. result/maybe
5. result/wontfix
ugh/petz
ugh/QA main
ugh/QA NOK
ugh/QA OK
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: your-land/bugtracker#6351
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
whosit reports a bug:
Player position:
Player look:
Player information:
Player meta:
Log identifier
Profiler save:
Status:
Teleport command:
Compass command:
well, most mesecons/digilines signals can be lost when there's "high lag", which has been almost constant lately whenever there's more than 10 players on the server. i think i mentioned somewhere that i suspect the reason for that is spawnit, but it's not showing up in any of the spawnit metrics. 1.1.123 will update spawnit, and i'll be able to toggle a global switch that will let me verify that assumption. unfortunately the jit usage mod crashes things.
i also don't have any suspicions of what exactly would be causing the issue, if it's in the spawnit code. spawnit was very carefully designed to not cause performance problems with multiple players. however, my ability to test 20-30-40 players locally is limited. this didn't show up when i was using a bunch of headless clients.
Please add any debug or maybe even a live debug option to the mod as you see fit. spawnit occasionally grabs the whole CPU, means: All threads
Could it be that serialization is slow?
Also your-land/bugtracker#6357
Also, wouldn't digilines, pipeworks and mesecons be good for async? Especially where larger machines need to be simulated, without touching stuff that is not available there?
Could we add logging to digilines to see where stuff gets lost?
I guess I know where the digiline stuff is lost:
mesecons maintains a so called actionQueue where they store stuff they want to execute in the next globalstep after
time
seconds (https://github.com/minetest-mods/mesecons/blob/master/mesecons/actionqueue.lua, the code is well-commented).Luacontrollers do not send out digiline messages immediately, they add it to the queue (
59780437f2/mesecons_luacontroller/init.lua (L473)
), so the digiline:send() will be called in the next globalstep.That is, where mesecons_debug comes in. If it decides that lag is too high, it prevents the action from being added to the queue (
792d266c89/overrides/mesecons_queue.lua (L38)
). That's where the message is lost.Note that you can loose luacontroller interrupts in the same way.
Maybe offtopic:
IMO mesecons_debug is doing a bad job here:
I can use my penalty-free time to fill the queue with heavy code. Even if I get penalty later, all my code in the queue will still be executed. If I fill my queue with luac interrupts, I can even create lag at any time I want.
Today we had only 4 players online and I decided to try out my pong machine:
Display worked really strange: it works fine for a couple of frames, then gets frozen for a minute, then starts "fast-forwarding" everything at extreme speeds... While it's fast-forwarding, I can't even toggle a lever...
Seems consistent with queue filling up before ratelimiter hits? The effect that tour wrote about?
And while all this was happening, mesecons_hud was showing "penalty: 0.0s"...
(I have 20MB video showing this, idk if I should zip and put it here)
question number one: was the entire machine within a single mapblock? machine logic breaks in a deep way if that's not the case.
Screen edge is peeking out:
(I didn't know this XD probably miscalculated that because there was no good mapblock display?)
But it was working on test just fine (i.e. in low lag) at some point in the past...
Rest of it is just this:
theoretically, yes, absolutely. but async is new, and so far as i know, spawnit is really the only thing that's load-testing that currently (though i think there's some stuff in the works for plantlife). and the results are not super encouraging. see #6417 for more discussion about that issue.