digistuff/gpu.lua:265: bad argument #1 to 'floor' (number expected, got string) #5932

Open
opened 2024-01-07 11:22:49 +00:00 by AliasAlreadyTaken · 11 comments
2024-01-07 11:21:55: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod '??' in callback environment_Step(): /home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:265: bad argument #1 to 'floor' (number expected, got string)
2024-01-07 11:21:55: ERROR[Main]: stack traceback:
2024-01-07 11:21:55: ERROR[Main]: 	[C]: in function 'floor'
2024-01-07 11:21:55: ERROR[Main]: 	/home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:265: in function 'runcommand'
2024-01-07 11:21:55: ERROR[Main]: 	/home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:567: in function 'action'
2024-01-07 11:21:55: ERROR[Main]: 	...t/5.7.0/Minetest_test/bin/../mods/digilines/internal.lua:106: in function 'transmit'
2024-01-07 11:21:55: ERROR[Main]: 	/home/mt/5.7.0/Minetest_test/bin/../mods/digilines/init.lua:60: in function 'receptor_send'
2024-01-07 11:21:55: ERROR[Main]: 	...est/bin/../mods/mesecons/mesecons_luacontroller/init.lua:755: in function <...est/bin/../mods/mesecons/mesecons_luacontroller/init.lua:749>
2024-01-07 11:21:55: ERROR[Main]: 	...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:137: in function 'old_execute'
2024-01-07 11:21:55: ERROR[Main]: 	.../bin/../mods/mesecons_debug/overrides/mesecons_queue.lua:27: in function 'execute'
2024-01-07 11:21:55: ERROR[Main]: 	...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:111: in function <...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:73>
2024-01-07 11:21:55: ERROR[Main]: 	.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432>
``` 2024-01-07 11:21:55: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod '??' in callback environment_Step(): /home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:265: bad argument #1 to 'floor' (number expected, got string) 2024-01-07 11:21:55: ERROR[Main]: stack traceback: 2024-01-07 11:21:55: ERROR[Main]: [C]: in function 'floor' 2024-01-07 11:21:55: ERROR[Main]: /home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:265: in function 'runcommand' 2024-01-07 11:21:55: ERROR[Main]: /home/mt/5.7.0/Minetest_test/bin/../mods/digistuff/gpu.lua:567: in function 'action' 2024-01-07 11:21:55: ERROR[Main]: ...t/5.7.0/Minetest_test/bin/../mods/digilines/internal.lua:106: in function 'transmit' 2024-01-07 11:21:55: ERROR[Main]: /home/mt/5.7.0/Minetest_test/bin/../mods/digilines/init.lua:60: in function 'receptor_send' 2024-01-07 11:21:55: ERROR[Main]: ...est/bin/../mods/mesecons/mesecons_luacontroller/init.lua:755: in function <...est/bin/../mods/mesecons/mesecons_luacontroller/init.lua:749> 2024-01-07 11:21:55: ERROR[Main]: ...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:137: in function 'old_execute' 2024-01-07 11:21:55: ERROR[Main]: .../bin/../mods/mesecons_debug/overrides/mesecons_queue.lua:27: in function 'execute' 2024-01-07 11:21:55: ERROR[Main]: ...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:111: in function <...etest_test/bin/../mods/mesecons/mesecons/actionqueue.lua:73> 2024-01-07 11:21:55: ERROR[Main]: .../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432> ```
Author
Owner

Code to reproduce the issue, courtesy of frogTheSecond:

digiline_send("g",{
    {
    command="createbuffer",
    buffer=2,
    xsize=64,
    ysize=12,
    fill="ffffff",
    },
{
 command="sendregion",
 buffer=2,
 x1=1,
 x2=1,
 y2="a",
 y1=1,
 channel="i"
}
})
Code to reproduce the issue, courtesy of frogTheSecond: ```lua digiline_send("g",{ { command="createbuffer", buffer=2, xsize=64, ysize=12, fill="ffffff", }, { command="sendregion", buffer=2, x1=1, x2=1, y2="a", y1=1, channel="i" } }) ```
flux added the
1. kind/bug
3. source/mod upstream
2. prio/critical
labels 2024-01-07 18:15:07 +00:00
Member
upstream issue w/ mt-mods https://github.com/mt-mods/digistuff/issues/45

AFAIK the digistuff GPU was designed for use with the digiscreen mod. If we don't have that, why not just remove the GPU?

AFAIK the digistuff GPU was designed for use with the [digiscreen](https://content.minetest.net/packages/cheapie/digiscreen/) mod. If we don't have that, why not just remove the GPU?
Member

AFAIK the digistuff GPU was designed for use with the digiscreen mod. If we don't have that, why not just remove the GPU?

i assumed it was meant to be used with the digistuff touchscreen (which is also a bug magnet). i have not actually used it though, so shrug. removing it would be the easiest solution.

> AFAIK the digistuff GPU was designed for use with the [digiscreen](https://content.minetest.net/packages/cheapie/digiscreen/) mod. If we don't have that, why not just remove the GPU? i assumed it was meant to be used with the digistuff touchscreen (which is also a bug magnet). i have not actually used it though, so *shrug*. removing it would be the easiest solution.
Member

I think it's possible to use it for drawing on displays built from led_marquees, but that thing is probably is also not the best thing for the server at graphical-screen scales...

I think it's possible to use it for drawing on displays built from `led_marquee`s, but that thing is probably is also not the best thing for the server at graphical-screen scales...
Author
Owner

Is there a reason we don't have digiscreen?

It was briefly discussed here: #3939

So far neither side convinced me. I'd be against it if it causes lag and if it doesn't fit in YL. I'd be ok wiht it if it somehow enhances YL. Let's discuss digiscreen in the linked issues and GPU removal here.

Does anyone use GPU for ... anything?

Is there a reason we don't have digiscreen? It was briefly discussed here: #3939 So far neither side convinced me. I'd be against it if it causes lag and if it doesn't fit in YL. I'd be ok wiht it if it somehow enhances YL. Let's discuss digiscreen in the linked issues and GPU removal here. Does anyone use GPU for ... anything?

i assumed it was meant to be used with the digistuff touchscreen

Can't be used for that. The gpu can only create a table containing color values for each pixel or a string representation of that table.

Meanwhile the touchscreen can't be used to load such an image. (they expect a texture / texture modifier (Not that they would check if the modifier is valid). But they provide no way to create a texture from such a buffer.
There is only one way I would see to somehow make use of the gpu buffers: running a modified version of generateTexture(pos,serdata) (https://cheapiesystems.com/git/digiscreen/tree/init.lua) on a luac.

In fact it's way more powerful (and efficient) to create pictures one needs by making use of MT texture modifiers directly (or write a small set of helper functions on the luac itself).
I played a lot with modifiers while testing for #5923. If one really needs a gpu, I would volunteer to go to that machine and help the player to create the needed texture.

> i assumed it was meant to be used with the digistuff touchscreen Can't be used for that. The gpu can only create a table containing color values for each pixel or a string representation of that table. Meanwhile the touchscreen can't be used to load such an image. (they expect a texture / texture modifier (Not that they would check if the modifier is valid). But they provide no way to create a texture from such a buffer. There is only one way I would see to somehow make use of the gpu buffers: running a modified version of `generateTexture(pos,serdata)` (https://cheapiesystems.com/git/digiscreen/tree/init.lua) on a luac. In fact it's way more powerful (and efficient) to create pictures one needs by making use of MT texture modifiers directly (or write a small set of helper functions on the luac itself). I played a lot with modifiers while testing for #5923. If one really needs a gpu, I would volunteer to go to that machine and help the player to create the needed texture.
Author
Owner

Even if the issue was fixed upstream, I wouldn't even know how to test it. IMO, if noone can present a use case, we can disable the GPU.

Even if the issue was fixed upstream, I wouldn't even know how to test it. IMO, if noone can present a use case, we can disable the GPU.

Even if the issue was fixed upstream, I wouldn't even know how to test it. IMO, if noone can present a use case, we can disable the GPU.

It could be used with digicolor nodes to create full color displays

> > Even if the issue was fixed upstream, I wouldn't even know how to test it. IMO, if noone can present a use case, we can disable the GPU. It could be used with digicolor nodes to create full color displays
Member

It could be used with digicolor nodes to create full color displays

that's ... a great proposal. i'd love if someone used digicolor to create a functional tetris game on the side of the haven clock tower.

> It could be used with digicolor nodes to create full color displays that's ... a great proposal. i'd love if someone used digicolor to create a functional tetris game on the side of the haven clock tower.

With the ratelimiter though - digicolor display isn't realistically possible. I say we add digiscreens or remove the GPU. And by the way can someone remind me why we haven't came to a conclusion on #3939?

With the ratelimiter though - digicolor display isn't realistically possible. I say we add digiscreens or remove the GPU. And by the way can someone remind me why we haven't came to a conclusion on #3939?
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#5932
No description provided.