• Bug#1100201: borgbackup: FTBFS: FAILED borg/testsuite/locking.py::TestE

    From Santiago Vila@21:1/5 to All on Wed Mar 12 17:40:01 2025
    Package: src:borgbackup
    Version: 1.4.0-4
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean --with python3,sphinxdoc --buildsystem=pybuild
    dh_auto_clean -O--buildsystem=pybuild
    I: pybuild base:311: python3.13 setup.py clean
    Detected and preferring libcrypto [via pkg-config]
    Detected and preferring liblz4 [via pkg-config]
    Detected and preferring libzstd [via pkg-config]
    Detected and preferring libxxhash [via pkg-config]
    Detected and preferring libacl [via pkg-config]
    running clean
    removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build' (and everything under it)
    'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it
    dh_autoreconf_clean -O--buildsystem=pybuild

    [... snipped ...]

    Thread 17: Got LockTimeout, finishing my 1. loop cycle.
    Thread 16: Got LockTimeout, finishing my 1. loop cycle.
    Thread 15: Got LockTimeout, finishing my 1. loop cycle.
    Thread 19: Starting acquire_release_loop(id=('differenthost', 1234, 19), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 20: Starting acquire_release_loop(id=('differenthost', 1234, 20), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 14: Got LockTimeout, finishing my 1. loop cycle.
    Thread 8: Releasing the lock, finishing my 4. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 4: Got LockTimeout, finishing my 10. loop cycle.
    Thread 3: Got LockTimeout, finishing my 5. loop cycle.
    Thread 1: Got LockTimeout, finishing my 8. loop cycle.
    Thread 12: Got LockTimeout, finishing my 3. loop cycle.
    Thread 2: Got LockTimeout, finishing my 6. loop cycle.
    Thread 7: Got LockTimeout, finishing my 5. loop cycle.
    Thread 0: Got LockTimeout, finishing my 7. loop cycle.
    Thread 5: Got LockTimeout, finishing my 4. loop cycle.
    Thread 11: Got LockTimeout, finishing my 2. loop cycle.
    Thread 21: Starting acquire_release_loop(id=('differenthost', 1234, 21), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 4: Acquired the lock. It's my 11. loop cycle. I am the 1. who has the lock concurrently.
    Thread 4: Releasing the lock, finishing my 11. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 0: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 7: Exception thrown, finishing my 6. loop cycle. It's the 2. exception seen until now: Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/testsuite/locking.py", line 138, in acquire_release_loop
    with ExclusiveLock(lockpath, id=id, timeout=timeout/20, sleep=-1): # This timeout is only for not exceeding the given timeout by more than 5%. With sleep<0 it's constantly polling anyway.
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 121, in __enter__
    return self.acquire()
    ~~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 143, in acquire
    raise LockFailed(self.path, str(err)) from None
    borg.locking.LockFailed: Failed to create/acquire the lock /tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock ([Errno 21] Is a directory: '/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock.bwdmlrfp.tmp/differenthost.1234-7').

    Thread 0: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 18: Got LockTimeout, finishing my 1. loop cycle.
    Thread 13: Got LockTimeout, finishing my 2. loop cycle.
    Thread 9: Got LockTimeout, finishing my 5. loop cycle.
    Thread 10: Got LockTimeout, finishing my 6. loop cycle.
    Thread 20: Got LockTimeout, finishing my 1. loop cycle.
    Thread 19: Got LockTimeout, finishing my 1. loop cycle.
    Thread 14: Got LockTimeout, finishing my 2. loop cycle.
    Thread 17: Got LockTimeout, finishing my 2. loop cycle.
    Thread 6: Got LockTimeout, finishing my 5. loop cycle.
    Thread 12: Got LockTimeout, finishing my 4. loop cycle.
    Thread 1: Got LockTimeout, finishing my 9. loop cycle.
    Thread 8: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 8: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 17: Acquired the lock. It's my 3. loop cycle. I am the 1. who has the lock concurrently.
    Thread 17: Releasing the lock, finishing my 3. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 22: Starting acquire_release_loop(id=('differenthost', 1234, 22), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 23: Starting acquire_release_loop(id=('differenthost', 1234, 23), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 12: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 12: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 21: Got LockTimeout, finishing my 1. loop cycle.
    Thread 16: Got LockTimeout, finishing my 2. loop cycle.
    Thread 7: Got LockTimeout, finishing my 7. loop cycle.
    Thread 3: Got LockTimeout, finishing my 6. loop cycle.
    Thread 15: Got LockTimeout, finishing my 2. loop cycle.
    Thread 4: Got LockTimeout, finishing my 12. loop cycle.
    Thread 10: Got LockTimeout, finishing my 7. loop cycle.
    Thread 7: Exception thrown, finishing my 8. loop cycle. It's the 3. exception seen until now: Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/testsuite/locking.py", line 138, in acquire_release_loop
    with ExclusiveLock(lockpath, id=id, timeout=timeout/20, sleep=-1): # This timeout is only for not exceeding the given timeout by more than 5%. With sleep<0 it's constantly polling anyway.
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 121, in __enter__
    return self.acquire()
    ~~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 143, in acquire
    raise LockFailed(self.path, str(err)) from None
    borg.locking.LockFailed: Failed to create/acquire the lock /tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock ([Errno 21] Is a directory: '/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock.a5_13qd9.tmp/differenthost.1234-7').

    Thread 24: Starting acquire_release_loop(id=('differenthost', 1234, 24), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 2: Got LockTimeout, finishing my 7. loop cycle.
    Thread 2: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 18: Got LockTimeout, finishing my 2. loop cycle.
    Thread 11: Got LockTimeout, finishing my 3. loop cycle.
    Thread 14: Got LockTimeout, finishing my 3. loop cycle.
    Thread 5: Got LockTimeout, finishing my 5. loop cycle.
    Thread 2: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 0: Got LockTimeout, finishing my 9. loop cycle.
    Thread 13: Got LockTimeout, finishing my 3. loop cycle.
    Thread 19: Got LockTimeout, finishing my 2. loop cycle.
    Thread 6: Got LockTimeout, finishing my 6. loop cycle.
    Thread 20: Got LockTimeout, finishing my 2. loop cycle.
    Thread 3: Got LockTimeout, finishing my 7. loop cycle.
    Thread 9: Got LockTimeout, finishing my 6. loop cycle.
    Thread 1: Got LockTimeout, finishing my 10. loop cycle.
    Thread 15: Got LockTimeout, finishing my 3. loop cycle.
    Thread 25: Starting acquire_release_loop(id=('differenthost', 1234, 25), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 26: Starting acquire_release_loop(id=('differenthost', 1234, 26), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 16: Got LockTimeout, finishing my 3. loop cycle.
    Thread 21: Got LockTimeout, finishing my 2. loop cycle.
    Thread 6: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 6: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 4: Got LockTimeout, finishing my 13. loop cycle.
    Thread 10: Got LockTimeout, finishing my 8. loop cycle.
    Thread 22: Got LockTimeout, finishing my 1. loop cycle.
    Thread 17: Got LockTimeout, finishing my 4. loop cycle.
    Thread 27: Starting acquire_release_loop(id=('differenthost', 1234, 27), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 18: Got LockTimeout, finishing my 3. loop cycle.
    Thread 8: Got LockTimeout, finishing my 6. loop cycle.
    Thread 11: Got LockTimeout, finishing my 4. loop cycle.
    Thread 0: Acquired the lock. It's my 10. loop cycle. I am the 1. who has the lock concurrently.
    Thread 19: Got LockTimeout, finishing my 3. loop cycle.
    Thread 28: Starting acquire_release_loop(id=('differenthost', 1234, 28), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 14: Got LockTimeout, finishing my 4. loop cycle.
    Thread 24: Got LockTimeout, finishing my 1. loop cycle.
    Thread 5: Got LockTimeout, finishing my 6. loop cycle.
    Thread 0: Releasing the lock, finishing my 10. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 3: Got LockTimeout, finishing my 8. loop cycle.
    Thread 15: Got LockTimeout, finishing my 4. loop cycle.
    Thread 12: Got LockTimeout, finishing my 6. loop cycle.
    Thread 20: Got LockTimeout, finishing my 3. loop cycle.
    Thread 23: Got LockTimeout, finishing my 1. loop cycle.
    Thread 7: Got LockTimeout, finishing my 9. loop cycle.
    Thread 26: Got LockTimeout, finishing my 1. loop cycle.
    Thread 13: Got LockTimeout, finishing my 4. loop cycle.
    Thread 27: Got LockTimeout, finishing my 1. loop cycle.
    Thread 9: Got LockTimeout, finishing my 7. loop cycle.
    Thread 21: Got LockTimeout, finishing my 3. loop cycle.
    Thread 1: Got LockTimeout, finishing my 11. loop cycle.
    Thread 1: Loop timed out--terminating after 11 loop cycles.
    Thread 4: Got LockTimeout, finishing my 14. loop cycle.
    Thread 4: Loop timed out--terminating after 14 loop cycles.
    Thread 16: Got LockTimeout, finishing my 4. loop cycle.
    Thread 29: Starting acquire_release_loop(id=('differenthost', 1234, 29), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 30: Starting acquire_release_loop(id=('differenthost', 1234, 30), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 0: Loop timed out--terminating after 10 loop cycles.
    Thread 12: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 12: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 19: Got LockTimeout, finishing my 4. loop cycle.
    Thread 27: Got LockTimeout, finishing my 2. loop cycle.
    Thread 18: Got LockTimeout, finishing my 4. loop cycle.
    Thread 28: Got LockTimeout, finishing my 1. loop cycle.
    Thread 10: Got LockTimeout, finishing my 9. loop cycle.
    Thread 8: Got LockTimeout, finishing my 7. loop cycle.
    Thread 2: Got LockTimeout, finishing my 9. loop cycle.
    Thread 2: Loop timed out--terminating after 9 loop cycles.
    Thread 25: Got LockTimeout, finishing my 1. loop cycle.
    Thread 23: Got LockTimeout, finishing my 2. loop cycle.
    Thread 28: Acquired the lock. It's my 2. loop cycle. I am the 1. who has the lock concurrently.
    Thread 28: Releasing the lock, finishing my 2. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 22: Got LockTimeout, finishing my 2. loop cycle.
    Thread 31: Starting acquire_release_loop(id=('differenthost', 1234, 31), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 32: Starting acquire_release_loop(id=('differenthost', 1234, 32), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 16: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 11: Got LockTimeout, finishing my 5. loop cycle.
    Thread 11: Loop timed out--terminating after 5 loop cycles.
    Thread 17: Got LockTimeout, finishing my 5. loop cycle.
    Thread 6: Got LockTimeout, finishing my 8. loop cycle.
    Thread 6: Loop timed out--terminating after 8 loop cycles.
    Thread 16: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 14: Got LockTimeout, finishing my 5. loop cycle.
    Thread 3: Got LockTimeout, finishing my 9. loop cycle.
    Thread 3: Loop timed out--terminating after 9 loop cycles.
    Thread 16: Acquired the lock. It's my 6. loop cycle. I am the 1. who has the lock concurrently.
    Thread 24: Got LockTimeout, finishing my 2. loop cycle.
    Thread 5: Got LockTimeout, finishing my 7. loop cycle.
    Thread 5: Loop timed out--terminating after 7 loop cycles.
    Thread 15: Got LockTimeout, finishing my 5. loop cycle.
    Thread 7: Got LockTimeout, finishing my 10. loop cycle.
    Thread 7: Loop timed out--terminating after 10 loop cycles.
    Thread 8: Got LockTimeout, finishing my 8. loop cycle.
    Thread 8: Loop timed out--terminating after 8 loop cycles.
    Thread 16: Releasing the lock, finishing my 6. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 26: Got LockTimeout, finishing my 2. loop cycle.
    Thread 9: Got LockTimeout, finishing my 8. loop cycle.
    Thread 9: Loop timed out--terminating after 8 loop cycles.
    Thread 13: Got LockTimeout, finishing my 5. loop cycle.
    Thread 27: Got LockTimeout, finishing my 3. loop cycle.
    Thread 20: Got LockTimeout, finishing my 4. loop cycle.
    Thread 28: Acquired the lock. It's my 3. loop cycle. I am the 1. who has the lock concurrently.
    Thread 33: Starting acquire_release_loop(id=('differenthost', 1234, 33), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 28: Releasing the lock, finishing my 3. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 25: Got LockTimeout, finishing my 2. loop cycle.
    Thread 19: Got LockTimeout, finishing my 5. loop cycle.
    Thread 30: Got LockTimeout, finishing my 1. loop cycle.
    Thread 14: Got LockTimeout, finishing my 6. loop cycle.
    Thread 14: Loop timed out--terminating after 6 loop cycles.
    Thread 10: Got LockTimeout, finishing my 10. loop cycle.
    Thread 10: Loop timed out--terminating after 10 loop cycles.
    Thread 21: Got LockTimeout, finishing my 4. loop cycle.
    Thread 18: Got LockTimeout, finishing my 5. loop cycle.
    Thread 22: Got LockTimeout, finishing my 3. loop cycle.
    Thread 15: Got LockTimeout, finishing my 6. loop cycle.
    Thread 32: Acquired the lock. It's my 1. loop cycle. I am the 1. who has the lock concurrently.
    Thread 23: Got LockTimeout, finishing my 3. loop cycle.
    Thread 29: Got LockTimeout, finishing my 1. loop cycle.
    Thread 34: Starting acquire_release_loop(id=('differenthost', 1234, 34), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 32: Releasing the lock, finishing my 1. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 12: Got LockTimeout, finishing my 8. loop cycle.
    Thread 12: Loop timed out--terminating after 8 loop cycles.
    Thread 24: Got LockTimeout, finishing my 3. loop cycle.
    Thread 17: Got LockTimeout, finishing my 6. loop cycle.
    Thread 31: Got LockTimeout, finishing my 1. loop cycle.
    Thread 16: Got LockTimeout, finishing my 7. loop cycle.
    Thread 35: Starting acquire_release_loop(id=('differenthost', 1234, 35), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 23: Acquired the lock. It's my 4. loop cycle. I am the 1. who has the lock concurrently.
    Thread 22: Got LockTimeout, finishing my 4. loop cycle.
    Thread 33: Got LockTimeout, finishing my 1. loop cycle.
    Thread 15: Got LockTimeout, finishing my 7. loop cycle.
    Thread 15: Loop timed out--terminating after 7 loop cycles.
    Thread 27: Got LockTimeout, finishing my 4. loop cycle.
    Thread 18: Got LockTimeout, finishing my 6. loop cycle.
    Thread 23: Releasing the lock, finishing my 4. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 36: Starting acquire_release_loop(id=('differenthost', 1234, 36), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 37: Starting acquire_release_loop(id=('differenthost', 1234, 37), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 31: Acquired the lock. It's my 2. loop cycle. I am the 1. who has the lock concurrently.
    Thread 30: Got LockTimeout, finishing my 2. loop cycle.
    Thread 17: Got LockTimeout, finishing my 7. loop cycle.
    Thread 17: Loop timed out--terminating after 7 loop cycles.
    Thread 13: Got LockTimeout, finishing my 6. loop cycle.
    Thread 13: Loop timed out--terminating after 6 loop cycles.
    Thread 26: Got LockTimeout, finishing my 3. loop cycle.
    Thread 19: Got LockTimeout, finishing my 6. loop cycle.
    Thread 28: Got LockTimeout, finishing my 4. loop cycle.
    Thread 20: Got LockTimeout, finishing my 5. loop cycle.
    Thread 18: Got LockTimeout, finishing my 7. loop cycle.
    Thread 25: Got LockTimeout, finishing my 3. loop cycle.
    Thread 16: Got LockTimeout, finishing my 8. loop cycle.
    Thread 16: Loop timed out--terminating after 8 loop cycles.
    Thread 21: Got LockTimeout, finishing my 5. loop cycle.
    Thread 31: Releasing the lock, finishing my 2. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Starting acquire_release_loop(id=('differenthost', 1234, 38), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 39: Starting acquire_release_loop(id=('differenthost', 1234, 39), timeout=0); lockpath=/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock
    Thread 34: Got LockTimeout, finishing my 1. loop cycle.
    Thread 28: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 29: Got LockTimeout, finishing my 2. loop cycle.
    Thread 28: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 22: Got LockTimeout, finishing my 5. loop cycle.
    Thread 22: Acquired the lock. It's my 6. loop cycle. I am the 1. who has the lock concurrently.
    Thread 24: Got LockTimeout, finishing my 4. loop cycle.
    Thread 22: Releasing the lock, finishing my 6. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 22: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 27: Got LockTimeout, finishing my 5. loop cycle.
    Thread 22: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 34: Got LockTimeout, finishing my 2. loop cycle.
    Thread 23: Got LockTimeout, finishing my 5. loop cycle.
    Thread 35: Got LockTimeout, finishing my 1. loop cycle.
    Thread 19: Got LockTimeout, finishing my 7. loop cycle.
    Thread 19: Loop timed out--terminating after 7 loop cycles.
    Thread 29: Got LockTimeout, finishing my 3. loop cycle.
    Thread 30: Got LockTimeout, finishing my 3. loop cycle.
    Thread 18: Got LockTimeout, finishing my 8. loop cycle.
    Thread 18: Loop timed out--terminating after 8 loop cycles.
    Thread 33: Got LockTimeout, finishing my 2. loop cycle.
    Thread 21: Got LockTimeout, finishing my 6. loop cycle.
    Thread 26: Got LockTimeout, finishing my 4. loop cycle.
    Thread 36: Got LockTimeout, finishing my 1. loop cycle.
    Thread 25: Got LockTimeout, finishing my 4. loop cycle.
    Thread 33: Acquired the lock. It's my 3. loop cycle. I am the 1. who has the lock concurrently.
    Thread 33: Releasing the lock, finishing my 3. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 20: Got LockTimeout, finishing my 6. loop cycle.
    Thread 20: Loop timed out--terminating after 6 loop cycles.
    Thread 34: Got LockTimeout, finishing my 3. loop cycle.
    Thread 27: Got LockTimeout, finishing my 6. loop cycle.
    Thread 24: Got LockTimeout, finishing my 5. loop cycle.
    Thread 37: Got LockTimeout, finishing my 1. loop cycle.
    Thread 28: Got LockTimeout, finishing my 6. loop cycle.
    Thread 32: Got LockTimeout, finishing my 2. loop cycle.
    Thread 28: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 28: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 39: Got LockTimeout, finishing my 1. loop cycle.
    Thread 23: Got LockTimeout, finishing my 6. loop cycle.
    Thread 30: Got LockTimeout, finishing my 4. loop cycle.
    Thread 38: Got LockTimeout, finishing my 1. loop cycle.
    Thread 35: Got LockTimeout, finishing my 2. loop cycle.
    Thread 31: Got LockTimeout, finishing my 3. loop cycle.
    Thread 26: Got LockTimeout, finishing my 5. loop cycle.
    Thread 31: Acquired the lock. It's my 4. loop cycle. I am the 1. who has the lock concurrently.
    Thread 29: Got LockTimeout, finishing my 4. loop cycle.
    Thread 21: Got LockTimeout, finishing my 7. loop cycle.
    Thread 21: Loop timed out--terminating after 7 loop cycles.
    Thread 36: Got LockTimeout, finishing my 2. loop cycle.
    Thread 32: Got LockTimeout, finishing my 3. loop cycle.
    Thread 31: Releasing the lock, finishing my 4. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 24: Got LockTimeout, finishing my 6. loop cycle.
    Thread 24: Loop timed out--terminating after 6 loop cycles.
    Thread 37: Got LockTimeout, finishing my 2. loop cycle.
    Thread 34: Got LockTimeout, finishing my 4. loop cycle.
    Thread 29: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 35: Got LockTimeout, finishing my 3. loop cycle.
    Thread 23: Got LockTimeout, finishing my 7. loop cycle.
    Thread 23: Loop timed out--terminating after 7 loop cycles.
    Thread 25: Got LockTimeout, finishing my 5. loop cycle.
    Thread 22: Got LockTimeout, finishing my 8. loop cycle.
    Thread 22: Loop timed out--terminating after 8 loop cycles.
    Thread 27: Got LockTimeout, finishing my 7. loop cycle.
    Thread 29: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 33: Got LockTimeout, finishing my 4. loop cycle.
    Thread 39: Got LockTimeout, finishing my 2. loop cycle.
    Thread 38: Got LockTimeout, finishing my 2. loop cycle.
    Thread 30: Got LockTimeout, finishing my 5. loop cycle.
    Thread 27: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 28: Got LockTimeout, finishing my 8. loop cycle.
    Thread 27: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 31: Got LockTimeout, finishing my 5. loop cycle.
    Thread 29: Got LockTimeout, finishing my 6. loop cycle.
    Thread 32: Got LockTimeout, finishing my 4. loop cycle.
    Thread 36: Got LockTimeout, finishing my 3. loop cycle.
    Thread 26: Got LockTimeout, finishing my 6. loop cycle.
    Thread 26: Loop timed out--terminating after 6 loop cycles.
    Thread 29: Exception thrown, finishing my 7. loop cycle. It's the 4. exception seen until now: Traceback (most recent call last):
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/testsuite/locking.py", line 138, in acquire_release_loop
    with ExclusiveLock(lockpath, id=id, timeout=timeout/20, sleep=-1): # This timeout is only for not exceeding the given timeout by more than 5%. With sleep<0 it's constantly polling anyway.
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 121, in __enter__
    return self.acquire()
    ~~~~~~~~~~~~^^
    File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build/borg/locking.py", line 143, in acquire
    raise LockFailed(self.path, str(err)) from None
    borg.locking.LockFailed: Failed to create/acquire the lock /tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock ([Errno 21] Is a directory: '/tmp/pytest-of-buildd/pytest-0/test_race_condition0/lock.iys3lbo8.tmp/differenthost.1234-1d').

    Thread 33: Got LockTimeout, finishing my 5. loop cycle.
    Thread 37: Got LockTimeout, finishing my 3. loop cycle.
    Thread 34: Got LockTimeout, finishing my 5. loop cycle.
    Thread 25: Got LockTimeout, finishing my 6. loop cycle.
    Thread 25: Loop timed out--terminating after 6 loop cycles.
    Thread 35: Got LockTimeout, finishing my 4. loop cycle.
    Thread 39: Acquired the lock. It's my 3. loop cycle. I am the 1. who has the lock concurrently.
    Thread 32: Got LockTimeout, finishing my 5. loop cycle.
    Thread 38: Got LockTimeout, finishing my 3. loop cycle.
    Thread 27: Got LockTimeout, finishing my 9. loop cycle.
    Thread 27: Loop timed out--terminating after 9 loop cycles.
    Thread 30: Got LockTimeout, finishing my 6. loop cycle.
    Thread 28: Got LockTimeout, finishing my 9. loop cycle.
    Thread 28: Loop timed out--terminating after 9 loop cycles.
    Thread 36: Got LockTimeout, finishing my 4. loop cycle.
    Thread 39: Releasing the lock, finishing my 3. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 36: Acquired the lock. It's my 5. loop cycle. I am the 1. who has the lock concurrently.
    Thread 31: Got LockTimeout, finishing my 6. loop cycle.
    Thread 34: Got LockTimeout, finishing my 6. loop cycle.
    Thread 36: Releasing the lock, finishing my 5. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 29: Got LockTimeout, finishing my 8. loop cycle.
    Thread 33: Got LockTimeout, finishing my 6. loop cycle.
    Thread 37: Got LockTimeout, finishing my 4. loop cycle.
    Thread 35: Got LockTimeout, finishing my 5. loop cycle.
    Thread 32: Acquired the lock. It's my 6. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Got LockTimeout, finishing my 4. loop cycle.
    Thread 32: Releasing the lock, finishing my 6. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 32: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 31: Got LockTimeout, finishing my 7. loop cycle.
    Thread 32: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 32: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Got LockTimeout, finishing my 4. loop cycle.
    Thread 32: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 33: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 37: Got LockTimeout, finishing my 5. loop cycle.
    Thread 35: Got LockTimeout, finishing my 6. loop cycle.
    Thread 33: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 33: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 30: Got LockTimeout, finishing my 7. loop cycle.
    Thread 30: Loop timed out--terminating after 7 loop cycles.
    Thread 34: Got LockTimeout, finishing my 7. loop cycle.
    Thread 39: Got LockTimeout, finishing my 5. loop cycle.
    Thread 38: Got LockTimeout, finishing my 5. loop cycle.
    Thread 33: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 39: Acquired the lock. It's my 6. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Releasing the lock, finishing my 6. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 31: Got LockTimeout, finishing my 8. loop cycle.
    Thread 39: Acquired the lock. It's my 7. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Releasing the lock, finishing my 7. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 39: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 34: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 29: Got LockTimeout, finishing my 9. loop cycle.
    Thread 29: Loop timed out--terminating after 9 loop cycles.
    Thread 34: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 36: Got LockTimeout, finishing my 6. loop cycle.
    Thread 35: Got LockTimeout, finishing my 7. loop cycle.
    Thread 37: Got LockTimeout, finishing my 6. loop cycle.
    Thread 35: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 33: Got LockTimeout, finishing my 9. loop cycle.
    Thread 35: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 31: Got LockTimeout, finishing my 9. loop cycle.
    Thread 31: Loop timed out--terminating after 9 loop cycles.
    Thread 32: Acquired the lock. It's my 9. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Got LockTimeout, finishing my 6. loop cycle.
    Thread 32: Releasing the lock, finishing my 9. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 32: Loop timed out--terminating after 9 loop cycles.
    Thread 35: Acquired the lock. It's my 9. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Got LockTimeout, finishing my 9. loop cycle.
    Thread 35: Releasing the lock, finishing my 9. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 36: Got LockTimeout, finishing my 7. loop cycle.
    Thread 37: Got LockTimeout, finishing my 7. loop cycle.
    Thread 35: Loop timed out--terminating after 9 loop cycles.
    Thread 38: Got LockTimeout, finishing my 7. loop cycle.
    Thread 38: Acquired the lock. It's my 8. loop cycle. I am the 1. who has the lock concurrently.
    Thread 33: Got LockTimeout, finishing my 10. loop cycle.
    Thread 33: Loop timed out--terminating after 10 loop cycles.
    Thread 39: Got LockTimeout, finishing my 10. loop cycle.
    Thread 34: Got LockTimeout, finishing my 9. loop cycle.
    Thread 34: Loop timed out--terminating after 9 loop cycles.
    Thread 38: Releasing the lock, finishing my 8. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 9. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Releasing the lock, finishing my 9. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 10. loop cycle. I am the 1. who has the lock concurrently.
    Thread 36: Got LockTimeout, finishing my 8. loop cycle.
    Thread 36: Loop timed out--terminating after 8 loop cycles.
    Thread 37: Got LockTimeout, finishing my 8. loop cycle.
    Thread 37: Loop timed out--terminating after 8 loop cycles.
    Thread 38: Releasing the lock, finishing my 10. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 11. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Got LockTimeout, finishing my 11. loop cycle.
    Thread 38: Releasing the lock, finishing my 11. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 12. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Releasing the lock, finishing my 12. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 13. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Releasing the lock, finishing my 13. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 14. loop cycle. I am the 1. who has the lock concurrently.
    Thread 38: Releasing the lock, finishing my 14. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Acquired the lock. It's my 15. loop cycle. I am the 1. who has the lock concurrently.
    Thread 39: Got LockTimeout, finishing my 12. loop cycle.
    Thread 39: Loop timed out--terminating after 12 loop cycles.
    Thread 38: Releasing the lock, finishing my 15. loop cycle. Currently, 0 colleagues still have the lock.
    Thread 38: Loop timed out--terminating after 15 loop cycles.

    --------------------------------------------------------------------------------------------- benchmark: 49 tests ---------------------------------------------------------------------------------------------

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Tue Mar 25 10:50:01 2025
    severity 1100201 serious
    thanks

    [ Gianfranco, please always Cc me on the bugs I report if you talk to me
    in your replies. You already should know that the BTS does not
    forward messages to the submitter ]

    I suspect this has to do with parallelism of your build server, can you please try to lower it
    or to increase the timeout?

    I tried building the package on machines with 1 CPU and 2 CPUs. A lot of times. The failure rate was 93% and 23% respectively, neither of which can be considered
    suitable for release.

    I can't reduce parallelism more than having a single CPU, and I don't think whoever wants to build the package from source should have to jump through hoops to build the package without errors.

    If there is a test which is flaky, please disable it.

    A test which fails when it should not fail is more harmful than useful.

    Also, I included this text in my bug report that you missed completely:

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    The offer still holds, but I recommend that you try GRUB_CMDLINE_LINUX="nr_cpus=1" first.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Tue Mar 25 14:20:01 2025
    El 25/3/25 a las 12:19, Gianfranco Costamagna escribió:
    I found why borgbackup2 doesn't have this issue... fakeroot!

    https://salsa.debian.org/debian/borgbackup2/-/commit/4887a213aa4d4c2a3dcc4583952258c944f3a080

    So I'll backport that change, or ignore that test and push :)

    I'm always trying to fight the "it works for me" syndrome, by offering VMs to test.

    Since you have already found a potential solution, there is probably no need to disable
    the tests.

    So, if you backport the change, I will gladly perform whatever additional tests are required to ensure that it works reliably enough.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Santiago Vila@21:1/5 to All on Tue Mar 25 17:10:01 2025
    found 1100201 1.2.4-1
    thanks

    Hi. After a lot of tests (100 tries on machines with 1 CPU and
    100 tries on machines with 2 CPUs), the issue seems
    completely fixed here in my setup. Thanks a lot!

    I'm going to mark this as happening is bookworm, because, well,
    it happens in bookworm as well. If you have time and motivation,
    you might want to fix this in bookworm as well for a future
    point release. If not, the bug is already closed anyway,
    and it will remain that way.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)