Could not load image ... #6664

Closed
opened 2024-04-17 17:31:56 +02:00 by Boot · 28 comments
Member
ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image
ERROR[Main]: generateImage(): Could not load image "x_bows_slingshot_steel.png" while building texture; Creating a dummy image
``` ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image ERROR[Main]: generateImage(): Could not load image "x_bows_slingshot_steel.png" while building texture; Creating a dummy image ```
flux was assigned by Boot 2024-04-17 17:32:07 +02:00
flux added the
1. kind/bug
3. source/unknown
labels 2024-04-17 20:08:26 +02:00
Member

these aren't mentioned anywhere in the y_bows code, i'm not sure what the source might be.

these aren't mentioned anywhere in the y_bows code, i'm not sure what the source might be.
flux added this to the flux's TODO list project 2024-04-17 20:08:55 +02:00

They are in x_bows. Most likely some item we didn't alias yet.

So far, we had various bow mods:

bows
projectiles
x_bows

They are in x_bows. Most likely some item we didn't alias yet. So far, we had various bow mods: bows projectiles x_bows
Member

They are in x_bows. Most likely some item we didn't alias yet.

those are images, not items, and can't be aliased. the question, is what is referencing x_bows images?

> They are in x_bows. Most likely some item we didn't alias yet. those are images, not items, and can't be aliased. the question, is what is referencing x_bows images?

If we had a position, we could try to go search for suspects :P

If we had a position, we could try to go search for suspects :P
Author
Member

If we had a position, we could try to go search for suspects :P

Try near 2796,47,3594.

> If we had a position, we could try to go search for suspects :P Try near 2796,47,3594.
Member

If we had a position, we could try to go search for suspects :P

Try near 2796,47,3594.

points to /teleport xyz 2797 38 3616

image

> > If we had a position, we could try to go search for suspects :P > > Try near 2796,47,3594. points to /teleport xyz 2797 38 3616 ![image](/attachments/280d8cf2-9cc3-4230-b9b6-45f7156330da)
921 KiB
Member
local p = m.p.rheo:get_pos()
local delta = 32
local p1 = vector.subtract(p, delta)
local p2 = vector.add(p, delta)
local va = VoxelArea(p1, p2)
for i in va:iterp(p1, p2) do
 local p = va:position(i)
 local meta = minetest.get_meta(p)
 local s = dump(meta:to_table())
 if s:match("x_bows") then
  print(m.p2s(p:round()))
 end
end
```lua local p = m.p.rheo:get_pos() local delta = 32 local p1 = vector.subtract(p, delta) local p2 = vector.add(p, delta) local va = VoxelArea(p1, p2) for i in va:iterp(p1, p2) do local p = va:position(i) local meta = minetest.get_meta(p) local s = dump(meta:to_table()) if s:match("x_bows") then print(m.p2s(p:round())) end end ```
Member

image

is x_bows still installed somehow? /mods suggests not. i'm not sure how this old entity is pulling an old texture reference.

![image](/attachments/26432cec-a8f3-4f66-82a8-91959bba8457) is x_bows still installed somehow? `/mods` suggests not. i'm not sure how this old entity is pulling an old texture reference.
Member

the itemframe entity isn't somehow keeping track of the old x_bows image

image

the itemframe entity isn't somehow keeping track of the old x_bows image ![image](/attachments/70362699-f47f-4584-b736-509701d8cca5)
4.5 KiB

x_bows is disabled from world.mt and not included in the solution after update 1.1.124

In the log there is no mention of that mod.

This is what a WE safe of the the position rheo investigated (2797,38,3616) says:

5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["item"] = "x_bows:arrow_steel", ["infotext"] = "Item frame (right-click to add or remove item)"}}, ["x"] = 0, ["param1"] = 136, ["param2"] = 3, ["name"] = "itemframes:frame", ["y"] = 0}}

x_bows, not y_bows

Yes, it does have the wrong item in it, but how would it know where to pull the texture from? Is that stored in the entity? I thought the entities now do not persist over restarts?

Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities?

teleport xyz 2490 3 3269:

5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["item"] = "ethereal:fishing_rod", ["infotext"] = "Item frame (right-click to add or remove item)"}}, ["x"] = 0, ["param1"] = 174, ["param2"] = 4, ["name"] = "itemframes:frame_invis", ["y"] = 0}}

teleport xyz 2657 24 3317:

5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["infotext"] = "\27(T@itemframes)Right-click to add or remove item\27E", ["item"] = "cucina_vegana:coffee_powder"}}, ["x"] = 0, ["param1"] = 175, ["param2"] = 12, ["name"] = "itemframes:frame_invis", ["y"] = 0}}
x_bows is disabled from world.mt and not included in the solution after update 1.1.124 In the log there is no mention of that mod. This is what a WE safe of the the position rheo investigated (2797,38,3616) says: ```json 5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["item"] = "x_bows:arrow_steel", ["infotext"] = "Item frame (right-click to add or remove item)"}}, ["x"] = 0, ["param1"] = 136, ["param2"] = 3, ["name"] = "itemframes:frame", ["y"] = 0}} ``` x_bows, not y_bows Yes, it does have the wrong item in it, but how would it know where to pull the texture from? Is that stored in the entity? I thought the entities now do not persist over restarts? Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities? `teleport xyz 2490 3 3269`: ```json 5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["item"] = "ethereal:fishing_rod", ["infotext"] = "Item frame (right-click to add or remove item)"}}, ["x"] = 0, ["param1"] = 174, ["param2"] = 4, ["name"] = "itemframes:frame_invis", ["y"] = 0}} ``` `teleport xyz 2657 24 3317`: ```json 5:return {{["z"] = 0, ["meta"] = {["inventory"] = {}, ["fields"] = {["infotext"] = "\27(T@itemframes)Right-click to add or remove item\27E", ["item"] = "cucina_vegana:coffee_powder"}}, ["x"] = 0, ["param1"] = 175, ["param2"] = 12, ["name"] = "itemframes:frame_invis", ["y"] = 0}} ```
Author
Member

Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities?
teleport xyz 2490 3 3269:

Yes, but the whole thing seems to me to be a little more complex than just "itemframes showing wrong picture".

It started yesterday when I noticed that the fishing rod had been replaced by a chain. The sherlock tool showed nothing. I immediately wrote to Alias. And suddenly, the chain was gone and a bed was in the frame. Alias came, confirmed to see the bed and looked in the database and confirmed to see the fishing rod there. In the meantime, I had determined where the chain and bed came from, namely from the signs of the harbor tavern, which are now empty. Because of the seemingly spreading damage, I began to examine more frames. The frames at the vendor and in the build tutorial all seemed fine. But already at a signpost, an arrow (coffee powder turned right) had been replaced by a pair of scissors that came from the building tutorial. Alias confirmed again the visual sighting, as well as the unchanged entry in the database. I then preferred to get out of the area before it would get any more confused. I assume that the presence of players is partly responsible for such an effect. After all, I had witnessed the change from chain to bed live.

> Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities? > `teleport xyz 2490 3 3269:` Yes, but the whole thing seems to me to be a little more complex than just "itemframes showing wrong picture". It started yesterday when I noticed that the fishing rod had been replaced by a chain. The sherlock tool showed nothing. I immediately wrote to Alias. And suddenly, the chain was gone and a bed was in the frame. Alias came, confirmed to see the bed and looked in the database and confirmed to see the fishing rod there. In the meantime, I had determined where the chain and bed came from, namely from the signs of the harbor tavern, which are now empty. Because of the seemingly spreading damage, I began to examine more frames. The frames at the vendor and in the build tutorial all seemed fine. But already at a signpost, an arrow (coffee powder turned right) had been replaced by a pair of scissors that came from the building tutorial. Alias confirmed again the visual sighting, as well as the unchanged entry in the database. I then preferred to get out of the area before it would get any more confused. I assume that the presence of players is partly responsible for such an effect. After all, I had witnessed the change from chain to bed live.
Author
Member

After it was original a fishing rod > chain > bed > it is now a beer ...

After it was original a fishing rod > chain > bed > it is now a beer ...
Author
Member

Its now a bed again ...

Its now a bed again ...
Author
Member

The plague is spreading.

screenshot_20240505_095741.jpg

The plague is spreading. ![screenshot_20240505_095741.jpg](/attachments/e2bb0a58-0a56-4aab-8e45-bce9d68301f0)
Author
Member

The bucket is back in Haven and in Rubodyke at the harbour the chain is now to be seen. We are going backwards. Nice.

The bucket is back in Haven and in Rubodyke at the harbour the chain is now to be seen. We are going backwards. Nice.
Member

IMO these are two completely independent issues:

  1. ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image This is most likely not caused by itemframes at all. Creating a dummy image means that mt will create a 1x1 px image with a random color. The screenshots here show correct textures. They cannot be the cause. Aliased items in itemframes work fine.
  2. item frames showing the wrong entities
IMO these are two completely independent issues: 1) `ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image` This is most likely not caused by itemframes at all. `Creating a dummy image` means that mt will create a 1x1 px image with a random color. The screenshots here show correct textures. They cannot be the cause. Aliased items in itemframes work fine. 2) item frames showing the wrong entities
Author
Member

IMO these are two completely independent issues:

Sure they are. I don't know, why Alias wrote here:

Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities?

"wie der Herr, so’s Gescherr" (like master like man) ...

> IMO these are two completely independent issues: Sure they are. I don't know, why Alias wrote here: > Now Boot reports there are two more itemframes showing wrong pictures. Are we deleting the wrong entities? "wie der Herr, so’s Gescherr" (like master like man) ...

This is most likely two parts of the same issue: We delete the wrong entity, because our itemframe-entity-duplication bugfix does not guarantee the right entity deleted, only all-but-the-last the get-objects-in-radius finds

This is most likely two parts of the same issue: We delete the wrong entity, because our itemframe-entity-duplication bugfix does not guarantee the right entity deleted, only all-but-the-last the get-objects-in-radius finds
Author
Member

Ok, the "get-in-radius" explains why the chain and the bed were stolen from the tavern (because they were close to the hook). But still I still don't understand: what does the arrow in Rubodyke Manor have to do with the fishing rod in the harbour (far away) and how does the bucket on the pedestal at the Public Farm in Haven come into play?

Ok, the "get-in-radius" explains why the chain and the bed were stolen from the tavern (because they were close to the hook). But still I still don't understand: what does the arrow in Rubodyke Manor have to do with the fishing rod in the harbour (far away) and how does the bucket on the pedestal at the Public Farm in Haven come into play?

No, this get-radius is limited to 0.5, it cannot or should not drag info from other itemframes in.

However, I cannot properly reproduce the issue. Maybe I need to reset to commit 23bf47b9a9 instead

No, this get-radius is limited to 0.5, it cannot or should not drag info from other itemframes in. However, I cannot properly reproduce the issue. Maybe I need to reset to commit `23bf47b9a9` instead
Member

I still see no connection to missing textures, maybe you mean #6638?

Anyways, I guess I found out what the reason for the wrong items in the frame is:
https://codeberg.org/tenplus1/itemframes/pulls/4 (detailed explaination what happens there).

Note that, even after this fix, wrong itemframe entities will still display the wrong texture.
They must be removed, either by a player/script updating that frame or by the itemframes mechanism to remove duplicated entities.

I still see no connection to missing textures, maybe you mean #6638? Anyways, I guess I found out what the reason for the wrong items in the frame is: https://codeberg.org/tenplus1/itemframes/pulls/4 (detailed explaination what happens there). Note that, even after this fix, wrong itemframe entities will still display the wrong texture. They must be removed, either by a player/script updating that frame or by the itemframes mechanism to remove duplicated entities.
Member

itemframes got updated: 3f249d1032

itemframes got updated: https://codeberg.org/tenplus1/itemframes/commit/3f249d1032c9c492849a9664b56fd3b07f65c3cc
Author
Member

Please don't tell me that I have to find them all and re-set them by hand! Slowly this is destroying everything here. How are you supposed to hold on to a pretzel?
screenshot_20240509_112823.jpg

Please don't tell me that I have to find them all and re-set them by hand! Slowly this is destroying everything here. How are you supposed to hold on to a pretzel? ![screenshot_20240509_112823.jpg](/attachments/dd224f53-df2a-4151-9cb3-a8ccad667d0d)
Owner

the right item is still in the frame, if you take it out and put it back in, it is showing that. but if it is invisible no amount of re-placing it will make it visible. Meanwhile they'll just keep shifting to different things if they're visible.

the right item is still in the frame, if you take it out and put it back in, it is showing that. but if it is invisible no amount of re-placing it will make it visible. Meanwhile they'll just keep shifting to different things if they're visible.
Upstream issue: https://codeberg.org/tenplus1/itemframes/issues/7
AliasAlreadyTaken added this to the 1.1.125 milestone 2024-07-26 23:48:51 +02:00
AliasAlreadyTaken added the
4. step/ready to QA test
label 2024-07-29 16:06:07 +02:00

QA

Several players tested their own areas and so far found no issue.

QA Several players tested their own areas and so far found no issue.
AliasAlreadyTaken added the
4. step/QA OK
4. step/QA main
labels 2024-07-31 17:51:39 +02:00
Member

Let's go back to the original issue:

ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image
ERROR[Main]: generateImage(): Could not load image "x_bows_slingshot_steel.png" while building texture; Creating a dummy image

There was an NPC nearby wielding x_bows items. Itemframes update the texture on each load, but NPC's do not.

Boot told me that, after telling the NPC to wield something else, the errors disappeared.

The original report has nothing to do with itemframes (#6664 (comment)).

Let's go back to the original issue: > ``` > ERROR[Main]: generateImage(): Could not load image "x_bows_ball_rock.png" while building texture; Creating a dummy image > ERROR[Main]: generateImage(): Could not load image "x_bows_slingshot_steel.png" while building texture; Creating a dummy image > ``` There was an NPC nearby wielding x_bows items. Itemframes update the texture on each load, but NPC's do not. Boot told me that, after telling the NPC to wield something else, the errors disappeared. The original report has nothing to do with itemframes (https://gitea.your-land.de/your-land/bugtracker/issues/6664#issuecomment-81238).
AliasAlreadyTaken added
5. result/fixed
and removed
4. step/ready to QA test
labels 2024-11-19 09:33:01 +01:00

Both problems fixed, one ingame, one upstream

Sorry for the confusion

Both problems fixed, one ingame, one upstream Sorry for the confusion
Sign in to join this conversation.
No Milestone
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#6664
No description provided.