Page MenuHomePhabricator

In diffusion hosting subversion repository, several commands do not return (freeze).
Closed, ResolvedPublic

Description

In diffusion hosting subversion repository, several commands do not return.(freeze)

reproduction steps.

$ svn checkout svn+ssh://secure@secure.phabricator.com/diffusion/SVNTEST/ svn-test
$ cd svn-test
$ svn cat README@1
(freeze)

version information.
Current https://secure.phabricator.com/

In My Phabricator Version.

phabricator cd7547dc5760bd0fde42f38118dcb9af3ddc17a0 (Wed, Apr 12)
arcanist a59cfca5f190c44403dfc7449c678a2aa1626bb4 (Wed, Apr 5)
phutil fb9e0642c4ea9065e68d2cd2b250c0fa71190e7b (Tue, Apr 11)

Additional information.
The same freeze point also goes up to Subversion bug. See below. 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575104

Event Timeline

I can't reproduce this:

epriestley@orbital ~/dev/scratch $ svn checkout svn+ssh://secure@secure.phabricator.com/diffusion/SVNTEST/ svn-test-2
A    svn-test-2/README
A    svn-test-2/dir1
A    svn-test-2/dir1/.arcconfig
A    svn-test-2/dir2
A    svn-test-2/dir2/lines
A    svn-test-2/dir2/yums
A    svn-test-2/dir2/d1_tag
A    svn-test-2/dir2/d1_tag/new_file
A    svn-test-2/dir2/d1_tag/.arcconfig
A    svn-test-2/dir2/d1_tag/test
A    svn-test-2/dir2/d1_tagb
A    svn-test-2/dir2/d1_tagb/.arcconfig
A    svn-test-2/dir2/d1_tagb/test
A    svn-test-2/dir2/.arcconfig
Checked out revision 9.
epriestley@orbital ~/dev/scratch $ cd svn-test-2/
epriestley@orbital ~/dev/scratch/svn-test-2 $ svn cat README@1
svn: warning: W160013: File not found: revision 1, path '/README'
svn: E200009: Could not cat all targets because some targets don't exist
svn: E200009: Illegal target for the requested operation

What can I do differently to reproduce the issue?

Thank you for replay.
Umm..., Reproduce with the same procedure on my environment.
It may depend on the client environment.

My Subversion version on Ubuntu16 on WSL is

$ svn --version
svn, version 1.9.3 (r1718519)
   compiled Mar 14 2016, 07:39:01 on x86_64-pc-linux-gnu

Copyright (C) 2015 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

以下のリポジトリアクセス (RA) モジュールが利用できます:

* ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。
  - Cyrus SASL 認証を併用
  - 'svn' スキームを操作します
* ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。
  - 'file' スキームを操作します
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.8 (compiled with 1.3.8)
  - 'http' スキームを操作します
  - 'https' スキームを操作します

The following authentication credential caches are available:

* Plaintext cache in /home/kosaku/.subversion
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

It also reproduces in TortoiseSVN.

TortoiseSVN 1.9.5, Build 27581 - 64 Bit , 2016/11/26 09:18:58
Subversion 1.9.5, -release

Please teach me your subversion version?

fails for my MacBook:

MacBook-Pro-3:~ chad$ cd svn-test/
MacBook-Pro-3:svn-test chad$ ls
README	dir1	dir2
MacBook-Pro-3:svn-test chad$ svn cat
svn: E205001: Try 'svn help cat' for more information
svn: E205001: Not enough arguments provided
MacBook-Pro-3:svn-test chad$ svn cat README
This is a test Subversion repository.
MacBook-Pro-3:svn-test chad$ svn cat README@1
^Csvn: E210002: Network connection closed unexpectedly
MacBook-Pro-3:svn-test chad$ svn --version
svn, version 1.9.4 (r1740329)
   compiled Apr 10 2017, 20:36:46 on x86_64-apple-darwin15.0.0

Copyright (C) 2016 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository access (RA) modules are available:

* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.8 (compiled with 1.3.8)
  - handles 'http' scheme
  - handles 'https' scheme

The following authentication credential caches are available:

* Plaintext cache in /Users/chad/.subversion
* GPG-Agent
* Mac OS X Keychain

MacBook-Pro-3:svn-test chad$

Problems do not reproduce when downgrading svn client:

$ svn cat README@1
svn: warning: W160013: File not found: revision 1, path '/README'
svn: E200009: Could not cat all targets because some targets don't exist
svn: E200009: 要求された操作の対象が不正です
$ svn --version
svn, version 1.8.13 (r1667537)
   compiled Sep  8 2015, 14:59:01 on x86_64-pc-linux-gnu

Copyright (C) 2014 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

以下のリポジトリアクセス (RA) モジュールが利用できます:

* ra_svn : svn ネットワークプロトコルを使ってリポジトリにアクセスするモジュール。
  - Cyrus SASL 認証を併用
  - 'svn' スキームを操作します
* ra_local : ローカルディスク上のリポジトリにアクセスするモジュール。
  - 'file' スキームを操作します
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.8
  - 'http' スキームを操作します
  - 'https' スキームを操作します

This is sufficient for me for the time being.

  • I deployed D17774 to secure.
  • I verified that rSVNTEST now correctly raised an error because it was backed by a service with muliple hosts.
  • I moved rSVNTEST and rHGTEST to a one-host service, securex-legacy.phacility.net.
  • I can no longer reproduce any issues against this host.

This problem fixed by T13140. Thank you.

epriestley claimed this task.