Program: 175810
Project: 175810
Buggy source:
public synchronized void setSkel(PlanSkeleton _,SuperFace sft_){
  BlockApp ba=ass.get(BlockApp.class,this);
  if (skirtG != null)   skirtG.removeFromParent();
  if (ba.skirtTexture != null) {
    Quad skirt=new Quad(ba.skirt.widthF(),ba.skirt.heightF());
    skirtG=new Geometry("String_Node_Str",skirt);
    skirtG.setMaterial(GreebleGrid.buildTextureMaterial(tweed,ba.skirtTexture));
    skirtG.setLocalTranslation(ba.skirt.xF(),0,ba.skirt.yF() + ba.skirt.heightF());
    skirtG.setLocalRotation(new Quaternion(new float[]{(float)-Math.PI / 2f,0,0}));
    gNode.attachChild(skirtG);
  }
  if (sft_ != null)   ass.get(BuildingApp.class,sft_).isDirty=true;
  for (  HalfFace hf : block) {
    SuperFace sf=(SuperFace)hf;
    BuildingApp sfa=ass.get(BuildingApp.class,sf);
    if (sfa.isDirty) {
      for (      HalfEdge he : sf) {
        SuperEdge se=(SuperEdge)he;
        ensureMF(sf,se);
      }
      sfa.isDirty=false;
      removeGeometryFor(sf);
      Node house;
      OnClick onclick=new OnClick(){
        @Override public void selected(        Output output,        Node house2,        SuperEdge se,        Object ha){
          SkelGen.this.textureSelected(sf.skel,sf,ha);
        }
      }
;
      GreebleSkel greeble=new GreebleSkel(tweed,ass,sf);
      greeble.occluderLookup=lastOccluders;
      house=greeble.showSkeleton(sf.skel.output,onclick,sf.mr);
      gNode.attachChild(house);
      geometry.get(sf).set(house,sf.skel.output,sf.skel);
      tweed.getRootNode().updateGeometricState();
      tweed.getRootNode().updateModelBound();
      tweed.gainFocus();
    }
  }
}

Fixed version (ground truth):
public synchronized void setSkel(PlanSkeleton _,SuperFace sft_){
  BlockApp ba=ass.get(BlockApp.class,this);
  if (skirtG != null)   skirtG.removeFromParent();
  if (ba.skirtTexture != null) {
    Quad skirt=new Quad(ba.skirt.widthF(),ba.skirt.heightF());
    skirtG=new Geometry("String_Node_Str",skirt);
    skirtG.setMaterial(GreebleGrid.buildTextureMaterial(tweed,ba.skirtTexture));
    skirtG.setLocalTranslation(ba.skirt.xF(),0,ba.skirt.yF() + ba.skirt.heightF());
    skirtG.setLocalRotation(new Quaternion(new float[]{(float)-Math.PI / 2f,0,0}));
    gNode.attachChild(skirtG);
  }
  if (sft_ != null)   ass.get(BuildingApp.class,sft_).markGeometryDirty(ass);
  for (  HalfFace hf : block) {
    SuperFace sf=(SuperFace)hf;
    BuildingApp sfa=ass.get(BuildingApp.class,sf);
    if (sfa.isGeometryDirty) {
      for (      HalfEdge he : sf) {
        SuperEdge se=(SuperEdge)he;
        ensureMF(sf,se);
      }
      sfa.isGeometryDirty=false;
      removeGeometryFor(sf);
      Node house;
      OnClick onclick=new OnClick(){
        @Override public void selected(        Output output,        Node house2,        SuperEdge se,        Object ha){
          SkelGen.this.textureSelected(sf.skel,sf,ha);
        }
      }
;
      GreebleSkel greeble=new GreebleSkel(tweed,ass,sf);
      greeble.occluderLookup=lastOccluders;
      house=greeble.showSkeleton(sf.skel.output,onclick,sf.mr);
      gNode.attachChild(house);
      geometry.get(sf).set(house,sf.skel.output,sf.skel);
      tweed.getRootNode().updateGeometricState();
      tweed.getRootNode().updateModelBound();
      tweed.gainFocus();
    }
  }
}