Page MenuHomePhabricator

Failing svn connection brings daemon down
Closed, ResolvedPublic

Description

I am trying to create a mirror repo of GCC svn at: svn://gcc.gnu.org/svn/gcc

I started by noticing that phabricator kept telling me I needed to restart the daemons every second day or so. On closer inspection of the daemons the PhabricatorTaskmasterDaemon keeps dying and resuscitating. I am thinking this might be confusing the interface.

Logs for this daemon look like:

2017-02-22 11:51:21 AM [INIT] Starting process.
2017-02-22 11:51:22 AM [STDE] <VERB> PhabricatorTaskmasterDaemon Working on task 382194 (PhabricatorRepositorySvnCommitChangeParserWorker)...
2017-02-22 11:51:22 AM [STDE] <VERB> PhabricatorTaskmasterDaemon Task 382194 failed!
2017-02-22 11:51:22 AM [STDE] [2017-02-22 11:51:22] EXCEPTION: (PhutilProxyException) Error while executing Task ID 382194. {>} (CommandException) Command failed with error #1!
2017-02-22 11:51:22 AM [STDE] COMMAND
2017-02-22 11:51:22 AM [STDE] svn --non-interactive --no-auth-cache log --xml --verbose --limit 1 'svn://gcc.gnu.org/svn/gcc'@158784
2017-02-22 11:51:22 AM [STDE] 
2017-02-22 11:51:22 AM [STDE] STDOUT
2017-02-22 11:51:22 AM [STDE] <?xml version="1.0" encoding="UTF-8"?>
2017-02-22 11:51:22 AM [STDE] <log>
2017-02-22 11:51:22 AM [STDE] 
2017-02-22 11:51:22 AM [STDE] 
2017-02-22 11:51:22 AM [STDE] STDERR
2017-02-22 11:51:22 AM [STDE] svn: E170013: Unable to connect to a repository at URL 'svn://gcc.gnu.org/svn/gcc'
2017-02-22 11:51:22 AM [STDE] svn: E210002: Network connection closed unexpectedly
2017-02-22 11:51:22 AM [STDE]  at [<phutil>/src/future/exec/ExecFuture.php:369]
2017-02-22 11:51:22 AM [STDE] arcanist(head=stable, ref.master=c58f1b9a2507, ref.stable=9503b941cc02), phabricator(head=stable, ref.master=fde02c4b4edf, ref.stable=2604c5af55f6), phutil(head=stable, ref.master=d4e36c61b1ac, ref.stable=10963f771f11)
2017-02-22 11:51:22 AM [STDE]   #0 <#2> ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/storage/PhabricatorRepository.php:491]
2017-02-22 11:51:22 AM [STDE]   #1 <#2> PhabricatorRepository::execxRemoteCommand(string, string, string) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php:797]
2017-02-22 11:51:22 AM [STDE]   #2 <#2> PhabricatorRepositorySvnCommitChangeParserWorker::getSVNLogXMLObject(PhabricatorRepository, string, string) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php:32]
2017-02-22 11:51:22 AM [STDE]   #3 <#2> PhabricatorRepositorySvnCommitChangeParserWorker::parseCommitChanges(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryCommitChangeParserWorker.php:36]
2017-02-22 11:51:22 AM [STDE]   #4 <#2> PhabricatorRepositoryCommitChangeParserWorker::parseCommit(PhabricatorRepository, PhabricatorRepositoryCommit) called at [<phabricator>/src/applications/repository/worker/PhabricatorRepositoryCommitParserWorker.php:51]
2017-02-22 11:51:22 AM [STDE]   #5 <#2> PhabricatorRepositoryCommitParserWorker::doWork() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorWorker.php:123]
2017-02-22 11:51:22 AM [STDE]   #6 <#2> PhabricatorWorker::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php:171]
2017-02-22 11:51:22 AM [STDE]   #7 <#2> PhabricatorWorkerActiveTask::executeTask() called at [<phabricator>/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php:22]
2017-02-22 11:51:22 AM [STDE]   #8 PhabricatorTaskmasterDaemon::run() called at [<phutil>/src/daemon/PhutilDaemon.php:181]
2017-02-22 11:51:22 AM [STDE]   #9 PhutilDaemon::execute() called at [<phutil>/scripts/daemon/exec/exec_daemon.php:131]
2017-02-22 11:51:22 AM [FAIL] Process exited with error 255.
2017-02-22 11:51:22 AM [WAIT] Waiting to restart process.
2017-02-22 11:51:33 AM [INIT] Starting process.

Only about 5% of connections to the GCC svn repo actually succeed. The only way I can imagine for this to be reproducible is for you to try and create a repo to mirror the svn repo at svn://gcc.gnu.org/svn/gcc

Versions information is as follow:

Version Information

phabricator
    2604c5af55f654d36f8db2f080b96486c4572216 (Fri, Jan 27) (branched from 1be3ef02276812296c01e41122f19d6ea8077f81 on origin) 
arcanist
    9503b941cc02be637d967bb50cfb25f852e071e4 (Jan 7 2017) (branched from ade25facfdf22aed1c1e20fed3e58e60c0be3c2b on origin) 
phutil
    10963f771f118baa338aacd3172aaede695cde62 (Jan 13 2017) (branched from 9d85dfab0f532d50c2343719e92d574a4827341b on origin)