php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #56855 Here's another debug output
Submitted: 2006-02-23 04:43 UTC Modified: 2008-01-29 22:32 UTC
From: mandersm at student dot ethz dot ch Assigned:
Status: Duplicate Package: svn (PECL)
PHP Version: Irrelevant OS: Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mandersm at student dot ethz dot ch
New email:
PHP Version: OS:

 

 [2006-02-23 04:43 UTC] mandersm at student dot ethz dot ch
Description:
------------
When trying to checkout or update from any (I tested two servers, many repositories) SVN server I'm getting the following errors:

Warning:  svn_checkout() [function.svn-checkout]: svn error(s) occured
22 (Invalid argument) Can't recode string
 in /data/www/maarten/sb3/classes/svn/SvnConnection.class.php on line 102

I know what the "Can't recode string" issue is about and how to fix it. This repository, however, consists only of a single "test.txt" file, so there shouldn't be any problems with that. Additionally, checking out / updating the repository with the command-line client (or any other) works perfectly.

For security reasons, the SVN server is only accessible from intranet. I could give you access over SSL if you need it. I don't think it's a SVN server issue though.

Finally, here's the SVN information from my php.ini
svn support => enabled
svn client version => 1.1.4

Thanks very much for your help!

Maarten Manders
Students.ch

Reproduce code:
---------------
Here's my debug output:

Calling svn_checkout('http://svn.students.ch/test/.', '/data/www/maarten/repo1', -1)

Warning:  svn_checkout() [function.svn-checkout]: svn error(s) occured
22 (Invalid argument) Can't recode string
 in /data/www/maarten/sb3/classes/svn/SvnConnection.class.php on line 102

bool(false)
Calling svn_update('/data/www/maarten/repo2', -1)

Warning:  svn_update() [function.svn-update]: svn error(s) occured
22 (Invalid argument) Can't recode string
 in /data/www/maarten/sb3/classes/svn/SvnConnection.class.php on line 206

bool(false)


Expected result:
----------------
No errors.

Actual result:
--------------
As seen above. Here's the SVN server's transfer log:

192.168.120.75 - - [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 401 401 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 390 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/bln/2 HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/bc/2 HTTP/1.1" 207 649 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - - [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 401 401 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 390 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:45 +0100] "PROPFIND /test/!svn/bln/2 HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - - [23/Feb/2006:10:27:47 +0100] "PROPFIND /test HTTP/1.1" 401 401 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:47 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:47 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 390 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [23/Feb/2006:10:27:47 +0100] "PROPFIND /test/!svn/bln/2 HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-02-23 05:09 UTC] mandersm at student dot ethz dot ch
Here's another debug output for checking out / updating from the eZ SVN server.

Calling svn_checkout('http://svn.ez.no/svn/ezcomponents/releases/Archive/1.0rc1/tests/.', '/data/www/maarten/repo3', -1)

Warning:  svn_checkout() [function.svn-checkout]: svn error(s) occured
22 (Invalid argument) Can't recode string
 in /data/www/maarten/sb3/classes/svn/SvnConnection.class.php on line 102

bool(false)
Calling svn_update('/data/www/maarten/repo4', -1)

Warning:  svn_update() [function.svn-update]: svn error(s) occured
22 (Invalid argument) Can't recode string
 in /data/www/maarten/sb3/classes/svn/SvnConnection.class.php on line 206

bool(false)
 [2006-02-23 22:56 UTC] alan at akbkhome dot com
I havent really got time to look at this at present, from what I remember the url might need utf8'ing before sending to the C command

Changing the code to something like this:

chars *utf8_repos_url = NULL; 
// convert to utf c string
svn_utf_cstring_to_utf8 (&utf8_repos_url, repos_url,  SVN_G(pool));

// use utf8 string in checkout call.
svn_client_checkout (NULL,
  svn_path_canonicalize(utf8_repos_url, SVN_G(pool)),
    ...
 [2006-02-24 05:25 UTC] mandersm at student dot ethz dot ch
Thanks for your response! I tried it but unfortunately, it won't work yet. This is what I changed the c code to:

	// convert to utf c string
	char *utf8_repos_url = NULL;
	svn_utf_cstring_to_utf8 (&utf8_repos_url, repos_url,  SVN_G(pool));
	
	err = svn_client_checkout (NULL,
			/* repos_url, */
			svn_path_canonicalize(utf8_repos_url, SVN_G(pool)),

And this is my new output (which appears after a extremely long timeout):

Calling svn_checkout('http://svn.students.ch/test/', '/data/www/maarten/repo1', -1)

Warning:  svn_checkout() [function.svn-checkout]: svn error(s) occured
155004 (Attempted to lock an already-locked dir) Working copy '/data/www/maarten/repo1' locked
 in /data/www/maarten/sb3/classes/svn/SvnLibConnection.class.php on line 120

bool(false)
Calling svn_update('/data/www/maarten/repo2', -1)

Warning:  svn_update() [function.svn-update]: svn error(s) occured
175002 (RA layer request failed) REPORT request failed on '/test/!svn/vcc/default'
175002 (RA layer request failed) REPORT of '/test/!svn/vcc/default': 400 Bad Request (http://svn.students.ch)
 in /data/www/maarten/sb3/classes/svn/SvnLibConnection.class.php on line 224

bool(false)

Here's those two requests in my apache access log:

192.168.120.75 - - [24/Feb/2006:11:14:24 +0100] "PROPFIND /test HTTP/1.1" 401 401 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 390 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test/!svn/bln/2 HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test/!svn/bc/2 HTTP/1.1" 207 649 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:24 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - - [24/Feb/2006:11:14:25 +0100] "PROPFIND /test HTTP/1.1" 401 401 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:25 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:25 +0100] "PROPFIND /test/!svn/vcc/default HTTP/1.1" 207 390 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:25 +0100] "PROPFIND /test/!svn/bln/2 HTTP/1.1" 207 441 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:25 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:13:24 +0100] "REPORT /test/!svn/vcc/default HTTP/1.1" 400 226 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.75 - maarten [24/Feb/2006:11:14:25 +0100] "REPORT /test/!svn/vcc/default HTTP/1.1" 400 226 "-" "SVN/1.1.4 (r13838) neon/0.24.7"

These are the two requests which make the SVN client hang:

192.168.120.75 - maarten [24/Feb/2006:11:22:22 +0100] "PROPFIND /test HTTP/1.1" 207 639 "-" "SVN/1.1.4 (r13838) neon/0.24.7"
192.168.120.74 - frank [24/Feb/2006:11:22:42 +0100] "REPORT /students.ch/!svn/vcc/default HTTP/1.1" 200 522560 "-" "SVN/1.1.4 (r13838) neon/0.24.7"

My Apache error log, on the other hand, stays empty, although I set error level to 'notice'.

I hope you've still got some tricks up your sleeve.. :)

Maarten
 [2008-01-29 22:32 UTC] alan at akbkhome dot com
there was a svn_checkout bug that was similar - that fix should fix this one..
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri May 09 09:01:26 2025 UTC