You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@lyra.org> on 2001/08/22 04:41:24 UTC

diff problem notes

I captured the svndiff of a change to a file which is causing problems when
being sent to the server. The server is throwing error #21006 ("Delta source
ended unexpectedly.")  (I don't have the name for 21006 handy... I think it
is SVN_ERR_INCOMPLETE_DATA)

I'm going to try and run this via ra_local to see what happens.

Attached below is the raw data and the breakdown of its meaning. It all
appears to be quite fine. I'm imagining the data gets corrupted in transit,
or that its interpretation blows up.

This is the underlying symptom of the "PUT 500" errors that were reported.

More info as it arises (e.g. ra_local testing)

Cheers,
-g

p.s. I believe Mike has a repro case for an svndiff related bug, too. He
hasn't posted anything, so I don't know if it is the same thing or not...


HEX DATA         MEANING (decimal, where appropriate)

53 56 4e 00      "SVN\0"

00               Source view offset: 0
86 f0 77         Source view length: 112759 (length of original file)
86 a0 00         Target view length: 102400
05               Length of instructions: 5
00               Length of new data: 0
00               Copy from source:
    86 a0           102400 bytes
    00 00           offset 0

d0 77            Source view offset: 10359
86 a0 00         Source view length: 102400
d1 01            Target view length:
0b               Length of instructions: 5
03               Length of new data: 3
00               Copy from source:
    d0 77            10359 bytes
    85 cf 09         offset 92041   (bytes 102400 thru 112759 of file)
07               Copy from source: 7 bytes
    85 b5 1b         offset 88731   (found "changed " at 99090)
83               Copy from new data: 3 bytes
23 33 0a         New data: "#3\n"

-- 
Greg Stein, http://www.lyra.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Greg Stein <gs...@lyra.org>.
On Wed, Aug 22, 2001 at 09:00:40AM +0200, Branko Hibej wrote:
> cmpilato@collab.net wrote:
> >Greg Stein <gs...@lyra.org> writes:
> >>I captured the svndiff of a change to a file which is causing
> >>problems when being sent to the server. The server is throwing error
> >>#21006 ("Delta source ended unexpectedly.")  (I don't have the name
> >>for 21006 handy... I think it is SVN_ERR_INCOMPLETE_DATA)
> >
> >Heh.  I'm online right now in fact to update Issue #460 with my recent
> >findings.  This error shows up when the file size is > 102400 bytes.
> >102401 will do it.  What's the significance of that number?  Why, it's
> >the size of the svndiff windows.
> 
> Exactly /how/ are we encodin delta windows in ra_dav? The XML delta

We just use the standard streaming function. On the server side, we extract
windows from the stream. Nothing special...

> packages are whole dumps, not split  on window boundaries, right? This 
> is truly weird ...

There is no XML here. The svndiff stream is PUT to the server using a new
MIME type, rather than encapsulating the stream in XML.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Branko Čibej <br...@xbc.nu>.
cmpilato@collab.net wrote:

>Greg Stein <gs...@lyra.org> writes:
>
>>I captured the svndiff of a change to a file which is causing
>>problems when being sent to the server. The server is throwing error
>>#21006 ("Delta source ended unexpectedly.")  (I don't have the name
>>for 21006 handy... I think it is SVN_ERR_INCOMPLETE_DATA)
>>
>
>Heh.  I'm online right now in fact to update Issue #460 with my recent
>findings.  This error shows up when the file size is > 102400 bytes.
>102401 will do it.  What's the significance of that number?  Why, it's
>the size of the svndiff windows.
>

Exactly /how/ are we encodin delta windows in ra_dav? The XML delta 
packages are whole dumps, not split  on window boundaries, right? This 
is truly weird ...


    Brane, apologizing for not being more help right now, but racking 
hir brain anyhow


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Branko Čibej <br...@xbc.nu>.
cmpilato@collab.net wrote:

>Greg Stein <gs...@lyra.org> writes:
>
>>I captured the svndiff of a change to a file which is causing
>>problems when being sent to the server. The server is throwing error
>>#21006 ("Delta source ended unexpectedly.")  (I don't have the name
>>for 21006 handy... I think it is SVN_ERR_INCOMPLETE_DATA)
>>
>
>Heh.  I'm online right now in fact to update Issue #460 with my recent
>findings.  This error shows up when the file size is > 102400 bytes.
>102401 will do it.  What's the significance of that number?  Why, it's
>the size of the svndiff windows.
>
>>I'm going to try and run this via ra_local to see what happens.
>>
>
>It'll fail (I expect, since that's what I've been looking at for a
>day).  :-)
>
>>p.s. I believe Mike has a repro case for an svndiff related bug, too. He
>>hasn't posted anything, so I don't know if it is the same thing or
>>not...
>>
>
>Probably is the same thing.  Thanks for the svndiff dump.
>

I was too enthusiastic about this. Issue #460 is /not/ the same as this 
problem. At least, I wasn't able to reproduce the PUT 500 using the 
recipe in #460.

I also noticed that random-test would never test with files larger than 
a single delta window. Changing that didn't expose the bug, though. My 
prescient powers tell me we may be having a problem with the generic 
streams, not the diffs themselves, but I wasn't able to test/confirm 
this, because GDB is giving me hell. It keeps telling me it couldnt set 
breakpoint -2, fer gossake. Urgh.

-- 
Brane �ibej   <br...@xbc.nu>            http://www.xbc.nu/brane/




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Branko Čibej <br...@xbc.nu>.
cmpilato@collab.net wrote:

>Greg Stein <gs...@lyra.org> writes:
>
>>To be clear: you are seeing the same 102k size window problem via ra_local?
>>
(It's exactly 100k. 100 * 1024, you know. :-)

>
>Because I have faith that you, Karl, and Ben are quite capable of
>doing DAV testing without my help these days, I am *only* seeing the
>102k window size problem with ra_local.  :-)
>

Ah! That narrows down the possible bug locations considerably. I'll look 
into this tonight, if nobody beats me to it.


-- 
Brane �ibej   <br...@xbc.nu>            http://www.xbc.nu/brane/




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by cm...@collab.net.
Greg Stein <gs...@lyra.org> writes:

> To be clear: you are seeing the same 102k size window problem via ra_local?

Because I have faith that you, Karl, and Ben are quite capable of
doing DAV testing without my help these days, I am *only* seeing the
102k window size problem with ra_local.  :-)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Greg Stein <gs...@lyra.org>.
On Tue, Aug 21, 2001 at 11:48:37PM -0500, cmpilato@collab.net wrote:
> Greg Stein <gs...@lyra.org> writes:
>...
> > I'm going to try and run this via ra_local to see what happens.
> 
> It'll fail (I expect, since that's what I've been looking at for a
> day).  :-)

To be clear: you are seeing the same 102k size window problem via ra_local?

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by cm...@collab.net.
Greg Stein <gs...@lyra.org> writes:

> I captured the svndiff of a change to a file which is causing
> problems when being sent to the server. The server is throwing error
> #21006 ("Delta source ended unexpectedly.")  (I don't have the name
> for 21006 handy... I think it is SVN_ERR_INCOMPLETE_DATA)

Heh.  I'm online right now in fact to update Issue #460 with my recent
findings.  This error shows up when the file size is > 102400 bytes.
102401 will do it.  What's the significance of that number?  Why, it's
the size of the svndiff windows.

> I'm going to try and run this via ra_local to see what happens.

It'll fail (I expect, since that's what I've been looking at for a
day).  :-)

> p.s. I believe Mike has a repro case for an svndiff related bug, too. He
> hasn't posted anything, so I don't know if it is the same thing or
> not...

Probably is the same thing.  Thanks for the svndiff dump.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: diff problem notes

Posted by Branko Čibej <br...@xbc.nu>.
Greg Stein wrote:

>I captured the svndiff of a change to a file which is causing problems when
>being sent to the server. The server is throwing error #21006 ("Delta source
>ended unexpectedly.")  (I don't have the name for 21006 handy... I think it
>is SVN_ERR_INCOMPLETE_DATA)
>
>I'm going to try and run this via ra_local to see what happens.
>
>Attached below is the raw data and the breakdown of its meaning. It all
>appears to be quite fine. I'm imagining the data gets corrupted in transit,
>or that its interpretation blows up.
>
>This is the underlying symptom of the "PUT 500" errors that were reported.
>
>More info as it arises (e.g. ra_local testing)
>
>Cheers,
>-g
>
>p.s. I believe Mike has a repro case for an svndiff related bug, too. He
>hasn't posted anything, so I don't know if it is the same thing or not...
>
>
>HEX DATA         MEANING (decimal, where appropriate)
>
>53 56 4e 00      "SVN\0"
>
>00               Source view offset: 0
>86 f0 77         Source view length: 112759 (length of original file)
>86 a0 00         Target view length: 102400
>05               Length of instructions: 5
>00               Length of new data: 0
>00               Copy from source:
>    86 a0           102400 bytes
>    00 00           offset 0
>
>d0 77            Source view offset: 10359
>86 a0 00         Source view length: 102400
>d1 01            Target view length:
>0b               Length of instructions: 5
>03               Length of new data: 3
>00               Copy from source:
>    d0 77            10359 bytes
>    85 cf 09         offset 92041   (bytes 102400 thru 112759 of file)
>07               Copy from source: 7 bytes
>    85 b5 1b         offset 88731   (found "changed " at 99090)
>83               Copy from new data: 3 bytes
>23 33 0a         New data: "#3\n"
>


This is absolutely fine. Id be very surprised if random-test hadn't 
found any latent priblems in the delta generation and svndiff parsing.


    Brane



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org