Program: 26585
Project: 26585
Buggy source:
private void compile(){
  ClassWriter cw=new ClassWriter(ClassWriter.COMPUTE_MAXS);
  ClassVisitor cv=new TraceClassVisitor(new CheckClassAdapter(cw),new PrintWriter(System.out));
  cv.visit(V1_5,ACC_PUBLIC,internalName,null,isVariadic() ? "String_Node_Str" : "String_Node_Str",null);
  String source=(String)SOURCE.get();
  if (source != null)   cv.visitSource(source,null);
  for (ISeq s=RT.keys(keywords); s != null; s=s.rest()) {
    Keyword k=(Keyword)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL + ACC_STATIC,munge(k.sym.toString()),KEYWORD_TYPE.getDescriptor(),null,null);
  }
  for (ISeq s=RT.keys(vars); s != null; s=s.rest()) {
    Var v=(Var)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL + ACC_STATIC,munge(v.sym.toString()),VAR_TYPE.getDescriptor(),null,null);
  }
  GeneratorAdapter clinitgen=new GeneratorAdapter(ACC_PUBLIC + ACC_STATIC,Method.getMethod("String_Node_Str"),null,null,cv);
  clinitgen.visitCode();
  for (ISeq s=RT.keys(keywords); s != null; s=s.rest()) {
    Keyword k=(Keyword)s.first();
    clinitgen.push(k.sym.ns);
    clinitgen.push(k.sym.name);
    clinitgen.invokeStatic(KEYWORD_TYPE,kwintern);
    clinitgen.putStatic(fntype,munge(k.sym.toString()),KEYWORD_TYPE);
  }
  for (ISeq s=RT.keys(vars); s != null; s=s.rest()) {
    Var v=(Var)s.first();
    clinitgen.push(v.sym.ns);
    clinitgen.push(v.sym.name);
    clinitgen.invokeStatic(SYMBOL_TYPE,symcreate);
    clinitgen.invokeStatic(VAR_TYPE,varintern);
    clinitgen.putStatic(fntype,munge(v.sym.toString()),VAR_TYPE);
  }
  clinitgen.returnValue();
  clinitgen.endMethod();
  for (ISeq s=RT.keys(closes); s != null; s=s.rest()) {
    LocalBinding lb=(LocalBinding)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL,lb.name,OBJECT_TYPE.getDescriptor(),null,null);
  }
  Method m=new Method("String_Node_Str",Type.VOID_TYPE,ARG_TYPES[closes.count()]);
  GeneratorAdapter ctorgen=new GeneratorAdapter(ACC_PUBLIC,m,null,null,cv);
  ctorgen.visitCode();
  ctorgen.loadThis();
  if (isVariadic()) {
    ctorgen.push(variadicMethod.reqParms.count());
    ctorgen.invokeConstructor(restFnType,restfnctor);
  }
 else   ctorgen.invokeConstructor(aFnType,afnctor);
  int a=1;
  for (ISeq s=RT.keys(closes); s != null; s=s.rest(), ++a) {
    LocalBinding lb=(LocalBinding)s.first();
    ctorgen.visitVarInsn(OBJECT_TYPE.getOpcode(Opcodes.ILOAD),a);
    ctorgen.putField(fntype,lb.name,OBJECT_TYPE);
  }
  ctorgen.returnValue();
  ctorgen.endMethod();
  for (ISeq s=RT.seq(methods); s != null; s=s.rest()) {
    FnMethod method=(FnMethod)s.first();
    method.emit(this,cv);
  }
  cv.visitEnd();
  DynamicClassLoader loader=(DynamicClassLoader)LOADER.get();
  compiledClass=loader.defineClass(name,cw.toByteArray());
}

Fixed version (ground truth):
private void compile(){
  ClassWriter cw=new ClassWriter(ClassWriter.COMPUTE_MAXS);
  ClassVisitor cv=new TraceClassVisitor(new CheckClassAdapter(cw),new PrintWriter(System.out));
  cv.visit(V1_5,ACC_PUBLIC,internalName,null,isVariadic() ? "String_Node_Str" : "String_Node_Str",null);
  String source=(String)SOURCE.get();
  if (source != null)   cv.visitSource(source,null);
  for (ISeq s=RT.keys(keywords); s != null; s=s.rest()) {
    Keyword k=(Keyword)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL + ACC_STATIC,munge(k.sym.toString()),KEYWORD_TYPE.getDescriptor(),null,null);
  }
  for (ISeq s=RT.keys(vars); s != null; s=s.rest()) {
    Var v=(Var)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL + ACC_STATIC,munge(v.sym.toString()),VAR_TYPE.getDescriptor(),null,null);
  }
  GeneratorAdapter clinitgen=new GeneratorAdapter(ACC_PUBLIC + ACC_STATIC,Method.getMethod("String_Node_Str"),null,null,cv);
  clinitgen.visitCode();
  for (ISeq s=RT.keys(keywords); s != null; s=s.rest()) {
    Keyword k=(Keyword)s.first();
    clinitgen.push(k.sym.ns);
    clinitgen.push(k.sym.name);
    clinitgen.invokeStatic(KEYWORD_TYPE,kwintern);
    clinitgen.putStatic(fntype,munge(k.sym.toString()),KEYWORD_TYPE);
  }
  for (ISeq s=RT.keys(vars); s != null; s=s.rest()) {
    Var v=(Var)s.first();
    clinitgen.push(v.sym.ns);
    clinitgen.push(v.sym.name);
    clinitgen.invokeStatic(SYMBOL_TYPE,symcreate);
    clinitgen.invokeStatic(VAR_TYPE,varintern);
    clinitgen.putStatic(fntype,munge(v.sym.toString()),VAR_TYPE);
  }
  clinitgen.returnValue();
  clinitgen.endMethod();
  for (ISeq s=RT.keys(closes); s != null; s=s.rest()) {
    LocalBinding lb=(LocalBinding)s.first();
    cv.visitField(ACC_PUBLIC + ACC_FINAL,lb.name,OBJECT_TYPE.getDescriptor(),null,null);
  }
  Method m=new Method("String_Node_Str",Type.VOID_TYPE,ARG_TYPES[closes.count()]);
  GeneratorAdapter ctorgen=new GeneratorAdapter(ACC_PUBLIC,m,null,null,cv);
  ctorgen.visitCode();
  ctorgen.loadThis();
  if (isVariadic()) {
    ctorgen.push(variadicMethod.reqParms.count());
    ctorgen.invokeConstructor(restFnType,restfnctor);
  }
 else   ctorgen.invokeConstructor(aFnType,afnctor);
  int a=1;
  for (ISeq s=RT.keys(closes); s != null; s=s.rest(), ++a) {
    LocalBinding lb=(LocalBinding)s.first();
    ctorgen.loadThis();
    ctorgen.visitVarInsn(OBJECT_TYPE.getOpcode(Opcodes.ILOAD),a);
    ctorgen.putField(fntype,lb.name,OBJECT_TYPE);
  }
  ctorgen.returnValue();
  ctorgen.endMethod();
  for (ISeq s=RT.seq(methods); s != null; s=s.rest()) {
    FnMethod method=(FnMethod)s.first();
    method.emit(this,cv);
  }
  cv.visitEnd();
  DynamicClassLoader loader=(DynamicClassLoader)LOADER.get();
  compiledClass=loader.defineClass(name,cw.toByteArray());
}