Loading certain SVN commits cause Unhandled Exception

After upgrading phabricator, we have noticed that certain commits in an SVN repository are not displaying in Diffusion. We get:

Unhandled Exception ("RuntimeException")
Undefined variable: changesets

Looking in /var/logs/apache2/error.log we have:

[Mon Apr 27 16:50:38.046558 2020] [:error] [pid 20388] [client 10.20.20.48:57561] [2020-04-27 16:50:38] EXCEPTION: (RuntimeException) Undefined variable: changesets at [<arcanist>/src/error/PhutilErrorHandler.php:237]
[Mon Apr 27 16:50:38.046997 2020] [:error] [pid 20388] [client 10.20.20.48:57561] arcanist(head=stable, ref.master=3b6b523c2b23, ref.stable=acf38083f7ff), phabricator(head=stable, ref.master=e2868a0da24c, ref.stable=4c2da0260be2)
[Mon Apr 27 16:50:38.047005 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<phabricator>/src/applications/diffusion/controller/DiffusionCommitController.php:462]
[Mon Apr 27 16:50:38.047015 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #1 <#2> DiffusionCommitController::handleRequest(AphrontRequest) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:288]
[Mon Apr 27 16:50:38.047019 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #2 phlog(RuntimeException) called at [<phabricator>/src/aphront/handler/PhabricatorDefaultRequestExceptionHandler.php:41]
[Mon Apr 27 16:50:38.047022 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #3 PhabricatorDefaultRequestExceptionHandler::handleRequestThrowable(AphrontRequest, RuntimeException) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:752]
[Mon Apr 27 16:50:38.047026 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #4 AphrontApplicationConfiguration::handleThrowable(RuntimeException) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:300]
[Mon Apr 27 16:50:38.047029 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #5 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phabricator>/src/aphront/configuration/AphrontApplicationConfiguration.php:211]
[Mon Apr 27 16:50:38.047032 2020] [:error] [pid 20388] [client 10.20.20.48:57561]   #6 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phabricator>/webroot/index.php:35]

As far as I can tell, it is only affecting commits of new branches or tags. Any ideas on what is causing this?

Library Version Date Branchpoint
phabricator 4c2da0260be2 Fri, Apr 24 d05d8f655896
arcanist acf38083f7ff Fri, Apr 24 68f050bd14e0

Reproduction Instructions

  • Load certain commits from a particular SVN repository
  • Doesn’t affect all commits in this repo, it’s about 50%
  • It’s not just commits since the upgrade, old commits are affected too
  • Only seems to affect commits of new tags or branches

Thanks in advance!
Will

Thanks!

This should be fixed by https://secure.phabricator.com/D21175, which is now in master and stable.

(I believe the affected commits are commits that don’t show changesets normally. There are several conditions which lead to this: deleted commits, a very large number of changes, commits that have not imported yet, etc.)

Thanks, that has fixed it!
Will

Great! Thanks for the report, and let me know if you run into anything else.