sapling icon indicating copy to clipboard operation
sapling copied to clipboard

sl pull throws error: post-pull.prmarker hook raised an exception: revlog index out of range

Open beatrixada opened this issue 2 years ago • 6 comments

When running sl pull on a repo stored on GitHub, I get:

error: post-pull.prmarker hook raised an exception: revlog index out of range
Traceback (most recent call last):
  File "static:sapling.hook", line 89, in _pythonhook
    r = obj(ui=ui, repo=repo, hooktype=htype, **args)
    # htype = 'post-pull'
  File "static:sapling.ext.github.pr_marker", line 31, in cleanup_landed_pr_hook
    cleanup_landed_pr(ui, repo)
  File "static:sapling.ext.github.pr_marker", line 48, in cleanup_landed_pr
    pr_to_draft = _get_draft_commits(repo)
  File "static:sapling.ext.github.pr_marker", line 77, in _get_draft_commits
    for ctx in repo.set("sort(draft() - obsolete(), -rev)"):
  File "static:sapling.localrepo", line 1521, in set
    return self.revs(expr, *args).iterctx()
    # args = ()
    # expr = 'sort(draft() - obsolete(), -rev)'
  File "static:sapling.localrepo", line 1510, in revs
    return m(self, subset=subset)
  File "static:sapling.revset", line 2764, in mfunc
    return getset(repo, subset, tree, order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
    # tree = ('func', ('symbol', 'sort'), ('list', (...., ...., ....), (...., ....)))
  File "static:sapling.revset", line 105, in getset
    return methods[x[0]](repo, subset, *x[1:], order=order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
    # x = ('func', ('symbol', 'sort'), ('list', (...., ...., ....), (...., ....)))
  File "static:sapling.revset", line 372, in func
    return func(repo, subset, b, order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 2208, in sort
    revs = getset(repo, subset, s, order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 105, in getset
    return methods[x[0]](repo, subset, *x[1:], order=order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 289, in differenceset
    return getset(repo, subset, x, order) - getset(repo, subset, y, anyorder)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 105, in getset
    return methods[x[0]](repo, subset, *x[1:], order=order)
    # order = 'define'
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 373, in func
    return func(repo, subset, b)
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
  File "static:sapling.revset", line 1817, in getdraft
    return _phase(repo, subset, target)
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
    # target = 1
  File "static:sapling.revset", line 1805, in _phase
    return repo._phasecache.getrevset(repo, targets, subset)
    # subset = <fullreposet+ <spans [153c4ce3e743549660c75d84f279fdc181f25b02:bedba0a3e0b62d33341badd0f53730a1939df8d8+N0:N2, 6d9fa994a9ccadc1232fef2c3e50d8497e6b7b54:a07b469c4a8f07d2e98bee54780478bb03f60410+0:2638]>>
    # targets = (1)
  File "static:sapling.phases", line 232, in getrevset
    revs = self.draftrevs(repo)
  File "static:sapling.phases", line 330, in draftrevs
    self.publicrevs(repo)
  File "static:sapling.phases", line 342, in publicrevs
    publicheadnodes = repo.heads(includepublic=True, includedraft=False)
  File "static:sapling.localrepo", line 3138, in heads
    return list(map(self.changelog.node, headrevs))
    # headrevs = [72057594037927939]
  File "static:sapling.changelog2", line 290, in node
    raise IndexError("revlog index out of range")
Traceback (most recent call last):
  File "static:sapling.changelog2", line 288, in node
    return self.idmap.id2node(rev)
           ^^^^^^^^^^^^^^^^^^^^^^^
error.CommitLookupError: 'N3 cannot be found'

During handling of the above exception, another exception occurred:

IndexError: revlog index out of range

Running sl pull again does not return the same error.

beatrixada avatar Dec 04 '23 16:12 beatrixada

@bklebe thanks for reporting the issue. What's the version of your sl? are you able to reproduce it?

zzl0 avatar Dec 04 '23 18:12 zzl0

I can repo this (it's not every time but a good % of the time I pull it fails with the error)

I'm using Sapling 0.2.20231113-145254+995db0d6

ianb-pomelo avatar Dec 05 '23 17:12 ianb-pomelo

@bklebe thanks for reporting the issue. What's the version of your sl? are you able to reproduce it?

@zzl0 I can't consistently reproduce it. I'm using the same sl as @ianb-pomelo, Sapling 0.2.20231113-145254+995db0d6.

beatrixada avatar Dec 05 '23 20:12 beatrixada

i can repro this issue consistently. im also using Sapling 0.2.20231113-145254+995db0d6.

any way i can help debugging here? would like to get this resolved.

braedontask avatar Jan 09 '24 20:01 braedontask

I’ve seen this error as well and it is mildly annoying.

zzztimbo avatar Mar 15 '24 20:03 zzztimbo

I’ve seen this error as well and it is mildly annoying.

@zzztimbo

Which version are you using? could you share the error stack? the new Sapling version (0.2.20240219-172743+3e819974) should catch exception the exception and only show a warning.

zzl0 avatar Mar 15 '24 20:03 zzl0