Closed
Bug 573264
Opened 14 years ago
Closed 14 years ago
cannot push to hg.mozilla.org/tracemonkey
Categories
(mozilla.org Graveyard :: Server Operations, task)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: igor, Assigned: aravind)
References
Details
I tried to push to hg.mozilla.org/tracemokey and got the following error: remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 4 changes to 4 files remote: error: pretxnchangegroup.z_linearhistory hook raised an exception: column rev is not unique remote: transaction abort! remote: rollback completed remote: ** unknown exception encountered, details follow remote: ** report bug details to http://mercurial.selenic.com/bts/ remote: ** or mercurial@selenic.com remote: ** Python 2.4.3 (#1, Jun 11 2009, 14:09:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] remote: ** Mercurial Distributed SCM (version 1.5.4) remote: ** Extensions loaded: hgwebjson, pushlog-feed, buglink remote: Traceback (most recent call last): remote: File "/usr/bin/hg", line 27, in ? remote: mercurial.dispatch.run() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 16, in run remote: sys.exit(dispatch(sys.argv[1:])) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 30, in dispatch remote: return _runcatch(u, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 50, in _runcatch remote: return _dispatch(ui, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 471, in _dispatch remote: return runcommand(lui, repo, cmd, fullargs, ui, options, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 341, in runcommand remote: ret = _runcommand(ui, options, cmd, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 522, in _runcommand remote: return checkargs() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 476, in checkargs remote: return cmdfunc() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 470, in <lambda> remote: d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) remote: File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 401, in check remote: return func(*args, **kwargs) remote: File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 2904, in serve remote: s.serve_forever() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 45, in serve_forever remote: while self.serve_one(): remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 57, in serve_one remote: impl() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 208, in do_unbundle remote: r = self.repo.addchangegroup(fp, 'serve', self.client_url()) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 2120, in addchangegroup remote: url=url, pending=p) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 152, in hook remote: return hook.hook(self.ui, self, name, throw, **args) remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 139, in hook remote: r = _pythonhook(ui, repo, name, hname, hookfn, args, throw) or r remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 68, in _pythonhook remote: r = obj(ui=ui, repo=repo, hooktype=name, **args) remote: File "/usr/lib/python2.4/site-packages/mozhghooks/pushlog.py", line 56, in log remote: (pushid, ctx.rev(), hex(ctx.node()))) remote: pysqlite2.dbapi2.IntegrityError: column rev is not unique abort: unexpected response: empty string
Updated•14 years ago
|
Assignee: nobody → server-ops
Component: Hg: Customizations → Server Operations
QA Contact: hg.customizations → mrz
Updated•14 years ago
|
Severity: normal → critical
Assignee | ||
Updated•14 years ago
|
Assignee: server-ops → aravind
Assignee | ||
Comment 1•14 years ago
|
||
Paged Ted, this seems related to the Hg upgrade yesterday. We can roll back if needed, but I'd rather not.
Comment 2•14 years ago
|
||
Aren't you missing an 'n' ? http://hg.mozilla.org/tracemonkey
Reporter | ||
Comment 3•14 years ago
|
||
(In reply to comment #2) > Aren't you missing an 'n' ? > http://hg.mozilla.org/tracemonkey I misspelled the repository in bug's title report but not during the push.
Summary: cannot push to hg.mozilla.org/tracemokey → cannot push to hg.mozilla.org/tracemonkey
Assignee | ||
Comment 4•14 years ago
|
||
The pushlog db in the repo seems to have gotten corrupt, it had entries in it for rev b0f13006282537b671d4b410fd9849215154ae18, which wasn't in the repo. I deleted those entries from pushlog db, you please try your push again?
Reporter | ||
Comment 5•14 years ago
|
||
I tried to push again but got the same response: ~/m/tm/js/src> hg pull -u pulling from ssh://hg.mozilla.org/tracemonkey searching for changes no changes found ~/m/tm/js/src> hg push pushing to ssh://hg.mozilla.org/tracemonkey searching for changes remote: adding changesets remote: adding manifests remote: adding file changes remote: added 1 changesets with 4 changes to 4 files remote: Trying to insert into pushlog... remote: error: pretxnchangegroup.z_linearhistory hook raised an exception: column rev is not unique remote: transaction abort! remote: rollback completed remote: ** unknown exception encountered, details follow remote: ** report bug details to http://mercurial.selenic.com/bts/ remote: ** or mercurial@selenic.com remote: ** Python 2.4.3 (#1, Jun 11 2009, 14:09:58) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] remote: ** Mercurial Distributed SCM (version 1.5.4) remote: ** Extensions loaded: hgwebjson, pushlog-feed, buglink remote: Traceback (most recent call last): remote: File "/usr/bin/hg", line 27, in ? remote: mercurial.dispatch.run() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 16, in run remote: sys.exit(dispatch(sys.argv[1:])) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 30, in dispatch remote: return _runcatch(u, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 50, in _runcatch remote: return _dispatch(ui, args) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 471, in _dispatch remote: return runcommand(lui, repo, cmd, fullargs, ui, options, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 341, in runcommand remote: ret = _runcommand(ui, options, cmd, d) remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 522, in _runcommand remote: return checkargs() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 476, in checkargs remote: return cmdfunc() remote: File "/usr/lib/python2.4/site-packages/mercurial/dispatch.py", line 470, in <lambda> remote: d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) remote: File "/usr/lib/python2.4/site-packages/mercurial/util.py", line 401, in check remote: return func(*args, **kwargs) remote: File "/usr/lib/python2.4/site-packages/mercurial/commands.py", line 2904, in serve remote: s.serve_forever() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 45, in serve_forever remote: while self.serve_one(): remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 57, in serve_one remote: impl() remote: File "/usr/lib/python2.4/site-packages/mercurial/sshserver.py", line 208, in do_unbundle remote: r = self.repo.addchangegroup(fp, 'serve', self.client_url()) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 2120, in addchangegroup remote: url=url, pending=p) remote: File "/usr/lib/python2.4/site-packages/mercurial/localrepo.py", line 152, in hook remote: return hook.hook(self.ui, self, name, throw, **args) remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 139, in hook remote: r = _pythonhook(ui, repo, name, hname, hookfn, args, throw) or r remote: File "/usr/lib/python2.4/site-packages/mercurial/hook.py", line 68, in _pythonhook remote: r = obj(ui=ui, repo=repo, hooktype=name, **args) remote: File "/usr/lib/python2.4/site-packages/mozhghooks/pushlog.py", line 77, in log remote: (pushid, ctx.rev(), hex(ctx.node()))) remote: pysqlite2.dbapi2.IntegrityError: column rev is not unique abort: unexpected response: empty string
Assignee | ||
Comment 6•14 years ago
|
||
Yup, There are a couple of problems here. 1) It appears that stuff gets into pushlog before it gets committed into mercurial. This shouldn't be happening because this is the list of hooks in the repo. [hooks] pretxnchangegroup.a_treeclosure = python:mozhghooks.treeclosure.hook pretxnchangegroup.a_singlehead = /repo/hg/scripts/hg_require_single_head pretxnchangegroup.z_linearhistory = python:mozhghooks.pushlog.log technically the singlehead should be rejecting stuff and we should never get to linearhistory (unless this is no longer true in 1.5.4) 2) The second problem is that the behavior of "hg heads" seems to have changed between 1.2 and 1.5.4. In 1.2 "hg heads" only lists this [root@dm-vcview02 tracemonkey]# hg heads changeset: 43347:7edf86f575bd tag: tip user: Blake Kaplan <mrbkap@gmail.com> date: Fri Jun 18 17:45:33 2010 -0700 summary: Remove incorrect return. rs=lumpy In 1.5 "he heads" lists this. [root@dm-svn02 tracemonkey]# hg heads changeset: 43347:7edf86f575bd tag: tip user: Blake Kaplan <mrbkap@gmail.com> date: Fri Jun 18 17:45:33 2010 -0700 summary: Remove incorrect return. rs=lumpy changeset: 43217:5f2e4510a213 branch: dormant-bug-542222 user: Ehsan Akhgari <ehsan@mozilla.com> date: Sat Jun 05 17:42:42 2010 -0400 summary: Marking the tip of mozilla-central as dormant-branch-bug-542222 changeset: 36331:f80b4464d261 branch: electrolysis-not-just-plugins parent: 36244:683dfdc4adf0 user: Benjamin Smedberg <benjamin@smedbergs.us> date: Mon Dec 14 11:26:15 2009 -0500 summary: Revert the electrolysis-plugins-only branch so that the Electrolysis repository can return to its normal (plugins and tabs) state. changeset: 36212:cd74c0c4de89 branch: electrolysis-plugins-only parent: 36210:9b7c59d4c4cd parent: 36211:39e0a7b9fc54 user: Benjamin Smedberg <benjamin@smedbergs.us> date: Fri Dec 04 11:42:28 2009 -0500 summary: Merge additional changes from electrolysis and mozilla-central into the electrolysis-plugins-only tracking branch. changeset: 15679:76caed42cf7c branch: scalable_gc_free_lists_378918 parent: 15678:a1309018611f parent: 15673:2cbe07bd5857 user: Igor Bukanov <igor@mir2.org> date: Tue Jun 24 14:18:18 2008 +0200 summary: merge [root@dm-svn02 tracemonkey]# This is causing all pushes to tracemonkey to fail. Blake suggested that we use the hook mozilla-central uses (pretxnchangegroup.b_singlehead = python:mozhghooks.single_head_per_branch.hook )for tracemonkey, that hook appears to be designed to work with 1.5.4. We can roll back mercurial to 1.2 (on the push servers), but that seems like the wrong thing to do here.
Assignee | ||
Comment 7•14 years ago
|
||
Jesse suggested that for now, we modify the hook to allow 5 heads so other can continue to push to it. I made the changes and the new hook looks like this. pretxnchangegroup.a_fiveheads = /repo/hg/scripts/hg_allow_only_five_heads [root@dm-svn02 ~]# cat /repo/hg/scripts/hg_allow_only_five_heads #!/bin/sh if test $(hg heads --template 'Test_Head\n' | grep -c "^Test_Head") != "5"; then printf "You may not push multiple heads to this repository.\n" 1>&2; exit 1; fi [root@dm-svn02 ~]# You should now be able to push to the repo (fingers crossed!)
Comment 8•14 years ago
|
||
You can get the old behavior from hg heads using the -t/--topo option.
Assignee | ||
Comment 9•14 years ago
|
||
Updated hg_require_single_head to use -t and switched the repo back to this hook.
Assignee | ||
Comment 10•14 years ago
|
||
This issue is resolved, I logged a different bug (573285) for the first problem in comment 6.
Assignee | ||
Updated•14 years ago
|
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 11•14 years ago
|
||
You could also switch tracemonkey to the single_head_per_branch hook like m-c.
Updated•9 years ago
|
Product: mozilla.org → mozilla.org Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•