Menu ▾ ▴

#925 Container faces stuck open

2.x
open
server (385)
invidious
5
2025-06-09
2022-07-03
Kevin Zheng
No

It was known that this issue occasionally happened with containers. We are now aware of a way to reliably reproduce it:

  1. Open a container. I used a cauldron in testing. It doesn't matter if it's on the floor or in your inventory. Make sure it's open (not just active).
  2. Disconnect the client.

The face of the container is now stuck open.

Discussion

  • Nicolas Weeger

    Nicolas Weeger - 2022-07-03

    Should be fixed in 3614700614c6e85d7b913d946a3ffb20c641a4e6, thanks for giving a reliable way to reproduce :)

     
  • Nicolas Weeger

    Nicolas Weeger - 2022-07-03
    • status: open --> patched
     
  • Kevin Zheng

    Kevin Zheng - 2022-07-04

    Related bug reported by Hexer. Adding to this ticket because I'm not sure if it's related, or if your fix has already fixed this:

    1. Open a container on the ground.
    2. Disconnect the client.
    3. Log back in and move off the container. Don't move back to the square that the container is on.
    4. Use the drop command to drop an item (e.g. "drop ruby").

    The dropped item ends up in the cauldron, which you are not currently standing over.

    For extra fun, wait long enough before step 3 that the map the container was on get swapped. Then log back in drop the item. Hexer reports that this results in "You put the X in the (null)".

     
  • Nicolas Weeger

    Nicolas Weeger - 2022-07-05

    I think my fix also covers that bug. I saw it before, but couldn't reproduce after.

    So until it's again reproduced with my fix, let's suppose it's fine ;)

     
  • Nicolas Weeger

    Nicolas Weeger - 2022-10-29
    • status: patched --> closed
     
  • Kevin Zheng

    Kevin Zheng - 2025-06-09
    • status: closed --> open
     
  • Kevin Zheng

    Kevin Zheng - 2025-06-09

    This bug is back, so I'm reopening this.

    Steps To Reproduce

    1. Get a container, e.g. create pouch
    2. Open it, so that the face shows open, e.g. by middle clicking it twice in GTK v2
    3. Disconnect or apply a bed to reality
    4. On next login, the pouch is stuck with an open face

    Analysis

    This probably regressed when someone changed some code in container opening.

    While the container is open, the face is set to the other_arch face. It is supposed to be restored when it is closed again, but if a player is disconnected/leaves then the object is diff'ed in its open state and saved with its face as the open face.

    One solution is to close the container before a player logs out. But the code is very messy.

     

Log in to post a comment.