Page MenuHomePhabricator

Ambiguous URL rejection broke commit importing
Closed, InvalidPublic

Description

Phabricator version: 5306fbfa7af4cdd8b326f86ed66f300c5cc22b9d

When a commit contains an ambiguous URL, the PhabricatorRepositoryCommitHeraldWorker fails to import the commit.

Steps to reproduce:

  1. Start watching a repository that has a commit with an ambigous URL in the commit message such as showcase://?ITEM_ID to showcase://item/ITEM_ID
  2. Wait for PhabricatorRepositoryCommitHeraldWorker to see the commit.

You will see a leased task for PhabricatorRepositoryCommitHeraldWorker with lots of failures. There should be log messages in /var/log/phabricator/daemons.log along the lines of:

[05-Jul-2017 11:39:03 Australia/Sydney] [2017-07-05 11:39:03] EXCEPTION: (PhutilProxyException) Error while executing Task ID 30105164. {>} (Exception) Rejecting ambiguous URI "Change the recognised url from showcase://?ITEM_ID to showcase://item/ITEM_ID where ITEMID is the ID of the showcase item". This URI is not formatted or encoded properly. at [<phutil>/src/parser/PhutilURI.php:51]

Clicking View Task and following the data link will show the commit with the message:

Still Importing...
This commit is still importing. Changes will be visible once the import finishes.

As for T12796, I expect the commit to be imported, but for no meaningful URL to be displayed when I view the commit.

Event Timeline

Is that a bad url that's contained in the commit message? Is the commit message literally Change the recognised url from showcase://?ITEM_ID to showcase://item/ITEM_ID where ITEMID is the ID of the showcase item?

Sorry I hadn't updated my worker hosts, you can close this as invalid.