Program: 1305
Project: 1305
Buggy source:
/** 
 * Initializes a new world for the single player mode.
 * @param title The title/description of the world
 * @param seed The seed string used to genrate the terrain
 * @param p The player
 */
public World(String title,String seed,Player p){
  this._player=p;
  _rand=new FastRandom(seed.hashCode());
  _chunks=new Chunk[(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.x][(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.y][(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.z];
  _generatorTerrain=new GeneratorTerrain(seed);
  _generatorForest=new GeneratorForest(seed);
  _updateThread=new Thread(new Runnable(){
    @Override public void run(){
      long timeStart=System.currentTimeMillis();
      Logger.getLogger(this.getClass().getName()).log(Level.INFO,"String_Node_Str");
      for (int x=0; x < Configuration.VIEWING_DISTANCE_IN_CHUNKS.x; x++) {
        for (int z=0; z < Configuration.VIEWING_DISTANCE_IN_CHUNKS.z; z++) {
          Chunk c=loadOrCreateChunk(x,z);
          _chunks[x][0][z]=c;
          queueChunkForUpdate(c,0);
        }
      }
      _worldGenerated=true;
      _player.resetPlayer();
      Logger.getLogger(this.getClass().getName()).log(Level.INFO,"String_Node_Str",(System.currentTimeMillis() - timeStart) / 1000d);
      while (true) {
        ArrayList<Chunk> sortedUpdates=new ArrayList<Chunk>(_chunkUpdateNormal);
        Collections.sort(sortedUpdates);
        for (int i=0; i < 16; i++) {
          if (sortedUpdates.size() > 0 && _chunkUpdateImportant.isEmpty()) {
            Chunk c=sortedUpdates.remove(0);
            _chunkUpdateNormal.remove(c);
            processChunk(c);
          }
 else {
            Chunk c=_chunkUpdateImportant.poll();
            processChunk(c);
          }
        }
      }
    }
  }
);
  _worldThread=new Thread(new Runnable(){
    @Override public void run(){
      while (true) {
        updateInfWorld();
        updateDaytime();
      }
    }
  }
);
  _updateThread.start();
  _worldThread.start();
}

Fixed version (ground truth):
/** 
 * Initializes a new world for the single player mode.
 * @param title The title/description of the world
 * @param seed The seed string used to genrate the terrain
 * @param p The player
 */
public World(String title,String seed,Player p){
  this._player=p;
  _rand=new FastRandom(seed.hashCode());
  _chunks=new Chunk[(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.x][(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.y][(int)Configuration.VIEWING_DISTANCE_IN_CHUNKS.z];
  _generatorTerrain=new GeneratorTerrain(seed);
  _generatorForest=new GeneratorForest(seed);
  _updateThread=new Thread(new Runnable(){
    @Override public void run(){
      long timeStart=System.currentTimeMillis();
      Logger.getLogger(this.getClass().getName()).log(Level.INFO,"String_Node_Str");
      for (int x=0; x < Configuration.VIEWING_DISTANCE_IN_CHUNKS.x; x++) {
        for (int z=0; z < Configuration.VIEWING_DISTANCE_IN_CHUNKS.z; z++) {
          Chunk c=loadOrCreateChunk(x,z);
          _chunks[x][0][z]=c;
          queueChunkForUpdate(c,0);
        }
      }
      _worldGenerated=true;
      _player.resetPlayer();
      Logger.getLogger(this.getClass().getName()).log(Level.INFO,"String_Node_Str",(System.currentTimeMillis() - timeStart) / 1000d);
      while (true) {
        ArrayList<Chunk> sortedUpdates=new ArrayList<Chunk>(_chunkUpdateNormal);
        Collections.sort(sortedUpdates);
        for (int i=0; i < 8; i++) {
          if (sortedUpdates.size() > 0 && _chunkUpdateImportant.isEmpty()) {
            Chunk c=sortedUpdates.remove(0);
            _chunkUpdateNormal.remove(c);
            processChunk(c);
          }
 else {
            Chunk c=_chunkUpdateImportant.poll();
            processChunk(c);
          }
        }
      }
    }
  }
);
  _worldThread=new Thread(new Runnable(){
    @Override public void run(){
      while (true) {
        updateInfWorld();
        updateDaytime();
      }
    }
  }
);
  _updateThread.start();
  _worldThread.start();
}