phacility/phabricator · warning · Exception

You can not raise a concern with this commit because you hav

Error message

You can not raise a concern with this commit because you have already raised a concern with it.

What it means

Concern's second guard: if the viewer already fully rejected the commit (isViewerFullyRejected) and the commit's audit status is not 'Needs Verification', raising concern again is refused. Re-raising only becomes possible after the author requests verification, which resets the cycle; anything else would re-record the same rejection.

Source

Thrown at src/applications/diffusion/xaction/DiffusionCommitConcernTransaction.php:58

    $status = PhabricatorAuditRequestStatus::CONCERNED;
    $actor = $this->getActor();
    $this->applyAuditorEffect($object, $actor, $value, $status);
  }

  protected function validateAction($object, PhabricatorUser $viewer) {
    if ($this->isViewerCommitAuthor($object, $viewer)) {
      throw new Exception(
        pht(
          'You can not raise a concern with this commit because you are '.
          'the commit author. You can only raise concerns with commits '.
          'you did not author.'));
    }

    // Even if you've already raised a concern, you can raise again as long
    // as the author requested you verify.
    if ($this->isViewerFullyRejected($object, $viewer)) {
      if (!$object->isAuditStatusNeedsVerification()) {
        throw new Exception(
          pht(
            'You can not raise a concern with this commit because you have '.
            'already raised a concern with it.'));
      }
    }
  }

  public function getTitle() {
    return pht(
      '%s raised a concern with this commit.',
      $this->renderAuthor());
  }

  public function getTitleForFeed() {
    return pht(
      '%s raised a concern with %s.',
      $this->renderAuthor(),
      $this->renderObject());

View on GitHub (pinned to 5720a38cfe)

Solutions

  1. No second flag needed - the concern is already on record; wait for the author to Request Verification
  2. Authors: use Request Verification after addressing concerns to reopen the reviewer's actions
  3. Make automation skip flagging when it already holds a standing concern
Defensive patterns

Strategy: validation

Validate before calling

if ($this->isViewerFullyRejected($object, $viewer)
    && !$object->isAuditStatusNeedsVerification()) {
  // concern already on record; do not re-apply
}

Prevention

When it happens

Trigger: A concerned auditor clicks Raise Concern a second time while the commit is still in Concern Raised state - no verification request happened in between.

Common situations: Impatient reviewers re-flagging after pushing fixes; UI lag causing double submits; scripts that flag on every CI failure without checking state.

Related errors


AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21). Data as JSON: /api/errors/080da6dfec483537. Report an issue: GitHub.