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

Re: repository conversion success story

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-06-08 00:47:40 CEST

Ben Collins-Sussman <sussman@collab.net> writes:

> Philip Martin <philip@codematters.co.uk> writes:
>
> > Sending wcstress.4114/foo2
> > Transmitting file data ....Status:
> >
> > which I don't understand. The "Status:" text comes from an 'svn st'
> > command that gets run after the 'svn ci' command, but the commit
> > command does not appear to have produced all its output.
>
> One hypothesis is that the commit segfaulted, thus not finishing its
> output. I've seen that happen before...

Yes, it is crashing.

(gdb)
#0 0x400696f7 in svn_fs_check_related (id1=0x11, id2=0x0)
    at ../svn/subversion/libsvn_fs/id.c:201
201 if (id1->node_id == id2->node_id)
(gdb) p id1
$13 = (svn_fs_id_t *) 0x11
(gdb) p id2
$14 = (svn_fs_id_t *) 0x0
(gdb) up 2
#2 0x40070566 in id_check_ancestor (is_ancestor=0xbffff5f8, fs=0x805f658,
    id1=0x806f5f0, id2=0x80723c8, trail=0x806dc30)
    at ../svn/subversion/libsvn_fs/tree.c:1222
1222 return svn_fs__dag_is_ancestor (is_ancestor, node1, node2, trail);
(gdb) p node1[0]
$18 = {fs = 0x40003836, pool = 0x806f73f, id = 0x11, kind = 134673888,
  node_revision = 0x806f5e2}
(gdb) p node2[0]
$19 = {fs = 0x8510c483, pool = 0xb80774c0, id = 0x0, kind = 28837355,
  node_revision = 0x8b000000}

These are junk, the addresses are out-of-bounds. I see that
id_check_ancestor is calling svn_fs__dag_get_node without checking the
returned error. Is this correct?

(gdb) up
#3 0x40070ba6 in merge (conflict_p=0x806dc18, target_path=0x40077d33 "",
    target=0x80739a0, source=0x807b138, ancestor=0x807ac98,
    txn_id=0x8062ed8 "6t", trail=0x806dc30)
    at ../svn/subversion/libsvn_fs/tree.c:1584
1584 SVN_ERR (id_check_ancestor (&a_ancestorof_t, fs, a_entry->id,
(gdb) p a_entry[0]
$20 = {name = 0x806f5d0 "foo2", id = 0x806f5f0}
(gdb) p a_entry[0].id[0]
$21 = {node_id = 0x806f5e0 "8", copy_id = 0x806f5e2 "0",
  txn_id = 0x806f5e4 "68"}
(gdb) p t_entry[0]
$22 = {name = 0x80723a8 "foo2", id = 0x80723c8}
(gdb) p t_entry[0].id[0]
$23 = {node_id = 0x80723b8 "8", copy_id = 0x80723ba "0",
  txn_id = 0x80723bc "6t"}

These look plausible, but what do I know.

-- 
Philip
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Jun 8 00:48:12 2002

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