On Wed, 3 Dec 2014, Nikolaus Rath wrote:

severity 771969 important
thanks

Thanks for the report! I'll set the severity to important for now,
because the package still works nicely for many other users. Not sure
why it's making so much trouble for you..

Because computers hate me :-) I actually have yet another problem with an sshfs mounted s3ql file system but was trying to get the issues with my S3 mount resolved first.

but I notice that (like the
last bug you found) this seems related to the handling of unreliable
network connections. In this case there seems to be a temporary problem
with your DNS server which S3QL has trouble coping with.

From a high level perspective, the connection (generally) is pretty
reliable, but I wouldn't notice momentary network issues.

The raw_streamXXX files are from the patch that you applied to the debug
the previous issue. I'd recommend to purge and reinstall both the s3ql
and python3-dugong packages to make sure that you're in vanilla state again.

I forgot about the dugong patch, so I reinstalled both packages, using the Debian-unstable version for s3ql

If the file system still hangs (or the next time it hangs), could you
follow the instructions at
https://bitbucket.org/nikratio/s3ql/wiki/Providing%20Debugging%20Info to
obtain a Python stacktrace, and attach it to this issue?

This time the file system didn't hang until I attempted to unmount it. Attached are two log files with the mount and stack trace information.


Shannon C. Dealy           |         DeaTech Research Inc.
de...@deatech.com          |    - Custom Software Development -
USA Phone: +1 800-467-5820 |    - Natural Building Instruction -
numbers  : +1 541-929-4089 |            www.deatech.com
2014-12-04 07:28:56.413 31144:MainThread (name)s.excepthook: Mountpoint does 
not exist.
2014-12-04 07:39:43.743 609:MainThread (name)s.determine_threads: Using 8 
upload threads.
2014-12-04 07:39:43.746 609:MainThread (name)s.main: Autodetected 4040 file 
descriptors available for cache entries
2014-12-04 07:39:56.730 609:MainThread (name)s.get_metadata: Using cached 
metadata.
2014-12-04 07:39:56.734 609:MainThread (name)s.main: Mounting filesystem...
2014-12-04 07:39:56.821 626:MainThread (name)s.detach_process_context: 
Daemonizing, new PID is 630
2014-12-04 07:42:45.765 630:MainThread (name)s.main: FUSE main loop terminated.
2014-12-04 07:42:45.786 630:MainThread (name)s.unmount: Unmounting file 
system...
2014-12-04 07:42:46.272 630:MainThread (name)s.main: File system unchanged, not 
uploading metadata.
2014-12-04 07:42:46.309 630:MainThread (name)s.main: Cleaning up local 
metadata...
2014-12-04 07:42:51.966 630:MainThread (name)s.main: All done.
2014-12-04 07:42:58.936 3663:MainThread (name)s.determine_threads: Using 8 
upload threads.
2014-12-04 07:42:58.938 3663:MainThread (name)s.main: Autodetected 4040 file 
descriptors available for cache entries
2014-12-04 07:43:05.572 3663:MainThread (name)s.get_metadata: Using cached 
metadata.
2014-12-04 07:43:05.582 3663:MainThread (name)s.main: Mounting filesystem...
2014-12-04 07:43:05.602 3669:MainThread (name)s.detach_process_context: 
Daemonizing, new PID is 3671
2014-12-04 07:43:12.769 3671:Dummy-22 (name)s.stacktrace: 
# ThreadID: 140042022409984
pyapi.py:504, in stacktrace
    for filename, lineno, name, line in traceback.extract_stack(frame):

# ThreadID: 140042039195392
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043138082560
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042576066304
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043154867968
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042525710080
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
mount.py:799, in run
    self.stop_event.wait(5)
threading.py:553, in wait
    signaled = self._cond.wait(timeout)
threading.py:294, in wait
    gotit = waiter.acquire(True, timeout)

# ThreadID: 140043572397824
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043530172160
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043538564864
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043546957568
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043146475264
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043555612416
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043673143040
mount.s3ql:9, in <module>
    load_entry_point('s3ql==2.11.1', 'console_scripts', 'mount.s3ql')()
mount.py:215, in main
    llfuse.main(options.single)

# ThreadID: 140042542495488
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043129689856
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042550888192
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042559280896
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042567673600
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043180046080
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140042534102784
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
mount.py:655, in run
    self.event.wait(self.interval)
threading.py:553, in wait
    signaled = self._cond.wait(timeout)
threading.py:294, in wait
    gotit = waiter.acquire(True, timeout)

# ThreadID: 140043564005120
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043163260672
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:677, in _removal_loop
    tmp = self.to_remove.get(block=len(ids)==0)
queue.py:167, in get
    self.not_empty.wait()
threading.py:290, in wait
    waiter.acquire()

# ThreadID: 140043171653376
threading.py:888, in _bootstrap
    self._bootstrap_inner()
threading.py:920, in _bootstrap_inner
    self.run()
mount.py:66, in run_with_except_hook
    run_old(*args, **kw)
threading.py:868, in run
    self._target(*self._args, **self._kwargs)
block_cache.py:399, in _upload_loop
    tmp = self.to_upload.get()
block_cache.py:97, in get
    self.cv.wait()
threading.py:290, in wait
    waiter.acquire()
2014-12-04 07:46:48.332 3671:Thread-14 (name)s._parse_xml_response: Server did 
not provide Content-Type, assuming XML
2014-12-04 08:06:47.814 3671:Metadata-Upload-Thread (name)s.run: Dumping 
metadata...
2014-12-04 08:06:47.821 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..objects..
2014-12-04 08:06:48.482 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..blocks..
2014-12-04 08:06:49.704 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..inodes..
2014-12-04 08:06:52.859 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..inode_blocks..
2014-12-04 08:06:54.794 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..symlink_targets..
2014-12-04 08:06:54.840 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..names..
2014-12-04 08:06:55.483 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..contents..
2014-12-04 08:06:57.359 3671:Metadata-Upload-Thread (name)s.dump_metadata: 
..ext_attributes..
2014-12-04 08:06:57.832 3671:Metadata-Upload-Thread (name)s.run: Compressing 
and uploading metadata...
2014-12-04 08:07:31.003 3671:Metadata-Upload-Thread (name)s.run: Wrote 15 MiB 
of compressed metadata.
2014-12-04 08:07:31.004 3671:Metadata-Upload-Thread (name)s.run: Cycling 
metadata backups...
2014-12-04 08:07:31.004 3671:Metadata-Upload-Thread (name)s.cycle_metadata: 
Backing up old metadata...
2014-12-04 08:13:15.192 3671:MainThread (name)s.main: FUSE main loop terminated.
Thread 0x00007f5e33fff700 (most recent call first):
  File "/usr/lib/python3.4/ssl.py", line 804 in do_handshake
  File "/usr/lib/python3.4/ssl.py", line 577 in __init__
  File "/usr/lib/python3.4/ssl.py", line 364 in wrap_socket
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 413 in connect
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 504 in 
co_send_request
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 1361 in 
eval_coroutine
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 477 in 
send_request
  File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 638 in _send_request
  File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 409 in _do_request
  File "/usr/lib/s3ql/s3ql/backends/s3.py", line 116 in _delete_multi
  File "/usr/lib/s3ql/s3ql/backends/common.py", line 46 in wrapped
  File "/usr/lib/s3ql/s3ql/backends/s3.py", line 81 in delete_multi
  File "/usr/lib/s3ql/s3ql/backends/comprenc.py", line 273 in delete_multi
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 684 in _removal_loop
  File "/usr/lib/python3.4/threading.py", line 868 in run
  File "/usr/lib/s3ql/s3ql/mount.py", line 66 in run_with_except_hook
  File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
  File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap

Current thread 0x00007f5e75640700 (most recent call first):
  File "/usr/lib/python3.4/threading.py", line 1076 in _wait_for_tstate_lock
  File "/usr/lib/python3.4/threading.py", line 1060 in join
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 373 in destroy
  File "/usr/lib/python3.4/contextlib.py", line 267 in _exit_wrapper
  File "/usr/lib/python3.4/contextlib.py", line 321 in __exit__
  File "/usr/lib/s3ql/s3ql/mount.py", line 230 in main
  File "/usr/bin/mount.s3ql", line 9 in <module>
Fatal Python error: Aborted

Thread 0x00007f5e33fff700 (most recent call first):
  File "/usr/lib/python3.4/ssl.py", line 804 in do_handshake
  File "/usr/lib/python3.4/ssl.py", line 577 in __init__
  File "/usr/lib/python3.4/ssl.py", line 364 in wrap_socket
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 413 in connect
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 504 in 
co_send_request
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 1361 in 
eval_coroutine
  File "/usr/lib/python3/dist-packages/dugong/__init__.py", line 477 in 
send_request
  File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 638 in _send_request
  File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 409 in _do_request
  File "/usr/lib/s3ql/s3ql/backends/s3.py", line 116 in _delete_multi
  File "/usr/lib/s3ql/s3ql/backends/common.py", line 46 in wrapped
  File "/usr/lib/s3ql/s3ql/backends/s3.py", line 81 in delete_multi
  File "/usr/lib/s3ql/s3ql/backends/comprenc.py", line 273 in delete_multi
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 684 in _removal_loop
  File "/usr/lib/python3.4/threading.py", line 868 in run
  File "/usr/lib/s3ql/s3ql/mount.py", line 66 in run_with_except_hook
  File "/usr/lib/python3.4/threading.py", line 920 in _bootstrap_inner
  File "/usr/lib/python3.4/threading.py", line 888 in _bootstrap

Current thread 0x00007f5e75640700 (most recent call first):
  File "/usr/lib/python3.4/threading.py", line 1076 in _wait_for_tstate_lock
  File "/usr/lib/python3.4/threading.py", line 1060 in join
  File "/usr/lib/s3ql/s3ql/block_cache.py", line 373 in destroy
  File "/usr/lib/python3.4/contextlib.py", line 267 in _exit_wrapper
  File "/usr/lib/python3.4/contextlib.py", line 321 in __exit__
  File "/usr/lib/s3ql/s3ql/mount.py", line 230 in main
  File "/usr/bin/mount.s3ql", line 9 in <module>

Reply via email to