[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

dav_new_error_tag and the Apache error log

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-04-08 18:53:50 CEST

Looking through the Apache error log after running the regression
tests I see messages like:

[Fri Apr 08 17:37:49 2005] [error] [client 127.0.0.1] (84)Invalid or incomplete multibyte or wide character: The version resource does not correspond to the resource within the transaction. Either the requested version resource is out of date (needs to be updated), or the requested version resource is newer than the transaction root (restart the commit). [409, #160024]

Note the "(84)Invalid or incomplete multibyte or wide character:"
stuff, it's incorrect and misleading.

I've seen this before, it's caused by dav_new_error_tag using the
global errno value, which in my case happens to contain 84 although it
bears no relation to the Subversion error. Look at the function
dav_svn_convert_err() in mod_dav_svn/util.c and you will see that it
sets errno to zero before calling dav_new_error_tag, I added that when
I was seeing this problem before. However that doesn't catch the
cases where mod_dav_svn calls dav_new_error_tag directly.

I don't think we should be putting misleading information into the
error log, so we need to do one of:

- explicitly set errno to zero before every call to dav_new_error_tag
- use a dav_svn_new_error_tag wrapper that sets errno to zero
- change mod_dav to ignore errno

What do people think?

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 8 18:54:55 2005

This is an archived mail posted to the Subversion Dev mailing list.