On 05.03.2011 01:56, Stefan Fuhrmann wrote:
On 05.03.2011 01:16, John Beranek wrote:
On 04/03/2011 23:02, Stefan Fuhrmann wrote:
On 04.03.2011 12:32, John Beranek wrote:
On 04/03/11 11:18, Philip Martin wrote:
John Beranek<j...@redux.org.uk> writes:
Oh, this is for a run of an installed copy of svnserve, as I don't
have a:
subversion/tests/libsvn_client/.libs/lt-client-test
only:
subversion/tests/libsvn_client/client-test
[A wrapper script I can't run with gdb]
subversion/tests/libsvn_client/.libs/client-test
[An executable that doesn't find its libraries]
Building creates the libtool wrapper scipt client-test and the
executable .libs/client-tests. The executable is one that will be
installed and is linked to libraries in the install path.
If you run the libtool wrapper script it creates a second, temporary
executable .libs/lt-client-test. This is linked to libraries in the
build directory. This is one you debug.
Oh, I _see_. :)
#0 0x0000003786c330c5 in raise () from /lib64/libc.so.6
#1 0x0000003786c34a76 in abort () from /lib64/libc.so.6
#2 0x0000003786c2b905 in __assert_fail () from /lib64/libc.so.6
#3 0x00007ffff5b88d0b in svn_temp_deserializer__resolve (
buffer=<value optimized out>, ptr=<value optimized out>)
at subversion/libsvn_subr/svn_temp_serializer.c:282
#4 0x00007ffff6403606 in svn_fs_fs__id_deserialize (
buffer=<value optimized out>, id=0x7912b0)
at subversion/libsvn_fs_fs/id.c:387
#5 0x00007ffff63f4743 in svn_fs_fs__dag_deserialize
(out=0x7fffffffd750,
data=0x7912a8 "", data_len=<value optimized out>,
pool=<value optimized out>) at
subversion/libsvn_fs_fs/dag.c:1111
This is the first call to any de-serializer function
right after the raw data has been read cache.
So, there is a chance that the data either got
corrupted by the cache itself or was garbage
even before that. Therefore, I added extensive
consistency checks in r1078185 to be able to
rule out the cache code itself.
Please rebuild with -DDEBUG_CACHE_MEMBUFFER
and retry.
Hmm, appears unchanged with this extra checking/debugging...
John.
That is good news. Assuming that the consistency check
was actually enabled, we can rule out the cache for now.
From my perspective, this leaves at least two possibilities:
* compiler / optimizer issue
-> a look at the assembly output should clear that one quickly
* the data gets corrupted during serialization
-> serializer may need even more assertions()
-- Stefan^2.
I suspect that -fstrict-aliasing (or something similar)
might have broken svn_temp_deserializer__resolve().
r1078256 tries to circumvent that.
-- Stefan^2.