Program: 8665
Project: 8665
Buggy source:
@Override public void onBindViewHolder(MonthAdapter.ViewHolder holder,int position){
  if (!isPositionHeader(position)) {
    if (position - 7 - days.get(0).getDayOfWeek() >= 0) {
      holder.num.setText(days.get(position - 7 - days.get(0).getDayOfWeek()).getNum());
      holder.num.setVisibility(View.VISIBLE);
      if (persianDigit) {
        holder.num.setTextSize(25);
      }
 else {
        holder.num.setTextSize(20);
      }
      if (days.get(position - 7 - days.get(0).getDayOfWeek()).isHoliday()) {
        holder.num.setTextColor(ContextCompat.getColor(context,colorHoliday.resourceId));
      }
 else {
        holder.num.setTextColor(ContextCompat.getColor(context,R.color.dark_text_day));
      }
      if (days.get(position - 7 - days.get(0).getDayOfWeek()).isEvent()) {
        holder.event.setVisibility(View.VISIBLE);
      }
 else {
        holder.event.setVisibility(View.GONE);
      }
      if (days.get(position - 7 - days.get(0).getDayOfWeek()).isToday()) {
        holder.today.setVisibility(View.VISIBLE);
      }
 else {
        holder.today.setVisibility(View.GONE);
      }
      if (position == select_Day) {
        holder.selectDay.setVisibility(View.VISIBLE);
        if (days.get(position - 7 - days.get(0).getDayOfWeek()).isHoliday()) {
          holder.num.setTextColor(ContextCompat.getColor(context,colorTextHoliday.resourceId));
        }
 else {
          holder.num.setTextColor(ContextCompat.getColor(context,colorPrimary.resourceId));
        }
      }
 else {
        holder.selectDay.setVisibility(View.GONE);
      }
    }
 else {
      holder.today.setVisibility(View.GONE);
      holder.selectDay.setVisibility(View.GONE);
      holder.num.setVisibility(View.GONE);
      holder.event.setVisibility(View.GONE);
    }
    utils.setFontAndShape(holder.num);
  }
 else {
    holder.num.setText(Constants.FIRST_CHAR_OF_DAYS_OF_WEEK_NAME[position]);
    holder.num.setTextColor(ContextCompat.getColor(context,colorDayName.resourceId));
    holder.num.setTextSize(20);
    holder.today.setVisibility(View.GONE);
    holder.selectDay.setVisibility(View.GONE);
    holder.event.setVisibility(View.GONE);
    holder.num.setVisibility(View.VISIBLE);
    utils.setFont(holder.num);
  }
}

Fixed version (ground truth):
@Override public void onBindViewHolder(MonthAdapter.ViewHolder holder,int position){
  position+=6 - (position % 7) * 2;
  if (days.size() < position - 6 - firstDayDayOfWeek) {
    return;
  }
  if (!isPositionHeader(position)) {
    if (position - 7 - firstDayDayOfWeek >= 0) {
      holder.num.setText(days.get(position - 7 - days.get(0).getDayOfWeek()).getNum());
      holder.num.setVisibility(View.VISIBLE);
      if (persianDigit) {
        holder.num.setTextSize(25);
      }
 else {
        holder.num.setTextSize(20);
      }
      if (days.get(position - 7 - firstDayDayOfWeek).isHoliday()) {
        holder.num.setTextColor(ContextCompat.getColor(context,colorHoliday.resourceId));
      }
 else {
        holder.num.setTextColor(ContextCompat.getColor(context,R.color.dark_text_day));
      }
      if (days.get(position - 7 - firstDayDayOfWeek).isEvent()) {
        holder.event.setVisibility(View.VISIBLE);
      }
 else {
        holder.event.setVisibility(View.GONE);
      }
      if (days.get(position - 7 - firstDayDayOfWeek).isToday()) {
        holder.today.setVisibility(View.VISIBLE);
      }
 else {
        holder.today.setVisibility(View.GONE);
      }
      if (position == select_Day) {
        holder.selectDay.setVisibility(View.VISIBLE);
        if (days.get(position - 7 - firstDayDayOfWeek).isHoliday()) {
          holder.num.setTextColor(ContextCompat.getColor(context,colorTextHoliday.resourceId));
        }
 else {
          holder.num.setTextColor(ContextCompat.getColor(context,colorPrimary.resourceId));
        }
      }
 else {
        holder.selectDay.setVisibility(View.GONE);
      }
    }
 else {
      holder.today.setVisibility(View.GONE);
      holder.selectDay.setVisibility(View.GONE);
      holder.num.setVisibility(View.GONE);
      holder.event.setVisibility(View.GONE);
    }
    utils.setFontAndShape(holder.num);
  }
 else {
    holder.num.setText(Constants.FIRST_CHAR_OF_DAYS_OF_WEEK_NAME[position]);
    holder.num.setTextColor(ContextCompat.getColor(context,colorDayName.resourceId));
    holder.num.setTextSize(20);
    holder.today.setVisibility(View.GONE);
    holder.selectDay.setVisibility(View.GONE);
    holder.event.setVisibility(View.GONE);
    holder.num.setVisibility(View.VISIBLE);
    utils.setFont(holder.num);
  }
}