Pythonタプルエラーが原因で二重性が突然失敗する

Pythonタプルエラーが原因で二重性が突然失敗する

私は1年間Cronの仕事でDuplicityを使ってきました。先週から次のメッセージが届きました。

Ausdruckbasierte Dateiliste wird gelesen /home/mu/.config/exclude-b2.txt
Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1637, in <module>
    if "Forced assertion for testing" in util.uexc(e):
  File "/usr/lib64/python2.7/site-packages/duplicity/util.py", line 82, in uexc
    return ufn(m)
  File "/usr/lib64/python2.7/site-packages/duplicity/util.py", line 63, in ufn
    return filename.decode(globals.fsencoding, 'replace')
AttributeError: 'tuple' object has no attribute 'decode'

私のFedora 30システムの最後のパッケージアップグレードはduplicity2019年5月9日で、バージョン0.7.19を実行しています。バックアップはBackblaze B2に移動します。

修正する方法はありますか?

答え1

これは、中断されたバックアップによってDuplicityが回復できない状態になるもう1つのケースです。最後の増分バックアップからいくつかのファイルを削除しましたが、もう一度機能します。

答え2

ダウンロードできるソースコードを見るゲヌ、例外を処理しようとしている間に例外が発生しているように見えますが、これは役に立ちません。私はあなたが最後の数行を持っていると思います/usr/bin/duplicity

except Exception as e:
    util.release_lockfile()
    if "Forced assertion for testing" in util.uexc(e):
        log.FatalError(u"%s: %s" % (e.__class__.__name__, util.uexc(e)),
                       log.ErrorCode.exception,
                       e.__class__.__name__)
    else:
        # Traceback and that mess
        log.FatalError(util.exception_traceback(),
                       log.ErrorCode.exception,
                       e.__class__.__name__)

(明らかに)テスト中にのみ使用されるいくつかのテキストを見つけるように要求しますが、何らかのutil.uexc(e)理由でルーチンが失敗します。このテストをバイパスするのではなく、if開始のみを変更して、if False and例外の実際の原因が記録されていることを確認できます。一時的にCロケールに変更して、変更があるかどうかを確認することもできます。

関連情報