Program: 195610
Project: 195610
Buggy source:
void dump(PrintWriter pw,String prefix){
  final long now=SystemClock.uptimeMillis();
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(userId);
  pw.print("String_Node_Str");
  pw.print(info.uid);
  if (uid != info.uid) {
    pw.print("String_Node_Str");
    pw.print(uid);
  }
  pw.println();
  if (info.className != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(info.className);
  }
  if (info.manageSpaceActivityName != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(info.manageSpaceActivityName);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(info.sourceDir);
  pw.print("String_Node_Str");
  pw.print(info.publicSourceDir);
  pw.print("String_Node_Str");
  pw.println(info.dataDir);
  pw.print(prefix);
  pw.print("String_Node_Str");
  for (int i=0; i < pkgList.size(); i++) {
    if (i > 0)     pw.print("String_Node_Str");
    pw.print(pkgList.keyAt(i));
  }
  pw.println("String_Node_Str");
  if (pkgDeps != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    for (int i=0; i < pkgDeps.size(); i++) {
      if (i > 0)       pw.print("String_Node_Str");
      pw.print(pkgDeps.valueAt(i));
    }
    pw.println("String_Node_Str");
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(compat);
  if (instrumentationClass != null || instrumentationProfileFile != null || instrumentationArguments != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(instrumentationClass);
    pw.print("String_Node_Str");
    pw.println(instrumentationProfileFile);
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(instrumentationArguments);
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(instrumentationInfo);
    if (instrumentationInfo != null) {
      instrumentationInfo.dump(new PrintWriterPrinter(pw),prefix + "String_Node_Str");
    }
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(thread);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(pid);
  pw.print("String_Node_Str");
  pw.println(starting);
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastActivityTime,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastPssTime,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(nextPssTime,now,pw);
  pw.println();
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(adjSeq);
  pw.print("String_Node_Str");
  pw.print(lruSeq);
  pw.print("String_Node_Str");
  pw.print(lastPss);
  pw.print("String_Node_Str");
  pw.println(lastCachedPss);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(cached);
  pw.print("String_Node_Str");
  pw.println(empty);
  if (serviceb) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(serviceb);
    pw.print("String_Node_Str");
    pw.println(serviceHighRam);
  }
  if (notCachedSinceIdle) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(notCachedSinceIdle);
    pw.print("String_Node_Str");
    pw.println(initialIdlePss);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(maxAdj);
  pw.print("String_Node_Str");
  pw.print(curRawAdj);
  pw.print("String_Node_Str");
  pw.print(setRawAdj);
  pw.print("String_Node_Str");
  pw.print(curAdj);
  pw.print("String_Node_Str");
  pw.println(setAdj);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(curSchedGroup);
  pw.print("String_Node_Str");
  pw.print(setSchedGroup);
  pw.print("String_Node_Str");
  pw.print(systemNoUi);
  pw.print("String_Node_Str");
  pw.println(trimMemoryLevel);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(curProcState);
  pw.print("String_Node_Str");
  pw.print(repProcState);
  pw.print("String_Node_Str");
  pw.print(pssProcState);
  pw.print("String_Node_Str");
  pw.print(setProcState);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastStateTime,now,pw);
  pw.println();
  if (hasShownUi || pendingUiClean || hasAboveClient|| treatLikeActivity) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(hasShownUi);
    pw.print("String_Node_Str");
    pw.print(pendingUiClean);
    pw.print("String_Node_Str");
    pw.print(hasAboveClient);
    pw.print("String_Node_Str");
    pw.println(treatLikeActivity);
  }
  if (setIsForeground || foregroundServices || forcingToForeground != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(setIsForeground);
    pw.print("String_Node_Str");
    pw.print(foregroundServices);
    pw.print("String_Node_Str");
    pw.println(forcingToForeground);
  }
  if (persistent || removed) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(persistent);
    pw.print("String_Node_Str");
    pw.println(removed);
  }
  if (hasClientActivities || foregroundActivities || repForegroundActivities) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(hasClientActivities);
    pw.print("String_Node_Str");
    pw.print(foregroundActivities);
    pw.print("String_Node_Str");
    pw.print(repForegroundActivities);
    pw.println("String_Node_Str");
  }
  if (hasStartedServices) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(hasStartedServices);
  }
  if (setProcState >= ActivityManager.PROCESS_STATE_SERVICE) {
    long wtime;
synchronized (mBatteryStats) {
      wtime=mBatteryStats.getProcessWakeTime(info.uid,pid,SystemClock.elapsedRealtime());
    }
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(lastWakeTime);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(wtime - lastWakeTime,pw);
    pw.println("String_Node_Str");
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(lastCpuTime);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(curCpuTime - lastCpuTime,pw);
    pw.println("String_Node_Str");
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastRequestedGc,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastLowMemory,now,pw);
  pw.print("String_Node_Str");
  pw.println(reportLowMemory);
  if (killed || killedByAm || waitingToKill != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(killed);
    pw.print("String_Node_Str");
    pw.print(killedByAm);
    pw.print("String_Node_Str");
    pw.println(waitingToKill);
  }
  if (debugging || crashing || crashDialog != null || notResponding || anrDialog != null || bad) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(debugging);
    pw.print("String_Node_Str");
    pw.print(crashing);
    pw.print("String_Node_Str");
    pw.print(crashDialog);
    pw.print("String_Node_Str");
    pw.print(notResponding);
    pw.print("String_Node_Str");
    pw.print(anrDialog);
    pw.print("String_Node_Str");
    pw.print(bad);
    if (errorReportReceiver != null) {
      pw.print("String_Node_Str");
      pw.print(errorReportReceiver.flattenToShortString());
    }
    pw.println();
  }
  if (activities.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < activities.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(activities.get(i));
    }
  }
  if (services.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < services.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(services.valueAt(i));
    }
  }
  if (executingServices.size() > 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(execServicesFg);
    pw.println("String_Node_Str");
    for (int i=0; i < executingServices.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(executingServices.valueAt(i));
    }
  }
  if (connections.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < connections.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(connections.valueAt(i));
    }
  }
  if (pubProviders.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < pubProviders.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(pubProviders.keyAt(i));
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(pubProviders.valueAt(i));
    }
  }
  if (conProviders.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < conProviders.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(conProviders.get(i).toShortString());
    }
  }
  if (curReceiver != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(curReceiver);
  }
  if (receivers.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < receivers.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(receivers.valueAt(i));
    }
  }
}

Fixed version (ground truth):
void dump(PrintWriter pw,String prefix){
  final long now=SystemClock.uptimeMillis();
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(userId);
  pw.print("String_Node_Str");
  pw.print(info.uid);
  if (uid != info.uid) {
    pw.print("String_Node_Str");
    pw.print(uid);
  }
  pw.print("String_Node_Str");
  if (gids != null) {
    for (int gi=0; gi < gids.length; gi++) {
      if (gi != 0)       pw.print("String_Node_Str");
      pw.print(gids[gi]);
    }
  }
  pw.println("String_Node_Str");
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(requiredAbi);
  pw.print("String_Node_Str");
  pw.println(instructionSet);
  if (info.className != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(info.className);
  }
  if (info.manageSpaceActivityName != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(info.manageSpaceActivityName);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(info.sourceDir);
  pw.print("String_Node_Str");
  pw.print(info.publicSourceDir);
  pw.print("String_Node_Str");
  pw.println(info.dataDir);
  pw.print(prefix);
  pw.print("String_Node_Str");
  for (int i=0; i < pkgList.size(); i++) {
    if (i > 0)     pw.print("String_Node_Str");
    pw.print(pkgList.keyAt(i));
  }
  pw.println("String_Node_Str");
  if (pkgDeps != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    for (int i=0; i < pkgDeps.size(); i++) {
      if (i > 0)       pw.print("String_Node_Str");
      pw.print(pkgDeps.valueAt(i));
    }
    pw.println("String_Node_Str");
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(compat);
  if (instrumentationClass != null || instrumentationProfileFile != null || instrumentationArguments != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(instrumentationClass);
    pw.print("String_Node_Str");
    pw.println(instrumentationProfileFile);
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(instrumentationArguments);
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(instrumentationInfo);
    if (instrumentationInfo != null) {
      instrumentationInfo.dump(new PrintWriterPrinter(pw),prefix + "String_Node_Str");
    }
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.println(thread);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(pid);
  pw.print("String_Node_Str");
  pw.println(starting);
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastActivityTime,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastPssTime,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(nextPssTime,now,pw);
  pw.println();
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(adjSeq);
  pw.print("String_Node_Str");
  pw.print(lruSeq);
  pw.print("String_Node_Str");
  pw.print(lastPss);
  pw.print("String_Node_Str");
  pw.println(lastCachedPss);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(cached);
  pw.print("String_Node_Str");
  pw.println(empty);
  if (serviceb) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(serviceb);
    pw.print("String_Node_Str");
    pw.println(serviceHighRam);
  }
  if (notCachedSinceIdle) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(notCachedSinceIdle);
    pw.print("String_Node_Str");
    pw.println(initialIdlePss);
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(maxAdj);
  pw.print("String_Node_Str");
  pw.print(curRawAdj);
  pw.print("String_Node_Str");
  pw.print(setRawAdj);
  pw.print("String_Node_Str");
  pw.print(curAdj);
  pw.print("String_Node_Str");
  pw.println(setAdj);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(curSchedGroup);
  pw.print("String_Node_Str");
  pw.print(setSchedGroup);
  pw.print("String_Node_Str");
  pw.print(systemNoUi);
  pw.print("String_Node_Str");
  pw.println(trimMemoryLevel);
  pw.print(prefix);
  pw.print("String_Node_Str");
  pw.print(curProcState);
  pw.print("String_Node_Str");
  pw.print(repProcState);
  pw.print("String_Node_Str");
  pw.print(pssProcState);
  pw.print("String_Node_Str");
  pw.print(setProcState);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastStateTime,now,pw);
  pw.println();
  if (hasShownUi || pendingUiClean || hasAboveClient|| treatLikeActivity) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(hasShownUi);
    pw.print("String_Node_Str");
    pw.print(pendingUiClean);
    pw.print("String_Node_Str");
    pw.print(hasAboveClient);
    pw.print("String_Node_Str");
    pw.println(treatLikeActivity);
  }
  if (setIsForeground || foregroundServices || forcingToForeground != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(setIsForeground);
    pw.print("String_Node_Str");
    pw.print(foregroundServices);
    pw.print("String_Node_Str");
    pw.println(forcingToForeground);
  }
  if (persistent || removed) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(persistent);
    pw.print("String_Node_Str");
    pw.println(removed);
  }
  if (hasClientActivities || foregroundActivities || repForegroundActivities) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(hasClientActivities);
    pw.print("String_Node_Str");
    pw.print(foregroundActivities);
    pw.print("String_Node_Str");
    pw.print(repForegroundActivities);
    pw.println("String_Node_Str");
  }
  if (hasStartedServices) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(hasStartedServices);
  }
  if (setProcState >= ActivityManager.PROCESS_STATE_SERVICE) {
    long wtime;
synchronized (mBatteryStats) {
      wtime=mBatteryStats.getProcessWakeTime(info.uid,pid,SystemClock.elapsedRealtime());
    }
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(lastWakeTime);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(wtime - lastWakeTime,pw);
    pw.println("String_Node_Str");
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(lastCpuTime);
    pw.print("String_Node_Str");
    TimeUtils.formatDuration(curCpuTime - lastCpuTime,pw);
    pw.println("String_Node_Str");
  }
  pw.print(prefix);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastRequestedGc,now,pw);
  pw.print("String_Node_Str");
  TimeUtils.formatDuration(lastLowMemory,now,pw);
  pw.print("String_Node_Str");
  pw.println(reportLowMemory);
  if (killed || killedByAm || waitingToKill != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(killed);
    pw.print("String_Node_Str");
    pw.print(killedByAm);
    pw.print("String_Node_Str");
    pw.println(waitingToKill);
  }
  if (debugging || crashing || crashDialog != null || notResponding || anrDialog != null || bad) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(debugging);
    pw.print("String_Node_Str");
    pw.print(crashing);
    pw.print("String_Node_Str");
    pw.print(crashDialog);
    pw.print("String_Node_Str");
    pw.print(notResponding);
    pw.print("String_Node_Str");
    pw.print(anrDialog);
    pw.print("String_Node_Str");
    pw.print(bad);
    if (errorReportReceiver != null) {
      pw.print("String_Node_Str");
      pw.print(errorReportReceiver.flattenToShortString());
    }
    pw.println();
  }
  if (activities.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < activities.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(activities.get(i));
    }
  }
  if (services.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < services.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(services.valueAt(i));
    }
  }
  if (executingServices.size() > 0) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.print(execServicesFg);
    pw.println("String_Node_Str");
    for (int i=0; i < executingServices.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(executingServices.valueAt(i));
    }
  }
  if (connections.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < connections.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(connections.valueAt(i));
    }
  }
  if (pubProviders.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < pubProviders.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(pubProviders.keyAt(i));
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(pubProviders.valueAt(i));
    }
  }
  if (conProviders.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < conProviders.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(conProviders.get(i).toShortString());
    }
  }
  if (curReceiver != null) {
    pw.print(prefix);
    pw.print("String_Node_Str");
    pw.println(curReceiver);
  }
  if (receivers.size() > 0) {
    pw.print(prefix);
    pw.println("String_Node_Str");
    for (int i=0; i < receivers.size(); i++) {
      pw.print(prefix);
      pw.print("String_Node_Str");
      pw.println(receivers.valueAt(i));
    }
  }
}