Program: 181784
Project: 181784
Buggy source:
boolean performShowLocked(){
  if (DEBUG_VISIBILITY) {
    RuntimeException e=null;
    if (!HIDE_STACK_CRAWLS) {
      e=new RuntimeException();
      e.fillInStackTrace();
    }
    Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mReadyToShow+ "String_Node_Str"+ isReadyForDisplay()+ "String_Node_Str"+ (mAttrs.type == TYPE_APPLICATION_STARTING),e);
  }
  if (mReadyToShow && isReadyForDisplay()) {
    if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)     logSurface(this,"String_Node_Str",null);
    if (DEBUG_VISIBILITY)     Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mPolicyVisibility+ "String_Node_Str"+ mAttachedHidden+ "String_Node_Str"+ (mAppToken != null ? mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mAppToken != null ? mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppToken != null ? mAppToken.animating : false));
    if (!showSurfaceRobustlyLocked(this)) {
      return false;
    }
    mLastAlpha=-1;
    mHasDrawn=true;
    mLastHidden=false;
    mReadyToShow=false;
    enableScreenIfNeededLocked();
    applyEnterAnimationLocked(this);
    int i=mChildWindows.size();
    while (i > 0) {
      i--;
      WindowState c=(WindowState)mChildWindows.get(i);
      if (c.mSurface != null && c.mAttachedHidden) {
        c.mAttachedHidden=false;
        c.performShowLocked();
        mLayoutNeeded=true;
      }
    }
    if (mAttrs.type != TYPE_APPLICATION_STARTING && mAppToken != null) {
      mAppToken.firstWindowDrawn=true;
      if (mAppToken.startingData != null) {
        if (DEBUG_STARTING_WINDOW || DEBUG_ANIM)         Slog.v(TAG,"String_Node_Str" + mToken + "String_Node_Str");
        if (mAnimation != null) {
          mAnimation=null;
          mAnimating=true;
        }
        mFinishedStarting.add(mAppToken);
        mH.sendEmptyMessage(H.FINISHED_STARTING);
      }
      mAppToken.updateReportedVisibilityLocked();
    }
  }
  return true;
}

Fixed version (ground truth):
boolean performShowLocked(){
  if (DEBUG_VISIBILITY) {
    RuntimeException e=null;
    if (!HIDE_STACK_CRAWLS) {
      e=new RuntimeException();
      e.fillInStackTrace();
    }
    Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mReadyToShow+ "String_Node_Str"+ isReadyForDisplay()+ "String_Node_Str"+ (mAttrs.type == TYPE_APPLICATION_STARTING),e);
  }
  if (mReadyToShow && isReadyForDisplay()) {
    if (SHOW_TRANSACTIONS || DEBUG_ORIENTATION)     logSurface(this,"String_Node_Str",null);
    if (DEBUG_VISIBILITY)     Slog.v(TAG,"String_Node_Str" + this + "String_Node_Str"+ mPolicyVisibility+ "String_Node_Str"+ mAttachedHidden+ "String_Node_Str"+ (mAppToken != null ? mAppToken.hiddenRequested : false)+ "String_Node_Str"+ (mAppToken != null ? mAppToken.hidden : false)+ "String_Node_Str"+ mAnimating+ "String_Node_Str"+ (mAppToken != null ? mAppToken.animating : false));
    if (!showSurfaceRobustlyLocked(this)) {
      return false;
    }
    mLastAlpha=-1;
    mHasDrawn=true;
    mLastHidden=false;
    mReadyToShow=false;
    enableScreenIfNeededLocked();
    applyEnterAnimationLocked(this);
    int i=mChildWindows.size();
    while (i > 0) {
      i--;
      WindowState c=(WindowState)mChildWindows.get(i);
      if (c.mAttachedHidden) {
        c.mAttachedHidden=false;
        if (c.mSurface != null) {
          c.performShowLocked();
          mLayoutNeeded=true;
        }
      }
    }
    if (mAttrs.type != TYPE_APPLICATION_STARTING && mAppToken != null) {
      mAppToken.firstWindowDrawn=true;
      if (mAppToken.startingData != null) {
        if (DEBUG_STARTING_WINDOW || DEBUG_ANIM)         Slog.v(TAG,"String_Node_Str" + mToken + "String_Node_Str");
        if (mAnimation != null) {
          mAnimation=null;
          mAnimating=true;
        }
        mFinishedStarting.add(mAppToken);
        mH.sendEmptyMessage(H.FINISHED_STARTING);
      }
      mAppToken.updateReportedVisibilityLocked();
    }
  }
  return true;
}