Tritcask fails to load data file bigger than address space.

Bug #987376 reported by Guillermo Gonzalez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Confirmed
High
Guillermo Gonzalez

Bug Description

When a huge data file is created in a session, Tritcask fails to load it in the next sesssion (and Syncdaemon isn't able to start).

This is caused by the use of mmap on a file bigger than the address space, in this case 9GB.

Here is the traceback:

  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/syncdaemon/tritcask.py", line 636, in __init__
    self._build_keydir()
  File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/syncdaemon/tritcask.py", line 791, in _build_keydir
    self._load_from_data(self.live_file)
  File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/syncdaemon/tritcask.py", line 819, in _load_from_data
    for entry in data_file.iter_entries():
  File "/usr/lib/python2.7/dist-packages/ubuntuone-client/ubuntuone/syncdaemon/tritcask.py", line 254, in iter_entries
    fmmap = mmap.mmap(self.fd.fileno(), 0, access=mmap.ACCESS_READ)
ValueError: mmap length is too large

Creating such a huge file is a bug in itself that I'll create asap.

Related branches

summary: - Tritcask fails to load data file bigger than memory.
+ Tritcask fails to load data file bigger than address space.
tags: added: u1-sru
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.