facebook / sapling

A Scalable, User-Friendly Source Control System.

Home Page:https://sapling-scm.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

bklebe opened this issue · 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.

commented

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

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

@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.

commented

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.

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

commented

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.