Program: 30763
Project: 30763
Buggy source:
public SymbolMapWriter(CairoConfiguration configuration,Path path,CharSequence name,int symbolCount){
  final int plen=path.length();
  try {
    final FilesFacade ff=configuration.getFilesFacade();
    final long mapPageSize=ff.getMapPageSize();
    offsetFileName(path.trimTo(plen),name);
    if (!ff.exists(path)) {
      LOG.error().$(path).$("String_Node_Str").$();
      throw CairoException.instance(0).put("String_Node_Str").put(path);
    }
    long len=ff.length(path);
    if (len < HEADER_SIZE) {
      LOG.error().$(path).$("String_Node_Str").$(len).$(']').$();
      throw CairoException.instance(0).put("String_Node_Str").put(path);
    }
    this.offsetMem=new ReadWriteMemory(ff,path,mapPageSize);
    final int symbolCapacity=offsetMem.getInt(0);
    final boolean useCache=offsetMem.getBool(4);
    long jumpTarget=keyToOffset(symbolCount);
    this.offsetMem.jumpTo(jumpTarget);
    this.indexWriter=new BitmapIndexWriter(configuration,path.trimTo(plen),name);
    this.charMem=new ReadWriteMemory(ff,charFileName(path.trimTo(plen),name),mapPageSize);
    jumpCharMemToSymbolCount(symbolCount);
    this.maxHash=Numbers.ceilPow2(symbolCapacity / 2) - 1;
    if (useCache) {
      this.cache=new CharSequenceIntHashMap(symbolCapacity);
    }
 else {
      this.cache=null;
    }
    LOG.info().$("String_Node_Str").$(path.trimTo(plen).concat(name).$()).$("String_Node_Str").$(this.offsetMem.getFd()).$("String_Node_Str").$(cache != null).$("String_Node_Str").$(symbolCapacity).$(']').$();
    if (jumpTarget < len) {
      rollback(symbolCount);
    }
  }
 catch (  CairoException e) {
    close();
    throw e;
  }
 finally {
    path.trimTo(plen);
  }
}

Fixed version (ground truth):
public SymbolMapWriter(CairoConfiguration configuration,Path path,CharSequence name,int symbolCount){
  final int plen=path.length();
  try {
    final FilesFacade ff=configuration.getFilesFacade();
    final long mapPageSize=ff.getMapPageSize();
    offsetFileName(path.trimTo(plen),name);
    if (!ff.exists(path)) {
      LOG.error().$(path).$("String_Node_Str").$();
      throw CairoException.instance(0).put("String_Node_Str").put(path);
    }
    long len=ff.length(path);
    if (len < HEADER_SIZE) {
      LOG.error().$(path).$("String_Node_Str").$(len).$(']').$();
      throw CairoException.instance(0).put("String_Node_Str").put(path);
    }
    this.offsetMem=new ReadWriteMemory(ff,path,mapPageSize);
    final int symbolCapacity=offsetMem.getInt(0);
    final boolean useCache=offsetMem.getBool(4);
    this.offsetMem.jumpTo(keyToOffset(symbolCount));
    this.indexWriter=new BitmapIndexWriter(configuration,path.trimTo(plen),name);
    this.charMem=new ReadWriteMemory(ff,charFileName(path.trimTo(plen),name),mapPageSize);
    jumpCharMemToSymbolCount(symbolCount);
    this.maxHash=Numbers.ceilPow2(symbolCapacity / 2) - 1;
    if (useCache) {
      this.cache=new CharSequenceIntHashMap(symbolCapacity);
    }
 else {
      this.cache=null;
    }
    LOG.info().$("String_Node_Str").$(path.trimTo(plen).concat(name).$()).$("String_Node_Str").$(this.offsetMem.getFd()).$("String_Node_Str").$(cache != null).$("String_Node_Str").$(symbolCapacity).$(']').$();
  }
 catch (  CairoException e) {
    close();
    throw e;
  }
 finally {
    path.trimTo(plen);
  }
}