Program: 8793
Project: 8793
Buggy source:
private void getWeather(final String postID){
  mAsynState=AsynTaskState.PROCESSING;
  mPullRefreshScrollView.setRefreshing();
  StringRequest sr=new StringRequest(String.format(WEATHER_ALL,postID),new Response.Listener<String>(){
    @Override public void onResponse(    String response){
      mAsynState=AsynTaskState.RPOCESSED;
      mPullRefreshScrollView.onRefreshComplete();
      try {
        WeatherInfo weatherInfo=WeatherSpider.getWeatherInfo(mActivity,postID,response);
        if (!WeatherSpider.isEmpty(weatherInfo)) {
          mWeatherInfo=weatherInfo;
          isLoaded=true;
          if (getActivity() != null)           Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
          save2Database(postID,response);
          updateWeatherView();
        }
 else {
          if (getActivity() != null)           Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
        }
      }
 catch (      JSONException e) {
        e.printStackTrace();
        if (getActivity() != null)         Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
      }
      mAsynState=AsynTaskState.COMPLETE;
    }
  }
,new Response.ErrorListener(){
    @Override public void onErrorResponse(    VolleyError error){
      mAsynState=AsynTaskState.RPOCESSED;
      mPullRefreshScrollView.onRefreshComplete();
      if (getActivity() != null)       Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
      mAsynState=AsynTaskState.COMPLETE;
    }
  }
);
  sr.setTag(postID);
  App.getVolleyRequestQueue().add(sr);
}

Fixed version (ground truth):
private void getWeather(final String postID){
  mAsynState=AsynTaskState.PROCESSING;
  if (!mPullRefreshScrollView.isRefreshing())   mPullRefreshScrollView.setRefreshing();
  StringRequest sr=new StringRequest(String.format(WEATHER_ALL,postID),new Response.Listener<String>(){
    @Override public void onResponse(    String response){
      mAsynState=AsynTaskState.RPOCESSED;
      if (mPullRefreshScrollView.isRefreshing())       mPullRefreshScrollView.onRefreshComplete();
      try {
        WeatherInfo weatherInfo=WeatherSpider.getWeatherInfo(mActivity,postID,response);
        if (!WeatherSpider.isEmpty(weatherInfo)) {
          mWeatherInfo=weatherInfo;
          isLoaded=true;
          if (getActivity() != null)           Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
          save2Database(postID,response);
          updateWeatherView();
        }
 else {
          if (getActivity() != null)           Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
        }
      }
 catch (      JSONException e) {
        e.printStackTrace();
        if (getActivity() != null)         Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
      }
      mAsynState=AsynTaskState.COMPLETE;
    }
  }
,new Response.ErrorListener(){
    @Override public void onErrorResponse(    VolleyError error){
      mAsynState=AsynTaskState.RPOCESSED;
      if (mPullRefreshScrollView.isRefreshing())       mPullRefreshScrollView.onRefreshComplete();
      if (getActivity() != null)       Toast.makeText(getActivity(),"String_Node_Str" + mCurCity.getName(),Toast.LENGTH_SHORT).show();
      mAsynState=AsynTaskState.COMPLETE;
    }
  }
);
  sr.setTag(postID);
  App.getVolleyRequestQueue().add(sr);
}