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

Attic mount dies (Input/output error) when backgrounded #200

Open
rbu opened this issue Feb 16, 2015 · 11 comments
Open

Attic mount dies (Input/output error) when backgrounded #200

rbu opened this issue Feb 16, 2015 · 11 comments

Comments

@rbu
Copy link

rbu commented Feb 16, 2015

I have created an attic archive that passes checks as follows:

[root@localhost backup]# attic check attic_backup
Starting repository check...
Repository check complete, no problems found.
Starting archive consistency check...
Analyzing archive 15-02-11_19-35-56 (1/9)
Analyzing archive 15-02-11_18-21-28 (2/9)
Analyzing archive 15-02-11_18-15-48 (3/9)
Analyzing archive 15-02-11_18-20-43 (4/9)
Analyzing archive 15-02-11_18-16-51 (5/9)
Analyzing archive 15-02-11_18-15-52 (6/9)
Analyzing archive 15-02-11_18-16-46 (7/9)
Analyzing archive 15-02-11_18-15-42 (8/9)
Analyzing archive 15-02-11_18-21-45 (9/9)
Archive consistency check complete, no problems found.
[root@localhost backup]# 

The following command fails:

[root@localhost backup]# attic mount attic_backup mount/
[root@localhost backup]# find mount/
mount/
mount/15-02-11_18-16-51
mount/15-02-11_18-16-51/backup
...
mount/15-02-11_19-35-56
find: ‘mount/15-02-11_19-35-56’: Input/output error
find: ‘mount/15-02-11_18-21-28’: Software caused connection abort
mount/15-02-11_18-21-28
find: ‘mount/15-02-11_18-15-48’: Transport endpoint is not connected
mount/15-02-11_18-15-48
find: ‘mount/15-02-11_18-16-46’: Transport endpoint is not connected
mount/15-02-11_18-16-46
find: ‘mount/15-02-11_18-20-43’: Transport endpoint is not connected
mount/15-02-11_18-20-43
find: ‘mount/15-02-11_18-21-45’: Transport endpoint is not connected
mount/15-02-11_18-21-45
find: ‘mount/15-02-11_18-15-52’: Transport endpoint is not connected
mount/15-02-11_18-15-52
find: ‘mount/15-02-11_18-15-42’: Transport endpoint is not connected
mount/15-02-11_18-15-42

However, running the command in foreground works:

[root@localhost backup]# attic mount attic_backup mount/ -f
...

Second shell:
[root@localhost backup]# find mount/
.... much output ...
@rbu
Copy link
Author

rbu commented Feb 16, 2015

[root@localhost backup]# python -V
Python 3.3.2
[root@localhost backup]# attic
usage: attic [-h]

             {serve,init,check,change-passphrase,create,extract,delete,list,mount,info,prune,help}
             ...

Attic 0.14 - Deduplicated Backups

FYI: msgpack is installed with C extensions, so it's not that recent error I debugged.

@rbu
Copy link
Author

rbu commented Feb 25, 2015

I can still reproduce this problem on a very basic attic setup on a different machine. Any ideas what this could be?

@rfinnie
Copy link

rfinnie commented Mar 5, 2015

The issue appears to be a result of using a relative repository path. helpers.daemonize() does a os.chdir('/'). A workaround is always to use an absolute path to the repository on the command line, but the fix is attic should work out the absolute path of the repository ahead of time.

@ThomasWaldmann
Copy link
Contributor

See PR #150 for other issues with relative pathes and how they were fixed.

@ThomasWaldmann
Copy link
Contributor

@rbu : I can't reproduce.

@rfinnie : Why do you think it is related to relative repo path? I tried with one and had no problems. The log output above rather looks like the connection died.

@rbu
Copy link
Author

rbu commented Mar 18, 2015

@ThomasWaldmann, have you tried with master or the latest release? Connection problems would be hard to explain, as happens reliably on a local disk "attic". There were no disk errors or similar in the logs.

If that helps, this was on a "vanilla" install of CentOS 7 with Python 3.3 from softwarecollections.org

@ThomasWaldmann
Copy link
Contributor

@rbu I tried with master branch (which is only a few changesets ahead of 0.14).

Interesting that it is all local. I was just wondering about:

Software caused connection abort
Transport endpoint is not connected

@ThomasWaldmann
Copy link
Contributor

I just have gotten a "transport endpoint not connected" myself:

    attic: m: [Errno 107] Transport endpoint is not connected: 'm'

How I got there:
In "m", i did an attic mount for some backup archive.
Later, i killed that repository (rm -rf) without unmounting the fuse.
Then did some test backup that included "m" and got that error msg.
"ls m" also shows that error.
So it seems that error comes from fuse when it has trouble to access the repo/archive.

@rbu
Copy link
Author

rbu commented Mar 18, 2015

What commands did you use to fuse mount? Did you specify mount point and repository path relatively or absolutely?

@ThomasWaldmann
Copy link
Contributor

IIRC it was relatively. But for my case it doesn't matter. I KILLED the repo and then got the error. It is not expected that a still existing fuse mount works on stuff that doesn't exist any more.

@bopolissimus
Copy link

I noticed this a few days ago when I started testing attic (repository is remote, mounted over cifs for local access [for all operations, backup, mount, list, info, etc]). I have scripts that cd to the cifs mount and then perform the requested operations with relative path. Just retested with absolute path and that succeeds.

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

No branches or pull requests

4 participants