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

Re: Assertion Failed: workqueue.c

From: Philip Martin <philip.martin_at_wandisco.com>
Date: Thu, 13 Oct 2011 22:06:19 +0100

[Moving to dev]

Patrick Quirk <P.Quirk_at_smt.com> writes:
> The 'X' folder was not and should not have been deleted or marked for
> deletion in the working copy or in the repository. The MONSTER.FMX
> folder was added beneath it and was pulled down for the first time
> during that update.

Patrick was kind enough to send me his wc.db file:

sqlite3 .svn/wc.db "select op_depth, local_relpath, presence, revision from nodes where local_relpath like 'X%'"

1|X|incomplete|
0|X|incomplete|18993
0|X/NBC.REDBULL|normal|18972
0|X/NBC.REDBULL/NBC.REDBULL.sln|normal|18972
0|X/NBC.REDBULL/NBC.REDBULL.csproj|normal|18972
0|X/NBC.REDBULL/Boxes|normal|18972
0|X/NBC.REDBULL/Controls|normal|18972
0|X/NBC.REDBULL/Forms|normal|18972
0|X/NBC.REDBULL/Resources|normal|18972
0|X/NBC.REDBULL/Resources/button face.png|normal|18972
0|X/NBC.REDBULL/Properties|normal|18972
0|X/NBC.REDBULL/Properties/AssemblyInfo.cs|normal|18972
0|X/NBC.REDBULL/Properties/Resources.resx|normal|18972
0|X/NBC.REDBULL/Properties/Resources.Designer.cs|normal|18972
0|X/NBC.REDBULL/Classes|normal|18972
0|X/NBC.REDBULL/Views|normal|18972
0|X/NBC.REDBULL/Views/Live|normal|18972
0|X/NBC.REDBULL/Views/Stat|normal|18972
0|X/MSI.SKATE|normal|18972
0|X/MSI.SKATE/MSI.SKATE.sln|normal|18972
0|X/MSI.SKATE/MSI.SKATE.csproj|normal|18972
0|X/MSI.SKATE/Boxes|normal|18972
0|X/MSI.SKATE/Boxes/gbSkateDisplay.resx|normal|18972
0|X/MSI.SKATE/Boxes/gbSkateDisplay.Designer.cs|normal|18972
0|X/MSI.SKATE/Boxes/gbSkateDisplay.cs|normal|18972
0|X/MSI.SKATE/Controls|normal|18972
0|X/MSI.SKATE/Forms|normal|18972
0|X/MSI.SKATE/Resources|normal|18972
0|X/MSI.SKATE/Resources/button face.png|normal|18972
0|X/MSI.SKATE/Properties|normal|18972
0|X/MSI.SKATE/Properties/AssemblyInfo.cs|normal|18972
0|X/MSI.SKATE/Properties/Resources.resx|normal|18972
0|X/MSI.SKATE/Properties/Resources.Designer.cs|normal|18972
0|X/MSI.SKATE/Classes|normal|18972
0|X/MSI.SKATE/Views|normal|18972
0|X/MSI.SKATE/Views/Live|normal|18972
0|X/MSI.SKATE/Views/Stat|normal|18972
0|X/MONSTER.FMX|incomplete|18993
1|X/MONSTER.FMX|base-deleted|
0|X/MONSTER.FMX/MONSTER.FMX.csproj|normal|18993
1|X/MONSTER.FMX/MONSTER.FMX.csproj|base-deleted|
1|X/MONSTER.FMX/Boxes|base-deleted|
0|X/MONSTER.FMX/Boxes/gbFMXDisplay.resx|normal|18993
1|X/MONSTER.FMX/Boxes/gbFMXDisplay.resx|base-deleted|
0|X/MONSTER.FMX/Boxes/gbFMXDisplay.Designer.cs|normal|18993
1|X/MONSTER.FMX/Boxes/gbFMXDisplay.Designer.cs|base-deleted|
0|X/MONSTER.FMX/Boxes/gbFMXDisplay.cs|normal|18993
1|X/MONSTER.FMX/Boxes/gbFMXDisplay.cs|base-deleted|
0|X/MONSTER.FMX/Boxes|normal|18993

The only nodes in the wc with op-depth > 0 are in the above list. The
items in the workqueue:

sqlite3 .svn/wc.db "select * from work_queue"

79|(file-install X/MONSTER.FMX/MONSTER.FMX.csproj 1 0 1 1)
80|(file-install X/MONSTER.FMX/Boxes/gbFMXDisplay.resx 1 0 1 1)
81|(file-install X/MONSTER.FMX/Boxes/gbFMXDisplay.Designer.cs 1 0 1 1)
82|(file-install X/MONSTER.FMX/Boxes/gbFMXDisplay.cs 1 0 1 1)

all have checksums at op-depth=0 and those checksums all have
corresponding entries in PRISTINE, but the nodes also all have
op-depth=1 rows that are base-deleted. These rows don't have checksums,
which is expected for base-deleted rows, and that is what causes the
assert.

Where did those rows come from? I don't know, but op-depth=1 indicates
that they are related to the 'X' row at op-depth=1. That row is
'incomplete', I'm not sure how or when that happened. Did it exist
before the update? Did the update change it to 'incomplete' from
something else? If 'X' was base-deleted then the whole tree should be
base-deleted as well.

I've tried to reproduce it with test repo/wc by inserting a spurious
row of various kinds:

sqlite3 wc/.svn/wc.db "insert into nodes (wc_id, local_relpath, op_depth, parent_relpath, presence, kind, depth) values (1, 'A', 1, '', 'base-deleted', 'dir', 'infinity')"

and then running update, but I haven't yet managed to reproduce the
assert.

-- 
Philip
Received on 2011-10-13 23:07:00 CEST

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