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
 [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-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 13:01:31 2024 UTC