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

Tile ticks of connected redstone components might be executed in the wrong order when unloading/reloading chunks

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reopened
    • Resolution: Unresolved
    • Affects Version/s: Minecraft 1.4.2, Minecraft 1.4.5, Minecraft 1.4.6, Minecraft 1.4.7, Snapshot 13w03a, Snapshot 13w04a, Snapshot 13w05a, Snapshot 13w05b, Snapshot 13w09b, Snapshot 13w09c, Snapshot 13w10a, Minecraft 1.5, Snapshot 13w11a, Minecraft 1.5.1, Minecraft 1.5.2, Minecraft 1.6.1, Minecraft 1.6.2, Minecraft 1.7.4, Minecraft 14w02c, Minecraft 14w03a, Minecraft 14w03b, Minecraft 1.7.9, Minecraft 14w20b, Minecraft 14w21a, Minecraft 14w21b, Minecraft 1.8, Minecraft 1.8.1-pre3, Minecraft 1.8.1, Minecraft 1.8.2-pre1, Minecraft 1.9.4, Minecraft 1.10, Minecraft 1.10.2, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 1.12.2, Minecraft 17w43a, Minecraft 17w43b, Minecraft 18w03b, Minecraft 18w16a, Minecraft 1.13-pre2, Minecraft 1.13-pre3, Minecraft 1.13-pre6, Minecraft 1.13-pre7, Minecraft 1.13-pre8, Minecraft 1.13, Minecraft 18w31a, Minecraft 1.13.1-pre1, Minecraft 1.13.1-pre2, Minecraft 1.13.1, 1.14.4, 19w37a, 19w38b, 1.15.2, 20w06a, 20w07a, 20w20b, 20w21a, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 20w49a, 20w51a, 1.17.1
    • Fix Version/s: Snapshot 13w10b
    • Confirmation Status:
      Confirmed
    • Category:
      Chunk loading, Redstone
    • Mojang Priority:
      Low

      Description

      The bug

      Sometimes repeater clocks may freeze due to the way tile ticks are saved and updated. Most cases of that already got fixed and it already got a lot better compared to when the issue was created. This happens when the repeaters are in different chunks.

      How to reproduce

      1. Move to a location outside of the spawn chunks. The spawn chunks are close to the location you are when you type /kill without having a bed spawn. Move far away from there.
      2. Hit F3 + G to show chunk borders.
      3. Build a repeater clock in such a way that the repeaters are located in two different chunks.
      4. Now move away from the clock in such a way that the chunk of one repeater is closer than the other. Move away until you can't see either of the repeaters anymore and maybe a little further to be extra sure. You can lower your render distance if you want to make this happening faster.
      5. Now move closer to your clock again. The clock is likely to be stuck now.

      Why this happens

      That happens because when you move away the chunks unload and so do the tile ticks of the repeaters. When you move closer again and the repeater that is in the chunk that was closer to you has a tile tick scheduled for turning on while the other has scheduled a tile tick for turning off, the chunk with the repeater that wants to turn on gets loaded first, the tile tick counts down and gets executed while the other repeater was not loaded the entire time and thus didn't yet turn off. Now both repeaters are turned on and the clock is broken.

      This is certainly not easy to fix. I think in order to fix this, tile ticks need to be overhauled in general. A system where tile ticks can be "connected" so that if one of them is loaded, the other gets loaded as well might be an option.

        Attachments

        1. 14w21b World(MC-711 Redstone Bug Test.zip) after tp.png
          794 kB
          [Mod] Marcono1234
        2. 2012-10-26_06.10.04.png
          670 kB
          nick pomroy
        3. 2012-10-28_03.49.28.png
          195 kB
          nick pomroy
        4. 2012-10-28_03.49.48.png
          127 kB
          nick pomroy
        5. 2015-01-30_22.01.20.png
          75 kB
          Irritated Gamer
        6. 2015-01-30_22.01.25.png
          81 kB
          Irritated Gamer
        7. 2015-01-30_22.01.33.png
          67 kB
          Irritated Gamer
        8. 2015-01-30_22.01.39.png
          102 kB
          Irritated Gamer
        9. 2015-01-30_22.01.46.png
          68 kB
          Irritated Gamer
        10. 2015-01-30_22.02.14.png
          203 kB
          Irritated Gamer
        11. 2019-09-18_12.47.35.png
          722 kB
          [Mod] NeunEinser
        12. chunk-middle-problem-01-basic-setup-repeaters.png
          158 kB
          The.Modificator
        13. chunk-middle-problem-02-repeaters-behavior.png
          290 kB
          The.Modificator
        14. chunk-middle-problem-03-wire-behavior.png
          335 kB
          The.Modificator
        15. chunk-middle-problem-04-comparator-behavior.png
          267 kB
          The.Modificator
        16. chunk-middle-problem-05-setup-piston-pushing-redstone-blocks.png
          358 kB
          The.Modificator
        17. chunk-middle-problem-06-piston-pushing-redstone-blocks-behavior.png
          269 kB
          The.Modificator
        18. comparator-stuck.png
          72 kB
          The.Modificator
        19. crash-2012-12-18_20.41.48-client.txt
          3 kB
          Abandoned account
        20. crash-2013-01-24_22.15.08-client.txt
          4 kB
          John Stewart
        21. crash-2013-01-31_20.06.55-client.txt
          10 kB
          John Stewart
        22. Frozen repeaters.jpg
          131 kB
          Megan
        23. stuck-repeater-clock.png
          186 kB
          [Mod] NeunEinser

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              Schortan [Mod] NeunEinser
              Votes:
              125 Vote for this issue
              Watchers:
              34 Start watching this issue

                Dates

                Created:
                Updated:
                CHK: