Comments (6)
I know what this is. Somehow you or one of your applications have managed to try to access a file without first opening it and acquiring a file handle. This results in the error as you see here because it is attempting to read from a file that does not exist in B2Fuse's internal listing. The result is that the structure that B2Fuse uses internally to handle open files is trying to generate a "default" B2File. This will not work as the B2File constructor is not supplied with the proper arguments. It would be possible to handle this error in a more user friendly way but this should never happen in normal use.
from b2_fuse.
If I were you I would start looking at what programs and files you were using at that time. You should include anything that run in the background as a suspect as these may "walk" the B2Fuse mount without your knowledge. This is a not a major issue as it should not occur through normal use, but a better way of handling this error would be to refuse to do anything and return an access denied or similar to the application in question.
from b2_fuse.
I have found the way to reproduce the errors. It happens when I compress a file inside the bucket. For example:
/mnt/mnt$ zip compressed-file.zip somefile
adding: somefile
zip I/O error: Bad address
zip error: Input file read failure (was zipping somefile)
While in the console I had started b2fuse.py I got:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 604, in write
offset, fh)
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 431, in write
self.open_files[path].write(offset, data)
File "/home/durr/b2/b2_fuse/filetypes/B2SequentialFileMemory.py", line 72, in write
raise NotImplemented()
TypeError: 'NotImplementedType' object is not callable
When I compressed the file from Dolphin file manager the erros message was this:
Traceback
(most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 604, in write
offset, fh)
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 430, in write
self.open_files[path].set_dirty(True)
TypeError: init() takes at least 3 arguments (1 given)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 621, in flush
return self.operations('flush', self._decode_optional_path(path), fh)
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 445, in flush
self.open_files[self._remove_start_slash(path)].upload()
TypeError: init() takes at least 3 arguments (1 given)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 629, in release
return self.operations('release', self._decode_optional_path(path), fh)
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 451, in release
self.flush(self._remove_start_slash(path), fh)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 445, in flush
self.open_files[self._remove_start_slash(path)].upload()
TypeError: init() takes at least 3 arguments (1 given)
from b2_fuse.
As in the other issue, this error is caused by using disk backed storage. Disk backed storage does not support random write, which apparently this application uses.
from b2_fuse.
Not sure if this is the right place or anothe issue should be opened, but the errors look to me quite similar to the former ones.
I've got this error deletting a folder from the command line with “rm -r”:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 693, in readdir
fip.contents.fh):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 251, in readdir
online_files = map(lambda file_info: file_info['fileName'], directory.get_file_infos())
AttributeError: 'NoneType' object has no attribute 'get_file_infos'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 693, in readdir
fip.contents.fh):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 251, in readdir
online_files = map(lambda file_info: file_info['fileName'], directory.get_file_infos())
AttributeError: 'NoneType' object has no attribute 'get_file_infos'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 495, in _wrapper
return func(*args, **kwargs) or 0
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 693, in readdir
fip.contents.fh):
File "/usr/local/lib/python2.7/dist-packages/fuse.py", line 800, in call
return getattr(self, op)(*args)
File "/home/durr/b2/b2_fuse/b2fuse_main.py", line 251, in readdir
online_files = map(lambda file_info: file_info['fileName'], directory.get_file_infos())
AttributeError: 'NoneType' object has no attribute 'get_file_infos'
The folder that was being deleted was 4.7 MB big with 6 subfolders and 94 files (many small files).
from b2_fuse.
This issue needs to be broken down, too many (unrelated) errors in one issue. Can we start with the rm bug first? Please open a new issue if you are able to reproduce it and report you config parameters (- application key) and preferably a list of filenames in the folder as given by the command line utility tree
from b2_fuse.
Related Issues (20)
- Mounting squashfs image via b2_fuse causes entire file download HOT 4
- Adding support for "mtime" using extended file metadata HOT 1
- Only first 100 files in alphabetical order can be seen HOT 3
- Cannot create file or directory with filename that is a suffix of the filename of an existing file HOT 2
- Cannot remove directory with filename that is a prefix of an existing filename HOT 1
- Purge or Refresh the Cache for a File HOT 16
- tput in start_script HOT 1
- only one file being displayed in b2fuse after a 'b2 sync' HOT 3
- When attempting to mount error occurs HOT 2
- NotImplementedType thrown when using encfs HOT 7
- cannot mount bucket HOT 2
- Add support for Python3 HOT 1
- KeyError: 'contentLength' HOT 2
- mountpoint is not empty HOT 7
- 'NoneType' object has no attribute '__getitem__' HOT 4
- Error: unauthorized (first run) Everything is installed/configured perfectly HOT 5
- Does this project still work? HOT 4
- `pip install b2fuse` fails on ubuntu focal 20.04 HOT 4
- error after install HOT 2
- ModuleNotFoundError: No module named 'b2fuse_main'
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from b2_fuse.