https://bz.mercurial-scm.org/show_bug.cgi?id=5615

            Bug ID: 5615
           Summary: sqlite3.IntegrityError: UNIQUE constraint failed:
                    depth.rev
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: evolution
          Assignee: bugzi...@mercurial-scm.org
          Reporter: philippe.pep...@logilab.fr
                CC: mercurial-devel@mercurial-scm.org,
                    pierre-yves.da...@ens-lyon.org

We have this traceback while pulling a repository over ssh:


remote: ** Extensions loaded: notify, schemes, strip, mq, rebase, evolve
remote: Traceback (most recent call last):
remote:   File "/usr/share/mercurial-server/hg-ssh", line 97, in <module>
remote:     dispatch.dispatch(request(['-R', repo, 'serve', '--stdio']))
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
164, in dispatch
remote:     ret = _runcatch(req)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
295, in _runcatch
remote:     
remote: return _callcatch(ui, _runcatchfunc)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
303, in _callcatch
remote:     return scmutil.callcatch(ui, func)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/scmutil.py", line
146, in callcatch
remote:     return func()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
285, in _runcatchfunc
remote:     return _dispatch(req)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
911, in _dispatch
remote:     cmdpats, cmdoptions)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
648, in runcommand
remote:     ret = _runcommand(ui, options, cmd, d)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
919, in _runcommand
remote:     
remote: return cmdfunc()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/dispatch.py", line
908, in <lambda>
remote:     d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1079,
in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/extensions.py", line
231, in closure
remote:     return func(*(args + a), **kw)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1079,
in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/hgext/mq.py", line 3546, in
mqcommand
remote:     return orig(ui, repo, *args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/util.py", line 1079,
in check
remote:     return func(*args, **kwargs)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/commands.py", line
4661, in serve
remote:     s.serve_forever()
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/sshserver.py", line
104, in serve_forever
remote:     while self.serve_one():
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/sshserver.py", line
122, in serve_one
remote:     rsp = wireproto.dispatch(self.repo, self, cmd)
remote:   File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line
570, in dispatch
remote:     return func(repo, proto, *args)
remote:   File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obsdiscovery.py", line 664,
in srv_obshashrange_v0
remote:     hashes = _obshashrange_v0(repo, ranges)
remote:   File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obsdiscovery.py", line 621,
in _obshashrange_v0
remote:     
remote: repo.stablerange.warmup(repo, upto=maxrev)
remote:   File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/stablerange.py", line 778, in
warmup
remote:     self._save(repo)
remote:   File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/stablerange.py", line 896, in
_save
remote:     self._savedepth(con, repo)
remote:   File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/stablerange.py", line 907, in
_savedepth
remote:     con.executemany(_updatedepth, data)
remote: sqlite3.IntegrityError: UNIQUE constraint failed: depth.rev
abort: unexpected response: empty string


And while pulling in http on apache logs:

Traceback (most recent call last):                                              
  File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/hgwebdir_mod.py", line
224, in run_wsgi                                                               
                                  for r in self._runwsgi(req):                  
  File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/hgweb_mod.py", line
315, in run_wsgi                                                                
    for r in self._runwsgi(req, repo):                                         
                                                                               
                                File
"/usr/lib/python2.7/dist-packages/mercurial/hgweb/hgweb_mod.py", line 362, in
_runwsgi                                                                        
    return protocol.call(rctx.repo, req, cmd)                                   
  File "/usr/lib/python2.7/dist-packages/mercurial/hgweb/protocol.py", line
162, in call                                                                   
                                      rsp = wireproto.dispatch(repo, p, cmd)    
  File "/usr/lib/python2.7/dist-packages/mercurial/wireproto.py", line 570, in
dispatch                                                                        
    return func(repo, proto, *args)                                            
                                                                               
                                File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obsdiscovery.py", line 664,
in srv_obshashrange_v0                                                          
    hashes = _obshashrange_v0(repo, ranges)                                     
  File "/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obsdiscovery.py", line
623, in _obshashrange_v0                                                       
                                  repo.obsstore.rangeobshashcache.update(repo)  
  File "/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obscache.py", line
227, in update                                                                  
    self._updatefrom(repo, revs, obsmarkers)                                   
                                                                               
                                File
"/usr/lib/python2.7/dist-packages/hgext3rd/evolve/obsdiscovery.py", line 434,
in _updatefrom                                                                  
    con.execute(_reset)                                                         
OperationalError: attempt to write a readonly database


Versions (both server and client): Mercurial 4.2 with evolve 6.4.0
Having experimental.obshashrange=false fixes the issues.
This occur only with one of our repository:
https://hg.logilab.org/master/react-jsonschema-ui/

Thanks !

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to