Hopper hashing
Definition
Hopper hashing occurs when a device depends on a specific ticking order of hoppers for operation. This is a problem because hoppers are block entities, which are ticked in a location dependent but unpredictable order after the chunk it is in is reloaded. A device that relies on this order can fail unexpectedly after server restart or when placed in different locations.
More Details
This occurs because the block entity list ChunkAccess.blockEntities is a Object2ObjectOpenHashMap which doesn't guarantee order. The actual block entity ticking list is order preserving but it is filled from the ChunkAccess.blockEntities list when the chunk is loaded so the order gets scrambled. You can't really reliably predict the order because it also depends on other block entities in the list.