IndexError: list index out of range when continuing a sync started with Cyberduck

Abierto
#581 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
22/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
cli, cloud

Línea de trabajo

The traceback points to _find_unfinished_file_if_possible in b2sdk/bucket.py (around line 696), where part_ranges[part.part_number - 1] indexes past the end, and it is reached from _upload_large_file (around line 649). Start by reading how the unfinished-file part list is compared with the computed part ranges, then reproduce with a large file that has a partial upload. Done means resuming an interrupted large upload no longer raises IndexError, and the sync completes or falls back to a fresh upload.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug help wanted

The error occurs while trying to sync a large number of files (~139000) for upload. The process worked correctly on default settings up until nearly the end where the following error occurred. This sync has never successfully completed and is going to a new bucket on a new account.

H:\>b2 sync --skipNewer . b2://FamilyLaCieBackup/Cyberduck
ERROR:b2sdk.sync.action:an exception occurred in a sync action
Traceback (most recent call last):
  File "c:\program files\python37\lib\site-packages\b2sdk\sync\action.py", line 49, in run
    self.do_action(bucket, reporter)
  File "c:\program files\python37\lib\site-packages\b2sdk\sync\action.py", line 129, in do_action
    progress_listener=SyncFileReporter(reporter)
  File "c:\program files\python37\lib\site-packages\logfury\v0_1\trace_call.py", line 84, in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 591, in upload
    upload_source, file_name, content_type, file_info, progress_listener
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 649, in _upload_large_file
    part_ranges,
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 696, in _find_unfinished_file_if_possible
    offset, part_length = part_ranges[part.part_number - 1]
IndexError: list index out of range
b2_upload(\\?\H:\mp4FILES\REEL14.mp4, Cyberduck/mp4FILES/REEL14.mp4, 1369161244000): IndexError('list index out of range') list index out of range
ERROR:b2sdk.sync.action:an exception occurred in a sync action
Traceback (most recent call last):
  File "c:\program files\python37\lib\site-packages\b2sdk\sync\action.py", line 49, in run
    self.do_action(bucket, reporter)
  File "c:\program files\python37\lib\site-packages\b2sdk\sync\action.py", line 129, in do_action
    progress_listener=SyncFileReporter(reporter)
  File "c:\program files\python37\lib\site-packages\logfury\v0_1\trace_call.py", line 84, in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 591, in upload
    upload_source, file_name, content_type, file_info, progress_listener
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 649, in _upload_large_file
    part_ranges,
  File "c:\program files\python37\lib\site-packages\b2sdk\bucket.py", line 696, in _find_unfinished_file_if_possible
    offset, part_length = part_ranges[part.part_number - 1]
IndexError: list index out of range
b2_upload(\\?\H:\mp4FILES\REEL5.mp4, Cyberduck/mp4FILES/REEL5.mp4, 1369151190000): IndexError('list index out of range') list index out of range
ERROR:b2.console_tool:ConsoleTool command error
Traceback (most recent call last):
  File "c:\program files\python37\lib\site-packages\b2\console_tool.py", line 1361, in run_command
    return command.run(args)
  File "c:\program files\python37\lib\site-packages\b2\console_tool.py", line 1184, in run
    allow_empty_source=allow_empty_source
  File "c:\program files\python37\lib\site-packages\logfury\v0_1\trace_call.py", line 84, in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
  File "c:\program files\python37\lib\site-packages\b2sdk\sync\sync.py", line 273, in sync_folders
    raise CommandError('sync is incomplete')
b2sdk.exception.CommandError: sync is incomplete
ERROR: sync is incomplete

This is a copy paste from the last try but I have tried a few different things to get around this error.

  • Python 2.7 (32 bit and 64 bit)
  • Change number of threads (1, 10, 100)
  • Python 3.7 (64 bit)
  • reinstall the b2 CLI
Lenguaje dominante
Python
Estrellas
638
Forks
138
Merge medio
8 h 27 min
PR fusionados (30 d)
8

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Backblaze/B2_Command_Line_Tool

Todos los issues de Backblaze/B2_Command_Line_Tool

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.