Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-220067

Chunk corruption with command block full of certain Unicode characters

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Resolution: Fixed
    • 1.16.5, 21w11a, 1.17 Release Candidate 2, 1.17, 1.17.1, 21w38a, 21w39a, 21w42a, 1.18.1, 1.18.2, 22w17a, 22w18a, 22w19a, 1.19 Pre-release 1, 1.19 Pre-release 2, 1.19 Pre-release 3
    • 1.19 Pre-release 4
    • None
    • Confirmed
    • Chunk loading
    • Very Important

    Description

      The bug

      When a command block is full of characters that take more than 1 byte to store, the chunk that command block is in gets corrupted.

      How to reproduce

      1. Place a command block down.
      2. Copy and paste this symbol "■" into the command block until the command block is full.
      3. Save and quit to title.
      4. Get back in the world.
        The chunk the command block was in is re-generated; resetting everything in it

      Note

      ■ is not the only character this works with.

      Game output error message

      Failed to store chunk [7, 1]
      java.io.UTFDataFormatException: encoded string (■■■■■■■■...■■■■■■■■) too long: 97500 bytes
      	at java.base/java.io.DataOutputStream.writeUTF(DataOutputStream.java:368)
      	at java.base/java.io.DataOutputStream.writeUTF(DataOutputStream.java:332)
      	at nq.a(SourceFile:65)
      	at na.a(SourceFile:415)
      	at na.a(SourceFile:104)
      	at ng.a(SourceFile:81)
      	at na.a(SourceFile:415)
      	at na.a(SourceFile:104)
      	at na.a(SourceFile:415)
      	at na.a(SourceFile:104)
      	at nk.a(SourceFile:95)
      	at nk.a(SourceFile:83)
      	at cnq.a(SourceFile:70)
      	at cnm.a(SourceFile:153)
      	at cnm.a(SourceFile:143)
      	at ara$b.run(SourceFile:61)
      	at aqy.g(SourceFile:91)
      	at aqy.a(SourceFile:146)
      	at aqy.run(SourceFile:102)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
      	at java.base/java.lang.Thread.run(Thread.java:831)
      

      Video

      https://youtu.be/C4t2avl0Dhw
      (Video by Phoenix SC)

      Attachments

        Issue Links

          Activity

            People

              slicedlime [Mojang] slicedlime
              Creeper Juice Creeper Juice
              Votes:
              13 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                CHK: