Page MenuHomePhabricator

Editing a panel to reference a commit in a repository causes an error
Closed, ResolvedPublic

Description

Scenario: Go to https://phabricator.haskell.org. We have a default Dashboard installed to the homepage, and at the top panel there is a Recent Updates tab, containing another text panel, with a changelog inside.

Editing this text panel to refer to a commit in a Diffusion repository (rFOOxyz) as part of a changelog results in an exception being thrown: Transaction type 'core:edge' is missing an internal apply implementation! when I attempt to save the changes.

Full stack trace below:

2014/10/26 06:07:33 [error] 32226#0: *362 FastCGI sent in stderr: "PHP message: [2014-10-26 01:07:33] EXCEPTION: (Exception) Transaction type 'core:edge' is missing an internal apply implementation! at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:484]
PHP message:   #0 PhabricatorApplicationTransactionEditor::applyCustomInternalTransaction(PhabricatorDashboardPanel, PhabricatorDashboardPanelTransaction) called at [<phabricator>/src/applications/dashboard/editor/PhabricatorDashboardPanelTransactionEditor.php:73]
PHP message:   #1 PhabricatorDashboardPanelTransactionEditor::applyCustomInternalTransaction(PhabricatorDashboardPanel, PhabricatorDashboardPanelTransaction) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:383]
PHP message:   #2 PhabricatorApplicationTransactionEditor::applyInternalEffects(PhabricatorDashboardPanel, PhabricatorDashboardPanelTransaction) called at [<phabricator>/src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php:686]
PHP message:   #3 PhabricatorApplicationTransactionEditor::applyTransactions(PhabricatorDashboardPanel, array) called at [<phabricator>/src/applications/dashboard/controller/PhabricatorDashboardPanelEditController.php:168]
PHP message:   #4 PhabricatorDashboardPanelEditController::processRequest() called at [<phabricator>/src/aphront/AphrontController.php:33]
PHP message:   #5 AphrontController::handleRequest(AphrontRequest) called at [<phabricator>/webroot/index.php:103]" while reading response header from upstream, client: 173.245.50.166, server: phabricator.haskell.org, request: "POST /dashboard/panel/edit/14/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "phabricator.haskell.org"
2014/10/26 06:07:33 [error] 32226#0: *362 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught exception 'Exception' with message 'Process exited with an open transaction! The transaction will be implicitly rolled back. Calls to openTransaction() must always be paired with a call to saveTransaction() or killTransaction().' in /opt/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php:69
Stack trace:
#0 [internal function]: AphrontDatabaseTransactionState->__destruct()
#1 {main}
  thrown in /opt/libphutil/src/aphront/storage/connection/AphrontDatabaseTransactionState.php on line 69" while reading upstream, client: 173.245.50.166, server: phabricator.haskell.org, request: "POST /dashboard/panel/edit/14/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "phabricator.haskell.org"

Event Timeline

thoughtpolice raised the priority of this task from to Needs Triage.
thoughtpolice updated the task description. (Show Details)
thoughtpolice added a project: Dashboards.
thoughtpolice added a subscriber: thoughtpolice.
epriestley triaged this task as Normal priority.
epriestley added a project: Transactions.

The Editor needs null internal/external apply implementations to handle mentions. This is a ~4-line fix.