[Bug 6632] New: test-copies-chain-merge.t fails with a pickle exception on Nix on Darwin

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri Jan 7 14:44:35 UTC 2022


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

            Bug ID: 6632
           Summary: test-copies-chain-merge.t fails with a pickle
                    exception on Nix on Darwin
           Product: Mercurial
           Version: stable branch
          Hardware: Macintosh
                OS: Mac OS
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at mercurial-scm.org
          Reporter: kwalkq.mercurial-bugzilla at pacien.net
                CC: mercurial-devel at mercurial-scm.org
    Python Version: ---

Observed on the NixOS CI with Mercurial 6.0.1 running on Python 3.9.9.
This is happening only with aarch64-darwin, not with other architectures.

```diff
---
/private/tmp/nix-build-mercurial-6.0.1.drv-0/mercurial-6.0.1/tests/test-copies-chain-merge.t
+++
/private/tmp/nix-build-mercurial-6.0.1.drv-0/mercurial-6.0.1/tests/test-copies-chain-merge.t#upgraded-parallel.err
@@ -1717,6 +1717,66 @@
     - changelog
     - manifest
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.9.9 (main, Dec 20 2021, 03:05:17) [Clang 11.1.0 ]
+  ** Mercurial Distributed SCM (version 6.0.1)
+  ** Extensions loaded:
+  Traceback (most recent call last):
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/bin/hg",
line 61, in <module>
+      dispatch.run()
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 144, in run
+      status = dispatch(req)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 250, in dispatch
+      status = _rundispatch(req)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 294, in _rundispatch
+      ret = _runcatch(req) or 0
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 470, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 480, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/scmutil.py",
line 153, in callcatch
+      return func()
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 460, in _runcatchfunc
+      return _dispatch(req)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 1273, in _dispatch
+      return runcommand(
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 918, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 1285, in _runcommand
+      return cmdfunc()
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/dispatch.py",
line 1271, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/util.py",
line 1888, in check
+      return func(*args, **kwargs)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/debugcommands.py",
line 4195, in debugupgraderepo
+      return upgrade.upgraderepo(
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/upgrade.py",
line 216, in upgraderepo
+      backuppath = upgrade_engine.upgrade(
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/upgrade_utils/engine.py",
line 541, in upgrade
+      _clonerevlogs(
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/upgrade_utils/engine.py",
line 278, in _clonerevlogs
+      sidedata_helpers = get_sidedata_helpers(srcrepo, dstrepo)
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/upgrade_utils/engine.py",
line 45, in get_sidedata_helpers
+      metadata._get_worker_sidedata_adder(srcrepo, dstrepo),
+    File
"/private/tmp/nix-build-mercurial-6.0.1.drv-0/hgtests.l_sml07g/install/lib/python/mercurial/metadata.py",
line 884, in _get_worker_sidedata_adder
+      w.start()
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/process.py",
line 121, in start
+      self._popen = self._Popen(self)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/context.py",
line 224, in _Popen
+      return _default_context.get_context().Process._Popen(process_obj)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/context.py",
line 284, in _Popen
+      return Popen(process_obj)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/popen_spawn_posix.py",
line 32, in __init__
+      super().__init__(process_obj)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/popen_fork.py",
line 19, in __init__
+      self._launch(process_obj)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/popen_spawn_posix.py",
line 47, in _launch
+      reduction.dump(process_obj, fp)
+    File
"/nix/store/ihkkbk8pdimwynkrw267l741q4a55syk-python3-3.9.9/lib/python3.9/multiprocessing/reduction.py",
line 60, in dump
+      ForkingPickler(file, protocol).dump(obj)
+  _pickle.PicklingError: Can't pickle <class
'mercurial.localrepo.derivedrepo:$TESTTMP/repo-chain<dotencode,fncache,generaldelta,revlog-compression-zstd,revlogv1,sparserevlog,store>'>:
attribute lookup
derivedrepo:$TESTTMP/repo-chain<dotencode,fncache,generaldelta,revlog-compression-zstd,revlogv1,sparserevlog,store>
on mercurial.localrepo failed
+  [1]
```

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list