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

Đang mở
#581 8 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
22/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
cli, cloud

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Python
Star
638
Fork
138
Merge trung bình
8 giờ 27 phút
Pull request đã merge (30 ngày)
8

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Backblaze/B2_Command_Line_Tool

Tất cả issue của Backblaze/B2_Command_Line_Tool

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.