← Back to team overview

duplicity-team team mailing list archive

Re: [Question #631423]: Too many open files (again)

 

Question #631423 on Duplicity changed:
https://answers.launchpad.net/duplicity/+question/631423

Howard Kaye gave more information on the question:
The attached patch seems to fix the problem and keeps current behavior with
respect to temp directories.

Howie


On Tue, May 9, 2017 at 5:08 PM, edso <question631423@xxxxxxxxxxxxxxxxxxxxx>
wrote:

> Your question #631423 on Duplicity changed:
> https://answers.launchpad.net/duplicity/+question/631423
>
> edso proposed the following answer:
> hey guys,
>
> that looks wrong. using os.tmpfile() may resolve the issue, but it
> removes the users control, where the temp files are created. this comes
> up on list list regularly when user's small temp partitions overflow and
> they ask why duplicity is not respecting their temp dir setting.
>
> the python docs say
>
> https://docs.python.org/2/library/os.html#os.tmpfile
> "
> ... will be automatically deleted once there are no file descriptors for
> the file.
> "
> https://docs.python.org/2/library/tempfile.html#tempfile.TemporaryFile
> "
> ... It will be destroyed as soon as it is closed (including an implicit
> close when the object is garbage collected). ...
> "
>
> Howard, could you please test if explicitly closing obsolete
> TemporaryFiles instead in patchdir.py solves the issue as well?
>
> the whole condition looks fishy anyway. it's tempfile modules job to
> take care of crossplatform compatibility, no need for us to treat some
> platforms different than others. ..ede/duply.net
>
> On 09.05.2017 21:03, Howard Kaye wrote:
> > Question #631423 on Duplicity changed:
> > https://answers.launchpad.net/duplicity/+question/631423
> >
> >     Status: Needs information => Open
> >
> > Howard Kaye gave more information on the question:
> > The problem seems to be something going on in the tempfile Python
> library.
> > The following 1 line patch fixes the issue.
> >
> > *** /Users/howie/duplicity-0.7.10/duplicity/patchdir.py 2015-09-10
> > 09:03:43.000000000 -0400
> > --- patchdir.py 2017-05-09 14:27:38.000000000 -0400
> > ***************
> > *** 496,502 ****
> >               See https://bugs.launchpad.net/duplicity/+bug/670891 for
> > discussion
> >               of os.tmpfile() vs tempfile.TemporaryFile() w.r.t. Windows
> /
> > Linux.
> >               """
> > !             if sys.platform.startswith(('cygwin', 'windows')):
> >                   tempfp = os.tmpfile()
> >               else:
> >                   tempfp =
> > tempfile.TemporaryFile(dir=tempdir.default().dir())
> > --- 496,502 ----
> >               See https://bugs.launchpad.net/duplicity/+bug/670891 for
> > discussion
> >               of os.tmpfile() vs tempfile.TemporaryFile() w.r.t. Windows
> /
> > Linux.
> >               """
> > !             if sys.platform.startswith(('cygwin', 'windows',
> 'darwin')):
> >                   tempfp = os.tmpfile()
> >               else:
> >                   tempfp =
> > tempfile.TemporaryFile(dir=tempdir.default().dir())
> >
> >
> > On Tue, May 9, 2017 at 11:47 AM, Kenneth Loafman <
> > question631423@xxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> >> Your question #631423 on Duplicity changed:
> >> https://answers.launchpad.net/duplicity/+question/631423
> >>
> >>     Status: Open => Needs information
> >>
> >> Kenneth Loafman requested more information:
> >> Part of the problem is the number of gpg processes, you should have a
> >> max of 2 or 3, not 13.  When you installed the current version, was
> >> there perhaps an older version on the system, maybe from ports or
> >> homebrew?  If so, did you uninstall that version?  The repo versions
> >> have different paths than the tarball version.
> >>
> >> To double check, run "locate GnuPGInterface.py".  If you have it, you
> >> probably have a very old duplicity hanging out there and will need to
> >> uninstall and purge it.
> >>
> >> --
> >> To answer this request for more information, you can either reply to
> >> this email or enter your reply at the following page:
> >> https://answers.launchpad.net/duplicity/+question/631423
> >>
> >> You received this question notification because you asked the question.
> >>
> >
>
> --
> If this answers your question, please go to the following page to let us
> know that it is solved:
> https://answers.launchpad.net/duplicity/+question/631423/+
> confirm?answer_id=15
>
> If you still need help, you can reply to this email or go to the
> following page to enter your feedback:
> https://answers.launchpad.net/duplicity/+question/631423
>
> You received this question notification because you asked the question.
>

-- 
You received this question notification because your team duplicity-team
is an answer contact for Duplicity.