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

SASL + pre-revprop-change == badness?

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2006-09-26 18:57:44 CEST

So, I've been trying to figure out why the svnsync tests fail over
ra_svn when you turn on the server side sasl support. Here's what
I've come up with so far:

1) svnsync tests work fine over ra_svn without sasl

2) with sasl and forking enabled we get errors like this:

['subversion/libsvn_repos/hooks.c:111: (apr_err=165001)\n', "svnsync:
Failed to start
'/home/rooneg/code/svn-trunk/subversion/tests/cmdline/svn-test-work/repositories/svnsync_tests-1-1/hooks/pre-revprop-change'
hook\n", 'subversion/libsvn_subr/utf.c:621: (apr_err=22)\n', 'svnsync:
Valid UTF-8 data\n', '(hex: 48 6b 0f 08 41 41 41 41 40)\n', 'followed
by invalid UTF-8 sequence\n', '(hex: 9b 0f 08 a1)\n']

3) turn off forking and that particular symptom goes away

4) running svnserve under valgrind with either forking or threading
and sasl enabled results in dozens of errors, basically every time we
do anything with the connection pool it complains:

==5067== Invalid read of size 1
==5067== at 0x401E3AB: memcpy (mac_replace_strmem.c:394)
==5067== by 0x415F5DF: apr_pstrdup (apr_strings.c:79)
==5067== by 0x8054421: svn_repos_get_commit_editor4 (commit.c:818)
==5067== by 0x804F17C: commit (serve.c:962)
==5067== by 0x80A5299: svn_ra_svn_handle_commands (marshal.c:838)
==5067== by 0x805299B: serve (serve.c:2305)
==5067== by 0x804C237: serve_thread (main.c:253)
==5067== by 0x4169991: dummy_worker (thread.c:105)
==5067== by 0x41E6340: start_thread (in
/lib/tls/i686/cmov/libpthread-2.3.6.so)

Turning sasl support off makes all valgrind complaints go away.

As far as I can tell we don't actually have any problems in the
svnserve pool handling. It's only when the --enable-sasl flag is
passed to the test (i.e. sasl is turned on in svnserve.conf) that
problems appear, and while they aren't always user visible, valgrind
seems to see them in all combinations that involve server side sasl.

And just to throw another weird thing into the mix, any test that
doesn't do any revprop changes (and thus has no pre-revprop-change
hook script to call) doesn't show any problems, test passes fine, and
not a peep from valgrind.

So I'm officially confused. Anyone got any ideas?

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Sep 26 18:58:01 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.