AssertionError("%d != %d" % (len(tview), tview_len)) in delta.py, line 57, in apply_txdelta_window

Bug #805784 reported by Sergey
48
This bug affects 7 people
Affects Status Importance Assigned to Milestone
subvertpy
Triaged
High
Unassigned

Bug Description

There are Mercurial, hgsubversion plug-in, and subvertpy involved here, but I'm filing this in subvertpy bug tracker because an assertion was hit.

The full trace is attached. On Windows XP, I was trying to use hg 1.8.4 and hgsubversion (fairly recent) with subvertpy 0.8 to clone a Subversion 1.6.15 repository (on RHEL 5). The repository is structured as multiple projects, each with its own branches/tags/trunk. There are 10+ projects currently, all but two I could clone successfully. The remaining two have the same error -- assertion in subvertpy.

If you could take a look at it and let me know what seems to be the problem I'd be grateful. If there's additional information needed please let me know. I had to replace some unique identifiers in the trace to protect my employer.

Revision history for this message
Sergey (hvmptydvmpty) wrote :
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

This generally happens when trying to apply a delta against an incorrect base; in all cases I've seen so far this has happened because an invalid delta or invalid fulltext were passed in.

Changed in subvertpy:
status: New → Incomplete
Revision history for this message
Sergey (hvmptydvmpty) wrote :
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

Have you tried reproducing the issue while using hgsubversion on the SWIG bindings?

Revision history for this message
Sergey (hvmptydvmpty) wrote :

Yes, using SWIG binding works.

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 805784] Re: AssertionError("%d != %d" % (len(tview), tview_len)) in delta.py, line 57, in apply_txdelta_window

On Wed, 2011-07-27 at 02:12 +0000, Sergey wrote:
> Yes, using SWIG binding works.
Hmm, interesting. I guess that means there is a bug in the subvertpy
implementation. Thanks for checking.

  status triaged
  importance high

Cheers,

Jelmer

Changed in subvertpy:
importance: Undecided → High
status: Incomplete → Triaged
Revision history for this message
Sergey (hvmptydvmpty) wrote :

If there are any checks that can help determine the root cause I'm ready to try them out.

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

On Thu, 2011-07-28 at 02:31 +0000, Sergey wrote:
> If there are any checks that can help determine the root cause I'm ready
> to try them out.
What would really help is having the parameters to apply_txdelta_window,
as that would make it possible to reproduce the problem here locally.

Cheers,

Jelmer

Revision history for this message
David Coles (dcoles) wrote :

At least for me the parameters that I see the crash on are:
apply_txdelta_window(sbuf, (0L, 6563, 6562, 2, [(0, 0, 927), (0, 928, 5635)], '')

(where 'sbuff' is the full contents of one of the files stored in the repository).

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

On Fri, 2011-07-29 at 16:52 +0000, David Coles wrote:
> At least for me the parameters that I see the crash on are:
> apply_txdelta_window(sbuf, (0L, 6563, 6562, 2, [(0, 0, 927), (0, 928, 5635)], '')
>
> (where 'sbuff' is the full contents of one of the files stored in the
> repository).
Can you provide sbuf as well? The combination of these things is what makes it useful.

Cheers,

Jelmer

Revision history for this message
Dennis Schridde (devurandom) wrote :

I have the same issue, also using hgsubversion.

$ hg pull -u
pulling from svn+http://svn.enlightenment.org/svn/e
[r25195] raster: todo++
[…]

Complete backtrace attached.

Parameters to apply_txdelta_window were:
(0L, 6599, 6703, 2, [(0, 0, 1471), (2, 0, 97), (0, 1464, 5135)], 'needs way to replace or extend the right click menu (disable/enable\n rename/delete/refresh etc.)')

The contents of sbuf are attached.

This is the code that generated the output:
    f = open("/tmp/hgsvn-params", "w")
    f.write(str((sview_offset, sview_len, tview_len, src_ops, ops, new_data)))
    f.close()
    f = open("/tmp/hgsvn-sbuf", "w")
    f.write(sbuf)
    f.close()
    if len(tview) != tview_len:
        [...]

hgsubversion: e252f9355933
Subversion: 1.6.17
bindings: Subvertpy 0.8.10

Revision history for this message
Dennis Schridde (devurandom) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.