[Python-apps-team] Bug#923606: beancount: FTBFS randomly (gpg-related race condition)

Santiago Vila sanvila at debian.org
Sat Mar 2 18:03:10 GMT 2019


Package: src:beancount
Version: 2.2.0-2
Severity: serious
Tags: ftbfs

Dear maintainer:

I tried to build this package in buster but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules binary-indep
dh binary-indep --with python3,elpa --buildsystem pybuild
   dh_update_autotools_config -i -O--buildsystem=pybuild
   dh_autoreconf -i -O--buildsystem=pybuild
   dh_auto_configure -i -O--buildsystem=pybuild
I: pybuild base:217: python3.7 setup.py config 
running config
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
I: pybuild base:217: /usr/bin/python3 setup.py build 
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.7/build/beancount

[... snipped ...]

                is_dir = False
            if is_dir:
                try:
                    dirfd = os.open(entry.name, os.O_RDONLY, dir_fd=topfd)
                except OSError:
                    onerror(os.open, fullname, sys.exc_info())
                else:
                    try:
                        if os.path.samestat(orig_st, os.fstat(dirfd)):
                            _rmtree_safe_fd(dirfd, fullname, onerror)
                            try:
                                os.rmdir(entry.name, dir_fd=topfd)
                            except OSError:
                                onerror(os.rmdir, fullname, sys.exc_info())
                        else:
                            try:
                                # This can only happen if someone replaces
                                # a directory with a symlink after the call to
                                # os.scandir or stat.S_ISDIR above.
                                raise OSError("Cannot call rmtree on a symbolic "
                                              "link")
                            except OSError:
                                onerror(os.path.islink, fullname, sys.exc_info())
                    finally:
                        os.close(dirfd)
            else:
                try:
>                   os.unlink(entry.name, dir_fd=topfd)
E                   FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser'

/usr/lib/python3.7/shutil.py:447: FileNotFoundError
=============================== warnings summary ===============================
/usr/lib/python3/dist-packages/bottle.py:87
  /usr/lib/python3/dist-packages/bottle.py:87: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    from collections import MutableMapping as DictMixin

.pybuild/cpython3_3.7/build/beancount/ingest/regression_test.py::TestImporterTestGenerators::test_compare_sample_files__no_directory
  /tmp/TestImporterTestGenerators.wuw61umy:170: DeprecationWarning: Call to deprecated function compare_sample_files: Use beancount.ingest.regression_pytest instead

-- Docs: https://docs.pytest.org/en/latest/warnings.html
== 1 failed, 1632 passed, 22 skipped, 2 xfailed, 2 warnings in 137.49 seconds ==
E: pybuild pybuild:338: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.7/build; python3.7 -m pytest -v
dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.7 returned exit code 13
make: *** [debian/rules:13: binary-indep] Error 25
dpkg-buildpackage: error: debian/rules binary-indep subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part,
so I've put a bunch of failed build logs here:

https://people.debian.org/~sanvila/build-logs/beancount/

The failure happens randomly. Sometimes it happens, sometimes it does not,
but the failure rate is so high that we can't really say that the package
"builds from source and without failure".

This failure is similar to another one which I reported before in another package:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=906335

but I'm not really sure if that helps.

If you need a test machine where this happens almost all the time, please contact me
privately and I will gladly offer ssh access.

Thanks.



More information about the Python-apps-team mailing list