dvc icon indicating copy to clipboard operation
dvc copied to clipboard

exp show: not enough values to unpack

Open efiop opened this issue 4 years ago • 10 comments

From the mailing list:

2021-10-12 15:10:08,230 ERROR: unexpected error - not enough values to unpack (expected 2, got 1)
------------------------------------------------------------
Traceback (most recent call last):
  File "dvc/main.py", line 55, in main
  File "dvc/command/base.py", line 45, in do_run
  File "dvc/command/experiments.py", line 502, in run
  File "dvc/repo/experiments/__init__.py", line 952, in show
  File "dvc/repo/__init__.py", line 50, in wrapper
  File "dvc/repo/experiments/show.py", line 179, in show
  File "dvc/repo/experiments/__init__.py", line 126, in stash_revs
  File "dvc/scm/git/stash.py", line 21, in __iter__
  File "dvc/scm/git/backend/dulwich.py", line 548, in _stash_iter
  File "dulwich/stash.py", line 57, in stashes
  File "dulwich/reflog.py", line 95, in read_reflog
  File "dulwich/reflog.py", line 74, in parse_reflog_line
ValueError: not enough values to unpack (expected 2, got 1)

can't reproduce it though 🙁 User said that recloning his repo fixed it.

CC @pmrowla , maybe you ran into this before.

efiop avatar Oct 12 '21 16:10 efiop

The only possible cause for a partial stash reflog write I can think of is that DVC was forcefully killed during an exp run job. We could try to account for this in DVC (for the exp stash ref) and try to drop/recover from bad reflog entries.

pmrowla avatar Oct 15 '21 03:10 pmrowla

Hello. I am getting the same error when using dvc exp:

ERROR: unexpected error - not enough values to unpack (expected 2, got 1).

It happens when running the following commands

dvc exp show dvc exp gc -w -a dvc exp run --run-all

I'm on Linux 5.4.120+ using Python 3.8.1 and DVC 2.8.2.

ayeright avatar Nov 15 '21 18:11 ayeright

Hello. I am getting the same error when using dvc exp:

@ayeright could you run the following command and then post the output here:

git reflog show refs/exps/stash

pmrowla avatar Nov 15 '21 22:11 pmrowla

@pmrowla yes, here you go

650962e (refs/exps/stash) refs/exps/stash@{0}: commit: dvc-exp:16ffcad65fb0c5da976f3afab6e3fee440c605e7:16ffcad65fb0c5da976f3afab6e3fee440c605e7:
5be9877 refs/exps/stash@{1}: commit: dvc-exp:16ffcad65fb0c5da976f3afab6e3fee440c605e7:16ffcad65fb0c5da976f3afab6e3fee440c605e7:
c9a7f9e refs/exps/stash@{2}: commit: dvc-exp:16ffcad65fb0c5da976f3afab6e3fee440c605e7:16ffcad65fb0c5da976f3afab6e3fee440c605e7:
9811510 refs/exps/stash@{3}: commit: dvc-exp:16ffcad65fb0c5da976f3afab6e3fee440c605e7:16ffcad65fb0c5da976f3afab6e3fee440c605e7:
c9b0d00 refs/exps/stash@{4}: commit: dvc-exp:16ffcad65fb0c5da976f3afab6e3fee440c605e7:16ffcad65fb0c5da976f3afab6e3fee440c605e7:

ayeright avatar Nov 16 '21 08:11 ayeright

@ayeright thanks, could you also please upload/attach the file .git/logs/refs/exps/stash to this issue?

After you've done that, you should be able to fix your repo state by doing

git update-ref -d refs/exps/stash

Note that this will clear all of your queued experiments (also, be sure to upload the logs file first, since removing the ref will also remove the log file)

pmrowla avatar Nov 16 '21 10:11 pmrowla

@pmrowla here you go. Thanks for the help

git_stash.txt

ayeright avatar Nov 16 '21 14:11 ayeright

@pmrowla @efiop Any thoughts on the priority of this one?

dberenbaum avatar Feb 14 '22 21:02 dberenbaum

I think this is probably p2, given that there's a workaround and that we haven't seen any other reports on this

pmrowla avatar Feb 15 '22 00:02 pmrowla

I have same issue, my exps/stash is like:

25a9e3152d003a7502ac88c3c04425aff0ed0a3b 262130c812721b345e953f8b58eeeb4b34e9c580 xxx <xxx
> 1661699257 +0000	commit: dvc-exp:25a9e3152d003a7502ac88c3c04425aff0ed0a3b:25a9e3152d003a7502ac88c3c04425aff0ed0a3b:

git update-ref -d refs/exps/stash won't help.

Here is my debug info

(dvc) ➜  pretrained-model-demo git:(dev) ✗ dvc exp run -v      
args: ()                                                              
2022-08-28 23:07:37,923 DEBUG: Stashed experiment '262130c' with baseline '25a9e31' for future execution.
self._reflog_path:  /mnt/sg_disk2/mlops/pretrained-model-demo/.git/logs/refs/stash
Debug line: b'0000000000000000000000000000000000000000 b82683623c709ed109f6b6fb6569a36cfda4cf43 xxx <xxx> 1661699256 +0800\tWIP on (no branch): 25a9e31 init\n'
self._reflog_path:  /mnt/sg_disk2/mlops/pretrained-model-demo/.git/logs/refs/exps/stash
Debug line: b'25a9e3152d003a7502ac88c3c04425aff0ed0a3b 262130c812721b345e953f8b58eeeb4b34e9c580 xxx <xxx\n'
2022-08-28 23:07:37,951 ERROR: unexpected error - not enough values to unpack (expected 2, got 1)

NerdToMars avatar Aug 28 '22 15:08 NerdToMars

I have same issue, my exps/stash is like:

25a9e3152d003a7502ac88c3c04425aff0ed0a3b 262130c812721b345e953f8b58eeeb4b34e9c580 xxx <xxx
> 1661699257 +0000	commit: dvc-exp:25a9e3152d003a7502ac88c3c04425aff0ed0a3b:25a9e3152d003a7502ac88c3c04425aff0ed0a3b:

git update-ref -d refs/exps/stash won't help.

Here is my debug info

(dvc) ➜  pretrained-model-demo git:(dev) ✗ dvc exp run -v      
args: ()                                                              
2022-08-28 23:07:37,923 DEBUG: Stashed experiment '262130c' with baseline '25a9e31' for future execution.
self._reflog_path:  /mnt/sg_disk2/mlops/pretrained-model-demo/.git/logs/refs/stash
Debug line: b'0000000000000000000000000000000000000000 b82683623c709ed109f6b6fb6569a36cfda4cf43 xxx <xxx> 1661699256 +0800\tWIP on (no branch): 25a9e31 init\n'
self._reflog_path:  /mnt/sg_disk2/mlops/pretrained-model-demo/.git/logs/refs/exps/stash
Debug line: b'25a9e3152d003a7502ac88c3c04425aff0ed0a3b 262130c812721b345e953f8b58eeeb4b34e9c580 xxx <xxx\n'
2022-08-28 23:07:37,951 ERROR: unexpected error - not enough values to unpack (expected 2, got 1)

The root cause of my issue above is my git config email setting has a \n, after I removed this \n, it works :D

NerdToMars avatar Aug 28 '22 16:08 NerdToMars

Closing as stale

dberenbaum avatar Feb 17 '23 13:02 dberenbaum