Extract archive with --progress can't be canceled #761

Closed
opened 2023-09-27 09:28:15 +00:00 by nicogodet · 3 comments

What I'm trying to do and why

$ borgmatic extract --archive ISLCACX02-26-09-2023_18:51 --progress

^CCalculating total archive size for the progress indicator (might take long for large archives)                                                                                 Traceback (most recent call last):
  File "/usr/local/bin/borgmatic", line 8, in <module>
    sys.exit(main())
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 877, in main
    or list(collect_configuration_run_summary_logs(configs, arguments))
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 758, in collect_configuration_run_summary_logs
    results = list(run_configuration(config_filename, config, arguments))
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 126, in run_configuration
    yield from run_actions(
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 361, in run_actions
    borgmatic.actions.extract.run_extract(
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/actions/extract.py", line 39, in run_extract
    borgmatic.borg.extract.extract_archive(
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/borg/extract.py", line 134, in extract_archive
    return execute_command(
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/execute.py", line 233, in execute_command
    log_outputs(
  File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/execute.py", line 131, in log_outputs
    exit_code = process.poll() if output_buffers else process.wait()
  File "/usr/lib/python3.8/subprocess.py", line 1083, in wait
    return self._wait(timeout=timeout)
  File "/usr/lib/python3.8/subprocess.py", line 1806, in _wait
    (pid, sts) = self._try_wait(0)
  File "/usr/lib/python3.8/subprocess.py", line 1764, in _try_wait
    (pid, sts) = os.waitpid(self.pid, wait_flags)
KeyboardInterrupt

ansys@islcalcx02:/home/Stockage/test$   0.0% Extracting: calculssd/Ansys/22F-209_MOE_Conde_Pommeroeul/v1/arrondi.mac                                                             ^C0.5% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/9-Calculs_complementaires/4-Temporel/0-Colonne_sol/Histor/deplZ13.lis
ansys@islcalcx02:/home/Stockage/test$   0.6% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/9-Calculs_complementaires/4-Temporel/3-Acc3/Sorties/pile1_Z164.5.lis              ^C1.8% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/0-Colonne_sol/Histor/deplZ6.lis
ansys@islcalcx02:/home/Stockage/test$ ^C
ansys@islcalcx02:/home/Stockage/test$ ^C
ansys@islcalcx02:/home/Stockage/test$ ^C
ansys@islcalcx02:/home/Stockage/test$   1.9% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/0-Colonne_sol/Histor/deplY7.lis                                        ^C
ansys@islcalcx02:/home/Stockage/test$ ^C
ansys@islcalcx02:/home/Stockage/test$   2.0% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/1-Acc1/Sorties/pile3_Z151.lis                                          logout Extracting: calculssd/Ansys/22F-126_THM/Commande_4/PxPlus_old/08-DS-COG800-85ans-9NO/THM/dpress.txt

After logout, extraction still in progress in background

Steps to reproduce

  1. Start borgmatic extract with --progress argument
  2. Try to cancel with CTRL-C
  3. See

Actual behavior

No response

Expected behavior

No response

Other notes / implementation ideas

No response

borgmatic version

No response

borgmatic installation method

1.8.2

Borg version

1.2.6

Python version

3.8.10

Database version (if applicable)

No response

Operating system and version

Ubuntu 20.04.6 LTS

### What I'm trying to do and why `$ borgmatic extract --archive ISLCACX02-26-09-2023_18:51 --progress` ```console ^CCalculating total archive size for the progress indicator (might take long for large archives) Traceback (most recent call last): File "/usr/local/bin/borgmatic", line 8, in <module> sys.exit(main()) File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 877, in main or list(collect_configuration_run_summary_logs(configs, arguments)) File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 758, in collect_configuration_run_summary_logs results = list(run_configuration(config_filename, config, arguments)) File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 126, in run_configuration yield from run_actions( File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/commands/borgmatic.py", line 361, in run_actions borgmatic.actions.extract.run_extract( File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/actions/extract.py", line 39, in run_extract borgmatic.borg.extract.extract_archive( File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/borg/extract.py", line 134, in extract_archive return execute_command( File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/execute.py", line 233, in execute_command log_outputs( File "/opt/borg-env/lib/python3.8/site-packages/borgmatic/execute.py", line 131, in log_outputs exit_code = process.poll() if output_buffers else process.wait() File "/usr/lib/python3.8/subprocess.py", line 1083, in wait return self._wait(timeout=timeout) File "/usr/lib/python3.8/subprocess.py", line 1806, in _wait (pid, sts) = self._try_wait(0) File "/usr/lib/python3.8/subprocess.py", line 1764, in _try_wait (pid, sts) = os.waitpid(self.pid, wait_flags) KeyboardInterrupt ansys@islcalcx02:/home/Stockage/test$ 0.0% Extracting: calculssd/Ansys/22F-209_MOE_Conde_Pommeroeul/v1/arrondi.mac ^C0.5% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/9-Calculs_complementaires/4-Temporel/0-Colonne_sol/Histor/deplZ13.lis ansys@islcalcx02:/home/Stockage/test$ 0.6% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/9-Calculs_complementaires/4-Temporel/3-Acc3/Sorties/pile1_Z164.5.lis ^C1.8% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/0-Colonne_sol/Histor/deplZ6.lis ansys@islcalcx02:/home/Stockage/test$ ^C ansys@islcalcx02:/home/Stockage/test$ ^C ansys@islcalcx02:/home/Stockage/test$ ^C ansys@islcalcx02:/home/Stockage/test$ 1.9% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/0-Colonne_sol/Histor/deplY7.lis ^C ansys@islcalcx02:/home/Stockage/test$ ^C ansys@islcalcx02:/home/Stockage/test$ 2.0% Extracting: calculssd/Ansys/22F-069_Pierre_Benite/4-Temporel/1-Acc1/Sorties/pile3_Z151.lis logout Extracting: calculssd/Ansys/22F-126_THM/Commande_4/PxPlus_old/08-DS-COG800-85ans-9NO/THM/dpress.txt ``` After logout, extraction still in progress in background ### Steps to reproduce 1. Start borgmatic extract with `--progress` argument 2. Try to cancel with `CTRL-C` 3. See ### Actual behavior _No response_ ### Expected behavior _No response_ ### Other notes / implementation ideas _No response_ ### borgmatic version _No response_ ### borgmatic installation method 1.8.2 ### Borg version 1.2.6 ### Python version 3.8.10 ### Database version (if applicable) _No response_ ### Operating system and version Ubuntu 20.04.6 LTS
Owner

Thanks for filing this! I've confirmed the behavior you're seeing, but I'm not yet sure what the cause might be.

Thanks for filing this! I've confirmed the behavior you're seeing, but I'm not yet sure what the cause might be.
witten added the
bug
label 2023-09-27 15:21:06 +00:00
Owner

This has been fixed in main and should be part of the next release! Thanks again for the bug report.

This has been fixed in main and should be part of the next release! Thanks again for the bug report.
Owner

This has been released as part of borgmatic 1.8.3!

This has been released as part of borgmatic 1.8.3!
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: borgmatic-collective/borgmatic#761
No description provided.