Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JFSIncompleteFile with size==-1 crashes resume() operation #104

Closed
jnylen opened this issue Feb 10, 2016 · 3 comments
Closed

JFSIncompleteFile with size==-1 crashes resume() operation #104

jnylen opened this issue Feb 10, 2016 · 3 comments
Labels

Comments

@jnylen
Copy link

jnylen commented Feb 10, 2016

I get this error when pushing files:

DEBUG:jottalib.jottacloud:get xattr hash for /vmsata/backups/dump/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo
DEBUG:jottalib.jottacloud:setxattr got exception IOError(61, 'No data available')
DEBUG:jottalib.jottacloud:Local file /vmsata/backups/dump/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo is incompletely uploaded, continue
DEBUG:jottalib.JFS:Resuming /Jotta/Archive/VMs/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo from offset -1
Ouch. Something's wrong with "/vmsata/backups/dump/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo":
ERROR:jottalib.scanner:SAFERUN: Got exception when processing (u'/vmsata/backups/dump/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo', u'/Jotta/Archive/VMs/vzdump-lxc-100-2016_02_07-06_00_02.tar.lzo', <jottalib.JFS.JFS object at 0x7f35a2da43d0>)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/jottalib/scanner.py", line 54, in saferun
    return apply(cmd, args)
  File "/usr/local/lib/python2.7/dist-packages/jottalib/jottacloud.py", line 151, in replace_if_changed
    return resume(localfile, jf, JFS)
  File "/usr/local/lib/python2.7/dist-packages/jottalib/jottacloud.py", line 135, in resume
    _complete = jottafile.resume(lf)
  File "/usr/local/lib/python2.7/dist-packages/jottalib/JFS.py", line 377, in resume
    return self.jfs.up(self.path, data, resume_offset=self.size)
  File "/usr/local/lib/python2.7/dist-packages/jottalib/JFS.py", line 940, in up
    fileobject.seek(resume_offset if resume_offset is not None else 0)
IOError: [Errno 22] Invalid argument

The harddrive is a 1.87 TB SATA HGST drive.

@havardgulldahl
Copy link
Owner

havardgulldahl commented Jun 11, 2016

Ouch, something's wrong with that setxattr command. I'll take a look.

Is the error consistent? That is, does it always fail on this file?

@havardgulldahl havardgulldahl changed the title No data available IOError from setxattr "No data available" Jun 11, 2016
@havardgulldahl
Copy link
Owner

havardgulldahl commented Jun 25, 2016

Upon closer reading, it's not setxattr that's the problem, it seems like it's bombing when trying to resume uploading a JFSIncompleteFile with size==-1 (the default).

So we have to figure out why the incomplete file doesn't have a size, in order to fix this.

@havardgulldahl havardgulldahl changed the title IOError from setxattr "No data available" JFSIncompleteFile with size==-1 crashes resume() operation Jun 25, 2016
havardgulldahl added a commit that referenced this issue Jul 12, 2016
…the server (this is the default in e.g. a file listing)

Closes #81 and #104
@havardgulldahl
Copy link
Owner

Fixed in git HEAD.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants