mojira.dev
MCPE-6790

Painting entities are not removed correctly from the client

If an existing Painting entity is removed, and it is created again using the same Entity ID, it causes a client crash. This behavior is not shown on other entities, where they are created correctly.

This was discovered during world teleporting between different worlds in PocketMine-MP. After reproducing the problem, I discovered that it was caused by the client.

The steps to reproduce it (for developers) are:

  • Create a new painting entity using AddPaintingPacket (0x99)

    99000000020000007e0000004400000081000000010003536561
    Entity ID: 2
    Spawn X: 126
    Spawn Y: 68
    Spawn Z: 129
    Direction: 1
    Title: Sea
  • Remove the entity using RemoveEntityPacket (0x8d)

    8d00000002
    Entity ID: 2
  • Add the painting again using the same packet as the first step (time doesn't matters)

  • Instant crash

Packet values are an example

This could affect MCPE 0.9.0 and infinite worlds, because if an entity is removed from memory, and you return to that area, a crash will happen.

Android devices, and Creative mode is also affected.

Comments 2

If this issue still persists in the current version of Minecraft PE, please update the "Affected Version/s" to reflect this.

If this affects as of currently(0.11.1 or later) please comment. Cannot Reproduce.

[Mojang] Shoghi Cervantes

(Unassigned)

Unconfirmed

Phone - iOS - iPhone 4

crash, memory, painting, protocol

0.8.0, 0.8.1

Retrieved