Package: mercurial
Version: 6.8-1
Severity: grave
Justification: renders package unusable

Dear maintainer,

In current sid, with python 3.12.4-3, mercurial fails at load with:

 ~$ hg 
 Traceback (most recent call last):
   File "/usr/bin/hg", line 57, in <module>
     from mercurial import dispatch
   File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
   File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
   File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
   File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", 
line 52, in exec_module
     super().exec_module(module)
   File "<frozen importlib.util>", line 257, in exec_module
   File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
   File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
   File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
   File "/usr/lib/python3/dist-packages/hgdemandimport/demandimportpy3.py", 
line 52, in exec_module
     super().exec_module(module)
   File "<frozen importlib.util>", line 267, in exec_module
 AttributeError: partially initialized module 'threading' has no attribute 
'RLock' (most likely due to a circular import)
 ~$ 

Commenting out the hgdemandimport.enable() at line 55 of /usr/bin/hg, it works:

 ~$ hg
 Mercurial Distributed SCM
 
 basic commands:
 
  add           add the specified files on the next commit
  annotate      show changeset information by line for each file
  clone         make a copy of an existing repository
  commit        commit the specified files or all outstanding changes
  diff          diff repository (or selected files)
  export        dump the header and diffs for one or more changesets
  forget        forget the specified files on the next commit
  init          create a new repository in the given directory
  log           show revision history of entire repository or files
  merge         merge another revision into working directory
  pull          pull changes from the specified source
  push          push changes to the specified destination
  remove        remove the specified files on the next commit
  serve         start stand-alone webserver
  status        show changed files in the working directory
  summary       summarize working directory state
  update        update working directory (or switch revisions)
 
 (use 'hg help' for the full list of commands or 'hg -v' for details)
 ~$

Tried this on my own machine and also in a newly installed VM.

Thanks,
    Daniel.

-- System Information:
Debian Release: trixie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.9.9-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages mercurial depends on:
ii  libc6             2.39-4
ii  mercurial-common  6.8-1
ii  python3           3.12.3-1
ii  ucf               3.0043+nmu1

Versions of packages mercurial recommends:
ii  openssh-client  1:9.7p1-7

Versions of packages mercurial suggests:
pn  kdiff3 | kdiff3-qt | kompare | meld | tkcvs | mgdiff  <none>
pn  qct                                                   <none>

-- no debconf information

Reply via email to