[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2937: check --repair crashes on LIT objects.

Tahoe-LAFS trac at tahoe-lafs.org
Tue Aug 21 22:17:36 UTC 2018


#2937: check --repair crashes on LIT objects.
--------------------------+---------------------------
 Reporter:  tlhonmey      |          Owner:
     Type:  defect        |         Status:  new
 Priority:  normal        |      Milestone:  undecided
Component:  unknown       |        Version:  1.12.1
 Keywords:  repair check  |  Launchpad Bug:
--------------------------+---------------------------
 Attempting to run "tahoe check --repair" on any URI:LIT: node (whether
 file or empty, immutable directory as created by tahoe backup) results in
 the following stack trace:


 {{{
 Traceback (most recent call last):
   File "/usr/lib64/python2.7/threading.py", line 801, in __bootstrap_inner
     self.run()
   File "/usr/lib64/python2.7/threading.py", line 754, in run
     self.__target(*self.__args, **self.__kwargs)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/_threads/_threadworker.py", line 46, in work
     task()
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/_threads/_team.py", line 190, in doWork
     task()
 --- <exception caught here> ---
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/python/threadpool.py", line 250, in inContext
     result = inContext.theWork()
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/python/threadpool.py", line 266, in <lambda>
     inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/python/context.py", line 122, in callWithContext
     return self.currentContext().callWithContext(ctx, func, *args, **kw)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/twisted/python/context.py", line 85, in callWithContext
     return func(*args,**kw)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/allmydata/scripts/cli.py", line 563, in check
     rc = tahoe_check.check(options)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_check.py", line 108, in check
     errno = check_location(options, location)
   File "/home/tahoe/tahoe/lib/python2.7/site-
 packages/allmydata/scripts/tahoe_check.py", line 56, in check_location
     if data["pre-repair-results"]["results"]["healthy"]:
 exceptions.KeyError: 'pre-repair-results'

 }}}


 A similar bug for "deep-check --repair" has already been fixed, and that
 operation works properly.

 Unfortunately this complicates working around #755 and contributes to
 reliable checking and repairing of directory trees being exceptionally
 slow.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2937>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list