dvc: dvc pull: re.error: redefinition of group name 'ps_d' as group 2; was group 1 at position 46

Bug Report

Description

When running dvc pull, re throws an error dvc pull: re.error: redefinition of group name 'ps_d' as group 2; was group 1 at position 46

Reproduce

  1. run dvc pull

Expected

It not to throw an error

Environment information

Output of dvc doctor:

DVC version: 2.0.18 (pip)
---------------------------------
Platform: Python 3.9.12 on Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.31
Supports: http, https, s3
Cache types: <https://error.dvc.org/no-dvc-cache>
Caches: local
Remotes: s3
Workspace directory: 9p on drvfs
Repo: dvc (no_scm)

Additional Information (if any):

2022-08-31 12:34:03,876 ERROR: unexpected error - redefinition of group name 'ps_d' as group 2; was group 1 at position 46
------------------------------------------------------------
Traceback (most recent call last):
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/main.py", line 55, in main
    ret = cmd.run()
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/command/data_sync.py", line 29, in run
    stats = self.repo.pull(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/__init__.py", line 49, in wrapper
    return f(repo, *args, **kwargs)
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/pull.py", line 29, in pull
    processed_files_count = self.fetch(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/__init__.py", line 49, in wrapper
    return f(repo, *args, **kwargs)
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/fetch.py", line 43, in fetch
    used = self.used_cache(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/__init__.py", line 396, in used_cache
    for stage, filter_info in pairs:
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/__init__.py", line 389, in <genexpr>
    self.stage.collect_granular(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/stage.py", line 397, in collect_granular
    stages, file, _ = _collect_specific_target(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/repo/stage.py", line 91, in _collect_specific_target
    if not (recursive and loader.fs.isdir(target)):
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/fs/local.py", line 74, in isdir
    return not (use_dvcignore and self.dvcignore.is_ignored_dir(path_info))
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/funcy/objects.py", line 28, in __get__
    res = instance.__dict__[self.fget.__name__] = self.fget(instance)
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/fs/local.py", line 42, in dvcignore
    return cls(self, root)
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/ignore.py", line 196, in __init__
    self.ignores_trie_fs[root_dir] = DvcIgnorePatterns(
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/ignore.py", line 43, in __init__
    self.ignore_spec = [
  File "/mnt/c/Dayforce/ideal/ml-services/venv/lib/python3.9/site-packages/dvc/ignore.py", line 44, in <listcomp>
    (ignore, re.compile("|".join(item[0] for item in group)))
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/re.py", line 252, in compile
    return _compile(pattern, flags)
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/re.py", line 304, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/sre_parse.py", line 950, in parse
    p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/sre_parse.py", line 443, in _parse_sub
    itemsappend(_parse(source, state, verbose, nested + 1,
  File "/home/arthur/.pyenv/versions/3.9.12/lib/python3.9/sre_parse.py", line 833, in _parse
    raise source.error(err.msg, len(name) + 1) from None
re.error: redefinition of group name 'ps_d' as group 2; was group 1 at position 46
------------------------------------------------------------
2022-08-31 12:34:04,803 DEBUG: Version info for developers:
DVC version: 2.0.18 (pip)
---------------------------------
Platform: Python 3.9.12 on Linux-5.10.102.1-microsoft-standard-WSL2-x86_64-with-glibc2.31
Supports: http, https, s3
Cache types: <https://error.dvc.org/no-dvc-cache>
Caches: local
Remotes: s3
Workspace directory: 9p on drvfs
Repo: dvc (no_scm)

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 9
  • Comments: 18 (7 by maintainers)

Commits related to this issue

Most upvoted comments

This is caused by pathspec 0.10.0, which was released 2022-08-30.

pip install dvc explicitly warns about the incompatibility. I missed the warning because I didn’t know that pip ignores errors, and because the output was buried deep in a docker build log.

Downgrading to pathspec 0.9.0 fixes this for me.

@Varungarg97 The workaround is to downgrade pathspec to 0.9.0.

Also got this error but from dvc init after nix shell nixpkgs#dvc-with-remotes

❯ dvc init
ERROR: unexpected error - redefinition of group name 'ps_d' as group 2; was group 1 at position 46

Having any troubles? Hit us up at https://dvc.org/support, we are always happy to help!

Datasets on  main [✘!+?] on ☁️  carlthome@gmail.com(europe-west4) 
❯ dvc --version
2.17.0
❯ nix flake metadata nixpkgs
Resolved URL:  github:NixOS/nixpkgs/nixos-22.11
Locked URL:    github:NixOS/nixpkgs/cbe419ed4c8f98bd82d169c321d339ea30904f1f
Description:   A collection of packages for the Nix package manager
Path:          /nix/store/d2flirhsd337gm8j8rxlqklslryx6g3q-source
Revision:      cbe419ed4c8f98bd82d169c321d339ea30904f1f
Last modified: 2022-12-20 09:36:45

2.3.0

Thanks @eric-seppanen, @dtrifiro. I did not notice that. I’m lifting the https://github.com/iterative/dvc/labels/p0-critical.