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)

Revisions and Commits

Restricted Differential Revision

Event Timeline

pmatos updated the task description. (Show Details)
epriestley added a subscriber: epriestley.

It is expected that taskmasters will exit and restart after an unexpected failure, but this should not trigger setup warnings. I'll see if I can reproduce this.

epriestley added a revision: Restricted Differential Revision.Feb 22 2017, 10:09 PM
epriestley closed this task as Resolved by committing Restricted Diffusion Commit.Feb 22 2017, 10:11 PM
epriestley added a commit: Restricted Diffusion Commit.