Program: 63520
Project: 63520
Buggy source:
private void resetTx(){
  runOnUiThread(new Runnable(){
    @Override public void run(){
      if (dp == null) {
        dp=new DialogProgress(HotAdvanceActivity.this,R.string.please_wait);
      }
      dp.show();
    }
  }
);
  ThreadNeedService threadNeedService=new ThreadNeedService(dp,HotAdvanceActivity.this){
    @Override public void runWithService(    BlockchainService service){
      service.stopAndUnregister();
      for (      Address address : AddressManager.getInstance().getAllAddresses()) {
        address.setSyncComplete(false);
        address.updateSyncComplete();
      }
      HDAccountProvider.getInstance().setSyncdNotComplete();
      HDAccountProvider.getInstance().clearAllTx();
      TxProvider.getInstance().clearAllTx();
      for (      Address address : AddressManager.getInstance().getAllAddresses()) {
        address.notificatTx(null,Tx.TxNotificationType.txFromApi);
      }
      try {
        if (!AddressManager.getInstance().addressIsSyncComplete()) {
          TransactionsUtil.getMyTxFromBither();
        }
        service.startAndRegister();
        HotAdvanceActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            dp.dismiss();
            DropdownMessage.showDropdownMessage(HotAdvanceActivity.this,R.string.reload_tx_success);
          }
        }
);
      }
 catch (      Exception e) {
        e.printStackTrace();
        HotAdvanceActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            dp.dismiss();
            DropdownMessage.showDropdownMessage(HotAdvanceActivity.this,R.string.network_or_connection_error);
          }
        }
);
      }
    }
  }
;
  threadNeedService.start();
}

Fixed version (ground truth):
private void resetTx(){
  runOnUiThread(new Runnable(){
    @Override public void run(){
      if (dp == null) {
        dp=new DialogProgress(HotAdvanceActivity.this,R.string.please_wait);
      }
      dp.show();
    }
  }
);
  ThreadNeedService threadNeedService=new ThreadNeedService(dp,HotAdvanceActivity.this){
    @Override public void runWithService(    BlockchainService service){
      service.stopAndUnregister();
      for (      Address address : AddressManager.getInstance().getAllAddresses()) {
        address.setSyncComplete(false);
        address.updateSyncComplete();
      }
      HDAccountProvider.getInstance().setSyncdNotComplete();
      TxProvider.getInstance().clearAllTx();
      for (      Address address : AddressManager.getInstance().getAllAddresses()) {
        address.notificatTx(null,Tx.TxNotificationType.txFromApi);
      }
      try {
        if (!AddressManager.getInstance().addressIsSyncComplete()) {
          TransactionsUtil.getMyTxFromBither();
        }
        service.startAndRegister();
        HotAdvanceActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            dp.dismiss();
            DropdownMessage.showDropdownMessage(HotAdvanceActivity.this,R.string.reload_tx_success);
          }
        }
);
      }
 catch (      Exception e) {
        e.printStackTrace();
        HotAdvanceActivity.this.runOnUiThread(new Runnable(){
          @Override public void run(){
            dp.dismiss();
            DropdownMessage.showDropdownMessage(HotAdvanceActivity.this,R.string.network_or_connection_error);
          }
        }
);
      }
    }
  }
;
  threadNeedService.start();
}