Page MenuHomePhabricator

my remote git repository Initializing Working Copy a long time
Closed, ResolvedPublic

Description

Initializing Working Copy Daemons are initializing the working copy.
pull daemon have some error:

[2015-10-29 03:09:11] EXCEPTION: (PhutilProxyException) Error while updating the "rUS" repository. {>} (CommandException) Command failed with error #-1!
COMMAND
'/usr/local/opensource/phabricator/bin/repository' update  -- 'US'

STDOUT
(empty)

STDERR
(empty) at [<phutil>/src/future/exec/ExecFuture.php:416]
arcanist(head=master, ref.master=dfde57ff812b), phabricator(head=master, ref.master=43569d4e278c), phutil(head=master, ref.master=db3667a62f66)
  #0 <#3> ExecFuture::resolvex() called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:361]
  #1 phlog(PhutilProxyException) called at [<phabricator>/src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php:368]
...

my create repository all time is the status

Type Git Callsign API Projects None Status
Repository Active	
Found Binary git	/usr/bin/git
Pull Daemon Running	
Task Daemon Running	
Storage Directory OK	/var/repo
No Working Copy Yet	Waiting for daemons to build a working copy

Event Timeline

Gavin updated the task description. (Show Details)
Gavin added a project: Phabricator.
Gavin added a subscriber: Gavin.
Gavin renamed this task from my remote get repository Initializing Working Copy a long time ,can not get code from my git repository ,please help me to my remote git repository Initializing Working Copy a long time ,can not get code from my git repository ,please help me.Oct 29 2015, 4:23 AM
avivey renamed this task from my remote git repository Initializing Working Copy a long time ,can not get code from my git repository ,please help me to my remote git repository Initializing Working Copy a long time ,can not get code from my git repository.Oct 29 2015, 4:49 AM
avivey updated the task description. (Show Details)
avivey removed a project: Phabricator.
Gavin updated the task description. (Show Details)

my create repository all time is the status

Type Git 
Callsign API 
Projects None
Status Repository Active	
Found Binary git	/usr/bin/git
Pull Daemon Running	
Task Daemon Running	
Storage Directory OK	/var/repo
No Working Copy Yet	Waiting for daemons to build a working copy

I have the same problem.
I tried to import a bitbucket repo, and since about 30 minutes there is no change of status.

chad renamed this task from my remote git repository Initializing Working Copy a long time ,can not get code from my git repository to my remote git repository Initializing Working Copy a long time.Oct 29 2015, 8:35 PM

my system is mac os ,also the daemon process communicate with ph server is normal ,the ph server is aways found daemon process is dead

Can you show me the output of this command?

$ /usr/local/opensource/phabricator/bin/repository update US --trace

I do the command of '$ /usr/local/opensource/phabricator/bin/repository update API --trace', the api repo status is changed ,see follow

Type Git Callsign API Clone/Checkout As ufish-server/ Projects
ufish-server
Status
Repository Active	
Found Binary git	/usr/bin/git
Missing Binary git-http-backend	Unable to find this binary in the webserver's PATH. You may need to configure environment.append-paths.
Pull Daemon Running	
Task Daemon Running	
Storage Directory OK	/var/repo
Working Copy OK	/var/repo/API/
Waiting For Update	Waiting for daemons to read updates.
Importing	0.00% Complete

ph remote repo need git-http-backend support ,but i not found the git-http-backend thanks

@Gavin, on debian you should :

  • install git-core (git is not enough)
  • verify that git-http-backend exists in /usr/lib/git-core/git-http-backend
  • make a link to something in your path (in my case /usr/bin)

I install git-core ,add git-http-backend to /usr/bin dir,and redo the command of '/repository update US --trace'
the output log is follow

>>> [9] <query> INSERT INTO `repository_statusmessage`
          (repositoryID, statusType, statusCode, parameters, epoch)
          VALUES (8, 'init', 'working', '{\"message\":\"Creating a new working copy for repository \'US\'.\"}', 1446433333)
          ON DUPLICATE KEY UPDATE
            statusCode = VALUES(statusCode),
            parameters = VALUES(parameters),
            epoch = VALUES(epoch)
<<< [9] <query> 2,103 us
>>> [10] <connect> phabricator_passphrase
<<< [10] <connect> 478 us
>>> [11] <query> SELECT * FROM `passphrase_credential`   WHERE (phid IN ('PHID-CDTL-ktdk77skbcx53aaew7bk'))   ORDER BY `id` DESC
<<< [11] <query> 338 us
>>> [12] <query> SELECT * FROM `passphrase_secret` WHERE id IN (2)
<<< [12] <query> 296 us
>>> [13] <exec> $ git clone --bare -- 'xxxxx' '/var/repo/US'
[1]    79645 segmentation fault  ./bin/repository update US --trace

looked the output log ,the ph server is did the work for pull the repo of us(my git reop)
the ph server us repo the status is follow :

Type Git Callsign US Projects None Status
Repository Active	
Found Binary git	/usr/bin/git
Pull Daemon Running	
Task Daemon Running	
Storage Directory OK	/var/repo
Initializing Working Copy	Daemons are initializing the working copy

the status Initializing Working Copy is no changed for a long time

You're getting PHP segmentation faults. What OS/PHP are you running?

I install ph server in linux env, the ph server repo pull from remote git repo is no problem thanks any one

What operating system and what PHP version are you running are very basic system administrator questions. If you're not able to answer them, I don't think we'll be able to help you further and you should find a hosting site like Phacility to run Phabricator for you.

my system is mac OS X ,php is 5.5.3

how did you install php? homebrew or stock php?

I had a similar issue with homebrew. I had to remove the bad PHP and reinstall with 5.6 and the segmentation faults stopped.

you mean is the php require 5.6,I use 5.5.3 ,aways show segmentation faults while exec php command,
I exec arc diff also tell me the segmentation faults,

>>> [0] <conduit> user.whoami() <bytes = 117>
>>> [1] <http> http://xxx.xxx.com/api/user.whoami
<<< [1] <http> 362,526 us
<<< [0] <conduit> 364,815 us
>>> [2] <exec> $ git diff --no-ext-diff --no-textconv --raw 'HEAD' --
>>> [3] <exec> $ git ls-files --others --exclude-standard
[1]    80613 segmentation fault  arc diff --trace

the follow output log is error?

Config: Did not find local configuration at "/Users/pengrongxin/workspace/ufish-service/.git/arc/config".

We support PHP 5.2 and newer. I personally had an issue with Homebrew's 5.5, so I moved to 5.6 and the issue went away. I would try a newer version of PHP since you're using Homebrew already.

I upgradle php to 5.6,the issue is went away also,thanks,
but I use arc diff to commit ph server,the log is follow:

Linting...
No lint engine configured for this project.
Running unit tests...
No unit test engine is configured for this project.
Usage Exception: No changes found. (Did you specify the wrong commit range?)

this is why?

What default do you want to use? [origin/master]

the show log ,what I input ?origin or master

Depending on what remote you have and what main branch you have.

The format is my-remote/my-main-branch
Most of the time it is origin/master

when I run

phabricator/bin/repository update TR --trace

I get this result

phabricator/bin/repository update TR --trace
>>> [2] <connect> phabricator_repository
<<< [2] <connect> 3,404 us
>>> [3] <query> SELECT `r`.* FROM `repository` r  WHERE (r.callsign IN ('TR'))   ORDER BY `r`.`id` DESC 
<<< [3] <query> 1,543 us
>>> [4] <lock> ph:phabric-6rILUDHKjHKu:repository.update:10
>>> [5] <connect> phabricator_repository
<<< [5] <connect> 1,209 us
>>> [6] <query> SET wait_timeout = 2147483
<<< [6] <query> 782 us
>>> [7] <query> SELECT GET_LOCK('ph:phabric-6rILUDHKjHKu:repository.update:10', 0)
<<< [7] <query> 835 us
<<< [4] <lock> 5,614 us
>>> [8] <connect> phabricator_repository
<<< [8] <connect> 1,270 us
>>> [9] <query> INSERT INTO `repository_statusmessage`
          (repositoryID, statusType, statusCode, parameters, epoch)
          VALUES (10, 'fetch', 'error', '{\"message\":\"Error updating working copy: Another process is currently holding the update lock for repository \\\"rTR\\\". Repositories may only be updated by one process at a time. This can happen if you are running multiple copies of the daemons. This can also happen if you manually update a repository while the daemons are also updating it (in this case, ju
<<< [9] <query> 15,707 us
[2015-11-02 07:27:01] EXCEPTION: (PhutilProxyException) Another process is currently holding the update lock for repository "rTR". Repositories may only be updated by one process at a time. This can happen if you are running multiple copies of the daemons. This can also happen if you manually update a repository while the daemons are also updating it (in this case, just try again in a few moments). {>} (PhutilLockException) ph:phabric-6rILUDHKjHKu:repository.update:10 at [<phabricator>/src/infrastructure/util/PhabricatorGlobalLock.php:105]
arcanist(head=master, ref.master=9c056c5cc887), phabricator(head=master, ref.master=284fe0fe51ce), phutil(head=master, ref.master=c72eb747e706)
  #0 <#2> PhabricatorGlobalLock::doLock(double) called at [<phutil>/src/filesystem/PhutilLock.php:168]
  #1 <#2> PhutilLock::lock() called at [<phabricator>/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php:60]
  #2 PhabricatorRepositoryManagementUpdateWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:406]
  #3 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:301]
  #4 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/repository/manage_repositories.php:22]

What could be the problem?

thanks tycho,
I arc diff is ok ,I looked the review task in differential ,But i have a question
is that i register a user,need administrator to approved ,how i do the approved thanks

User Since Mon, Nov 2, 4:09 PM (11 m, 58 s) Roles Administrator, Not Approved

http://phabricator.redacted.url/people/query/approval/

Next time, open a new ponder question (https://secure.phabricator.com/ponder/) per actual question you have, so it can serve for other people too. This task is mixing bug reports, general troubleshoting, cutsom homebrew troubleshoting and basic questions about how phabricator works. This thus makes hard for someone with same issue than you did to actually use the answser given in this task. That also makes core dev hard to close this task as resolved since there is a lot of different problem tackled.

Next time, create:

  • a maniphest task for your initial report and debuging the seg fault
  • multiple ponder questions for each aditional question (how to use xxxx) you can have
chad claimed this task.

I have a similar problem as mentioned above.

I also cannot load a remote git repository (hosted at bitbucket).

In T9665#142710, @maxie wrote:

when I run

phabricator/bin/repository update TR --trace

I get this result

phabricator/bin/repository update TR --trace
>>> [2] <connect> phabricator_repository
<<< [2] <connect> 3,404 us
>>> [3] <query> SELECT `r`.* FROM `repository` r  WHERE (r.callsign IN ('TR'))   ORDER BY `r`.`id` DESC 
<<< [3] <query> 1,543 us
>>> [4] <lock> ph:phabric-6rILUDHKjHKu:repository.update:10
>>> [5] <connect> phabricator_repository
<<< [5] <connect> 1,209 us
>>> [6] <query> SET wait_timeout = 2147483
<<< [6] <query> 782 us
>>> [7] <query> SELECT GET_LOCK('ph:phabric-6rILUDHKjHKu:repository.update:10', 0)
<<< [7] <query> 835 us
<<< [4] <lock> 5,614 us
>>> [8] <connect> phabricator_repository
<<< [8] <connect> 1,270 us
>>> [9] <query> INSERT INTO `repository_statusmessage`
          (repositoryID, statusType, statusCode, parameters, epoch)
          VALUES (10, 'fetch', 'error', '{\"message\":\"Error updating working copy: Another process is currently holding the update lock for repository \\\"rTR\\\". Repositories may only be updated by one process at a time. This can happen if you are running multiple copies of the daemons. This can also happen if you manually update a repository while the daemons are also updating it (in this case, ju
<<< [9] <query> 15,707 us
[2015-11-02 07:27:01] EXCEPTION: (PhutilProxyException) Another process is currently holding the update lock for repository "rTR". Repositories may only be updated by one process at a time. This can happen if you are running multiple copies of the daemons. This can also happen if you manually update a repository while the daemons are also updating it (in this case, just try again in a few moments). {>} (PhutilLockException) ph:phabric-6rILUDHKjHKu:repository.update:10 at [<phabricator>/src/infrastructure/util/PhabricatorGlobalLock.php:105]
arcanist(head=master, ref.master=9c056c5cc887), phabricator(head=master, ref.master=284fe0fe51ce), phutil(head=master, ref.master=c72eb747e706)
  #0 <#2> PhabricatorGlobalLock::doLock(double) called at [<phutil>/src/filesystem/PhutilLock.php:168]
  #1 <#2> PhutilLock::lock() called at [<phabricator>/src/applications/repository/management/PhabricatorRepositoryManagementUpdateWorkflow.php:60]
  #2 PhabricatorRepositoryManagementUpdateWorkflow::execute(PhutilArgumentParser) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:406]
  #3 PhutilArgumentParser::parseWorkflowsFull(array) called at [<phutil>/src/parser/argument/PhutilArgumentParser.php:301]
  #4 PhutilArgumentParser::parseWorkflows(array) called at [<phabricator>/scripts/repository/manage_repositories.php:22]

Any idea why the repo is locked?

@maxie This task was resolved due to a bad PHP install, I don't see how they are similar. Please do not change the status up our tasks.