subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "NOCERA, ANDY" <an2...@att.com>
Subject RE: E130003: The XML response contains invalid XML - Follow-up
Date Thu, 15 Mar 2018 22:35:32 GMT
Folks, 

I used dump and load to debug the malformed node revision ID.  Here are my steps and what
 learned.   Looks like the revs' file text: entry has a zero instead of size.  By just editing
the size, verify worked.   No other change was required.  The question is can we correct this
ourselves without a dump and load?
 
Thanks
Andy


# Notes from debugging E160062: Malformed node revision ID string after dump and load # rm
-rf /usr/tmp/xrepox /opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin create /usr/tmp/xrepox
/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin dump -r0:3 wd2tva02 and /opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin
load /usr/tmp/xrepox
	* Dumped revision 0.
	* Dumped revision 1.
	* Dumped revision 2.
	* Dumped revision 3.

/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Verified revision 23.

/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin verify /usr/tmp/xrepox
	* Verifying repository metadata ...
	* Verified revision 2.

/opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Error verifying revision 1.
	svnadmin: E160062: Malformed node revision ID string

Compare dump and loaded repos revs 1-3

db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
  diff db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
	18c18
	< text: 1 76 48 0 ec69809945c46f2bb74e99a3ff7cd917
	---
	> text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917
	22c22
	< _0.0.t0-4501db85ea8ce59fc8eed19225af3b1387e71cb10 add-dir false false /ccm06_prod_1_20387
	---
	> _0.0.t0-0 add-dir false false /ccm06_prod_1_20387
	25c25
	< 137 260
	---
	> 137 261

db/revs/0/3 /usr/tmp/xrepox/db/revs/0/3
  diff db/revs/0/3 /usr/tmp/xrepox/db/revs/0/3
	26c26
	< text: 3 74 134 0 a714b2fcbeb1639111a020a133ae1028
	---
	> text: 3 74 134 134 a714b2fcbeb1639111a020a133ae1028
	30c30
		< _0.0.t2-4501db85ea8ce59fc8eed19225af3b1387e71cb12 add-dir false false /ccm06_n1_1_21751
	---
	> _0.0.t2-2 add-dir false false /ccm06_n1_1_21751
	33c33
	< 221 346
	---
	> 221 348
	db/revs/0/2 /usr/tmp/xrepox/db/revs/0/2
	diff db/revs/0/2 /usr/tmp/xrepox/db/revs/0/2
	22c22
	< text: 2 76 92 0 83b62398481e74fcb4405d4739c25d5f
	---
	> text: 2 76 92 92 83b62398481e74fcb4405d4739c25d5f
	26c26
	< _0.0.t1-4501db85ea8ce59fc8eed19225af3b1387e71cb11 add-dir false false /ccm06_prod_2_20387
	---
	> _0.0.t1-1 add-dir false false /ccm06_prod_2_20387
	29c29
	< 181 305
	---
	> 181 306


IF I CHANGE - wd2tva02/db/revs/0/1 to include 48 48 like the loaded repo verify passes
	'text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917'

The Problem moves to the next rev, which I can also edit

$ /opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
* Verified revision 0.
* Verified revision 1.
* Error verifying revision 2.
svnadmin: E160062: Malformed node revision ID string


Looks like size field is zero for this repo grep text wd2tva02/db/revs/0/*
	wd2tva02/db/revs/0/0:text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e
	wd2tva02/db/revs/0/1:text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917
	wd2tva02/db/revs/0/10:text: 10 77 432 0 65cdd97c3c194413c12ddc41f5fd7437
	wd2tva02/db/revs/0/11:text: 11 76 476 0 29907530feba5dbcb9105e61f29f8a2d
	wd2tva02/db/revs/0/12:text: 12 78 522 0 ccd453b94ffecc6bac34afc1e62b977f
	wd2tva02/db/revs/0/13:text: 13 78 568 0 97965d3ec3d1d91bbf6f6bdf9c176570
	wd2tva02/db/revs/0/14:text: 14 76 612 0 ff2281abf3bea67c63df9c83199b9288
	wd2tva02/db/revs/0/15:text: 15 76 656 0 01f577ad55e77d72d9833a0e6a864093
	wd2tva02/db/revs/0/16:text: 16 78 702 0 1a4a8868f7a819c3a5a0b049f158d2a3
	wd2tva02/db/revs/0/17:text: 17 78 748 0 3b8c4d8e3c95415a5098c12750547c22
	wd2tva02/db/revs/0/18:text: 18 76 792 0 88533d0f4d89abb917a54aa40c67379c
	wd2tva02/db/revs/0/19:text: 19 76 836 0 90e8b5563d2f92ccf804b6b57d42a962
	wd2tva02/db/revs/0/2:text: 2 76 92 92 83b62398481e74fcb4405d4739c25d5f
	wd2tva02/db/revs/0/20:text: 20 78 882 0 4730fe1d4df3ca5f4e9d2be2d6b48273
	wd2tva02/db/revs/0/21:text: 21 78 928 0 5a39be128a193e69edd603e5464029c0
	wd2tva02/db/revs/0/22:text: 22 75 971 0 23986c9522e8ce73fa93e7d6e4070d5b
	wd2tva02/db/revs/0/23:text: 23 75 1014 0 6b6b656e3a76f227bf0806162da70859
	wd2tva02/db/revs/0/3:text: 3 74 134 134 a714b2fcbeb1639111a020a133ae1028
	wd2tva02/db/revs/0/4:text: 4 74 176 176 aa41a08702fc9281d222519cb8a7b01e
	wd2tva02/db/revs/0/5:text: 5 75 219 0 d134abf460f591ffc0c4d996b376fdd9
	wd2tva02/db/revs/0/6:text: 6 75 262 0 cf9070ac92de06910dbb38427ef61535
	wd2tva02/db/revs/0/7:text: 7 73 303 0 9b9d5dd52df70c31bd9930d826dce5f6
	wd2tva02/db/revs/0/8:text: 8 73 344 0 ce7870a25dc9904d281a056820f3e118
	wd2tva02/db/revs/0/9:text: 9 75 387 0 dec2dc2a8c2438c86a6a087d7fb03b82
	
After making several edits

   /opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Verified revision 1.
	* Verified revision 2.
	* Verified revision 3.
	* Verified revision 4.
	* Error verifying revision 5.
	svnadmin: E160062: Malformed node revision ID string


#
# Notes from debugging E160062: Malformed node revision ID string after dump and load # rm
-rf /usr/tmp/xrepox /opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin create /usr/tmp/xrepox
/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin dump -r0:3 wd2tva02 and /opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin
load /usr/tmp/xrepox
	* Dumped revision 0.
	* Dumped revision 1.
	* Dumped revision 2.
	* Dumped revision 3.

/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Verified revision 23.

/opt/app/scm/svn/binaries/svn_1.8/bin/svnadmin verify /usr/tmp/xrepox
	* Verifying repository metadata ...
	* Verified revision 2.

/opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Error verifying revision 1.
	svnadmin: E160062: Malformed node revision ID string

Compare dump and loaded repos revs 1-3

db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
  diff db/revs/0/1 /usr/tmp/xrepox/db/revs/0/1
	18c18
	< text: 1 76 48 0 ec69809945c46f2bb74e99a3ff7cd917
	---
	> text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917
	22c22
	< _0.0.t0-4501db85ea8ce59fc8eed19225af3b1387e71cb10 add-dir false false /ccm06_prod_1_20387
	---
	> _0.0.t0-0 add-dir false false /ccm06_prod_1_20387
	25c25
	< 137 260
	---
	> 137 261

db/revs/0/3 /usr/tmp/xrepox/db/revs/0/3
  diff db/revs/0/3 /usr/tmp/xrepox/db/revs/0/3
	26c26
	< text: 3 74 134 0 a714b2fcbeb1639111a020a133ae1028
	---
	> text: 3 74 134 134 a714b2fcbeb1639111a020a133ae1028
	30c30
		< _0.0.t2-4501db85ea8ce59fc8eed19225af3b1387e71cb12 add-dir false false /ccm06_n1_1_21751
	---
	> _0.0.t2-2 add-dir false false /ccm06_n1_1_21751
	33c33
	< 221 346
	---
	> 221 348
	db/revs/0/2 /usr/tmp/xrepox/db/revs/0/2
	diff db/revs/0/2 /usr/tmp/xrepox/db/revs/0/2
	22c22
	< text: 2 76 92 0 83b62398481e74fcb4405d4739c25d5f
	---
	> text: 2 76 92 92 83b62398481e74fcb4405d4739c25d5f
	26c26
	< _0.0.t1-4501db85ea8ce59fc8eed19225af3b1387e71cb11 add-dir false false /ccm06_prod_2_20387
	---
	> _0.0.t1-1 add-dir false false /ccm06_prod_2_20387
	29c29
	< 181 305
	---
	> 181 306


IF I CHANGE - wd2tva02/db/revs/0/1 to include 48 48 like the loaded repo verify passes
	'text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917'

The Problem moves to the next rev, which I can also edit

$ /opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
* Verified revision 0.
* Verified revision 1.
* Error verifying revision 2.
svnadmin: E160062: Malformed node revision ID string


Looks like size field is zero for this repo grep text wd2tva02/db/revs/0/*
	wd2tva02/db/revs/0/0:text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e
	wd2tva02/db/revs/0/1:text: 1 76 48 48 ec69809945c46f2bb74e99a3ff7cd917
	wd2tva02/db/revs/0/10:text: 10 77 432 0 65cdd97c3c194413c12ddc41f5fd7437
	wd2tva02/db/revs/0/11:text: 11 76 476 0 29907530feba5dbcb9105e61f29f8a2d
	wd2tva02/db/revs/0/12:text: 12 78 522 0 ccd453b94ffecc6bac34afc1e62b977f
	wd2tva02/db/revs/0/13:text: 13 78 568 0 97965d3ec3d1d91bbf6f6bdf9c176570
	wd2tva02/db/revs/0/14:text: 14 76 612 0 ff2281abf3bea67c63df9c83199b9288
	wd2tva02/db/revs/0/15:text: 15 76 656 0 01f577ad55e77d72d9833a0e6a864093
	wd2tva02/db/revs/0/16:text: 16 78 702 0 1a4a8868f7a819c3a5a0b049f158d2a3
	wd2tva02/db/revs/0/17:text: 17 78 748 0 3b8c4d8e3c95415a5098c12750547c22
	wd2tva02/db/revs/0/18:text: 18 76 792 0 88533d0f4d89abb917a54aa40c67379c
	wd2tva02/db/revs/0/19:text: 19 76 836 0 90e8b5563d2f92ccf804b6b57d42a962
	wd2tva02/db/revs/0/2:text: 2 76 92 92 83b62398481e74fcb4405d4739c25d5f
	wd2tva02/db/revs/0/20:text: 20 78 882 0 4730fe1d4df3ca5f4e9d2be2d6b48273
	wd2tva02/db/revs/0/21:text: 21 78 928 0 5a39be128a193e69edd603e5464029c0
	wd2tva02/db/revs/0/22:text: 22 75 971 0 23986c9522e8ce73fa93e7d6e4070d5b
	wd2tva02/db/revs/0/23:text: 23 75 1014 0 6b6b656e3a76f227bf0806162da70859
	wd2tva02/db/revs/0/3:text: 3 74 134 134 a714b2fcbeb1639111a020a133ae1028
	wd2tva02/db/revs/0/4:text: 4 74 176 176 aa41a08702fc9281d222519cb8a7b01e
	wd2tva02/db/revs/0/5:text: 5 75 219 0 d134abf460f591ffc0c4d996b376fdd9
	wd2tva02/db/revs/0/6:text: 6 75 262 0 cf9070ac92de06910dbb38427ef61535
	wd2tva02/db/revs/0/7:text: 7 73 303 0 9b9d5dd52df70c31bd9930d826dce5f6
	wd2tva02/db/revs/0/8:text: 8 73 344 0 ce7870a25dc9904d281a056820f3e118
	wd2tva02/db/revs/0/9:text: 9 75 387 0 dec2dc2a8c2438c86a6a087d7fb03b82
	
After making several edits

   /opt/app/scm/svn/binaries/svn_1.9.7/bin/svnadmin verify wd2tva02
	* Verified revision 0.
	* Verified revision 1.
	* Verified revision 2.
	* Verified revision 3.
	* Verified revision 4.
	* Error verifying revision 5.
	svnadmin: E160062: Malformed node revision ID string


Can we edit the revs 'text:" entry instead of a dump a load?
-----Original Message-----
From: Johan Corveleyn [mailto:jcorvel@gmail.com] 
Sent: Wednesday, March 07, 2018 6:27 AM
To: NOCERA, ANDY <an2124@att.com>
Cc: users@subversion.apache.org
Subject: Re: E130003: The XML response contains invalid XML - svn co and log issue on some
repos using https/http

On Tue, Mar 6, 2018 at 5:21 PM, NOCERA, ANDY <an2124@att.com> wrote:
> John,
>
> Good feedback.
>
> Svnadmin 1.9 verify is showing the error also.   I did a dump and load and it resolved
that repo.    Having reviewed my repos, it looks like around 30%  have this issue.  Not sure
what we could have done wrong to cause it.   A real simple repo is mine and has only a few
commits shows the error.   Is there a correction method quicker than a dump and load?
>

Nice, great that dump+load fixes it. I don't think there is a quicker method.

It might be worth investigating why this happened to begin with. But I don't really know where
to start. One hypothesis is that this corruption is already lingering there for years (until
1.9 it wouldn't have been noticed) ... perhaps something outside of SVN manipulated the rev
files years ago? Or perhaps there was a bug once in SVN that caused this to happen (but the
corruption remained benign / unnoticed, until the stricter validation by 1.9). It's also possible
that the stricter validation by 1.9 contains a bug, and is too strict for some cases (though
in that case I would have expected more reports on this list).

Maybe you can make a more accurate hypothesis by investigating exactly what the "Malformed
node revision ID string"s looks like. Actually, danielsh just improved that error message
a few days ago, by adding the actual data to the error message:
https://urldefense.proofpoint.com/v2/url?u=http-3A__svn.apache.org_viewvc-3Fview-3Drevision-26revision-3D1825846&d=DwIFaQ&c=LFYZ-o9_HUMeMTSQicvjIg&r=lHImfy5Z3mUV3q_wXtPXpg&m=H1vU79y-LZUNg2o-MTOUnApkEdSPmq6uvVWkpF1n-ZM&s=VcsP7Qwl3TAy_zSkzRZaG5vEBgC4alj__qhGeBQr_54&e=


So if you can build svn from source you might be able to perform a build from the latest svn
trunk, and run 'svnadmin verify' to get the more verbose error message (be careful not to
use your trunk svn build on production data without creating a backup of course). Or alternatively
you can try taking a look into the rev files yourself, to find the "malformed node revision
ID".

--
Johan
Mime
View raw message