Public bug reported:

Seen on armhf only[1]. The test suite runs the tests on python 3.13 and
3.14, and it fails on 3.14 only. Sometimes more than one test fails, but
it's always about "can't start new thread":


284s ==================================== ERRORS 
====================================
284s ______ ERROR at setup of TestFileVersion.test_file_version_upload_headers 
______
284s 
284s self = <test.unit.file_version.test_file_version.TestFileVersion object at 
0xe6b18b58>
284s 
284s     @pytest.fixture(autouse=True)
284s     def setUp(self):
284s         self.account_info = InMemoryAccountInfo()
284s         self.cache = DummyCache()
284s         self.api = B2Api(
284s             self.account_info, self.cache, 
api_config=B2HttpApiConfig(_raw_api_class=RawSimulator)
284s         )
284s         self.raw_api = self.api.session.raw_api
284s         (self.application_key_id, self.master_key) = 
self.raw_api.create_account()
284s         self.api.authorize_account(
284s             application_key_id=self.application_key_id,
284s             application_key=self.master_key,
284s             realm='production',
284s         )
284s         self.bucket = self.api.create_bucket('testbucket', 'allPrivate', 
is_file_lock_enabled=True)
284s >       self.file_version = self.bucket.upload_bytes(
284s             b'nothing', 'test_file', cache_control='private, max-age=3600'
284s         )
284s 
284s test/unit/file_version/test_file_version.py:56: 
284s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ 
284s /usr/lib/python3/dist-packages/logfury/_logfury/trace_call.py:86: in 
wrapper
284s     return function(*wrapee_args, **wrapee_kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/bucket.py:605: in upload_bytes
284s     return self.upload(
284s /usr/lib/python3/dist-packages/logfury/_logfury/trace_call.py:86: in 
wrapper
284s     return function(*wrapee_args, **wrapee_kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/bucket.py:926: in upload
284s     return self.create_file(
284s /usr/lib/python3/dist-packages/logfury/_logfury/trace_call.py:86: in 
wrapper
284s     return function(*wrapee_args, **wrapee_kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/bucket.py:1011: in create_file
284s     return self._create_file(
284s b2sdk/_internal/bucket.py:1158: in _create_file
284s     return emerger_method(
284s /usr/lib/python3/dist-packages/logfury/_logfury/trace_call.py:86: in 
wrapper
284s     return function(*wrapee_args, **wrapee_kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/transfer/emerge/emerger.py:174: in emerge
284s     return self._emerge(
284s b2sdk/_internal/transfer/emerge/emerger.py:116: in _emerge
284s     return self.emerge_executor.execute_emerge_plan(
284s b2sdk/_internal/transfer/emerge/executor.py:82: in execute_emerge_plan
284s     return execution.execute_plan(emerge_plan)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/transfer/emerge/executor.py:124: in execute_plan
284s     future = execution_step.execute()
284s              ^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/transfer/emerge/executor.py:712: in execute
284s     return execution.services.upload_manager.upload_file(
284s /usr/lib/python3/dist-packages/logfury/_logfury/trace_call.py:86: in 
wrapper
284s     return function(*wrapee_args, **wrapee_kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s b2sdk/_internal/transfer/outbound/upload_manager.py:63: in upload_file
284s     f = self._thread_pool.submit(
284s b2sdk/_internal/utils/thread_pool.py:53: in submit
284s     return self._thread_pool.submit(fn, *args, **kwargs)
284s            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284s /usr/lib/python3.14/concurrent/futures/thread.py:215: in submit
284s     self._adjust_thread_count()
284s /usr/lib/python3.14/concurrent/futures/thread.py:237: in 
_adjust_thread_count
284s     t.start()
284s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ 
284s 
284s self = <Thread(ThreadPoolExecutor-439_0, stopped)>
284s 
284s     def start(self):
284s         """Start the thread's activity.
284s     
284s         It must be called at most once per thread object. It arranges for 
the
284s         object's run() method to be invoked in a separate thread of 
control.
284s     
284s         This method will raise a RuntimeError if called more than once on 
the
284s         same thread object.
284s     
284s         """
284s         if not self._initialized:
284s             raise RuntimeError("thread.__init__() not called")
284s     
284s         if self._started.is_set():
284s             raise RuntimeError("threads can only be started once")
284s     
284s         with _active_limbo_lock:
284s             _limbo[self] = self
284s     
284s         if self._context is None:
284s             # No context provided
284s             if _sys.flags.thread_inherit_context:
284s                 # start with a copy of the context of the caller
284s                 self._context = _contextvars.copy_context()
284s             else:
284s                 # start with an empty context
284s                 self._context = _contextvars.Context()
284s     
284s         try:
284s             # Start joinable thread
284s >           _start_joinable_thread(self._bootstrap, 
handle=self._os_thread_handle,
284s                                    daemon=self.daemon)
284s E                                  RuntimeError: can't start new thread
284s 
284s /usr/lib/python3.14/threading.py:1005: RuntimeError
284s =============================== warnings summary 
===============================
284s test/unit/conftest.py:27
284s   /tmp/autopkgtest.LUrf0J/build.Ey7/src/test/unit/conftest.py:27: 
PytestAssertRewriteWarning: Module already imported so cannot be rewritten; 
test.unit
284s     pytest.register_assert_rewrite('test.unit')
284s 
284s test/unit/api/test_api.py:445
284s   /tmp/autopkgtest.LUrf0J/build.Ey7/src/test/unit/api/test_api.py:445: 
SyntaxWarning: "\[" is an invalid escape sequence. Such sequences will not work 
in the future. Did you mean "\\["? A raw string is also an option.
284s     with pytest.raises(RestrictedBucket, match="\['bucket1', 'bucket2'\]"):
284s 
284s test/unit/b2http/test_b2http.py::TestTranslateErrors::test_invalid_json
284s   /tmp/autopkgtest.LUrf0J/build.Ey7/src/b2sdk/_internal/exception.py:726: 
UserWarning: bad request exception with an unknown `code`. 
message={{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{,
 code=non_json_response
284s     warnings.warn(
284s 
284s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
284s =========================== short test summary info 
============================
284s ERROR 
test/unit/file_version/test_file_version.py::TestFileVersion::test_file_version_upload_headers
284s ===== 726 passed, 60 skipped, 4 deselected, 3 warnings, 1 error in 12.32s 
======


1. 
https://autopkgtest.ubuntu.com/results/autopkgtest-resolute/resolute/armhf/p/python-b2sdk/20260218_121023_91cdf@/log.gz#:~:text=daemon)%0A284s%20E-,RuntimeError,-%3A%20can%27t%20start%20new

** Affects: python-b2sdk (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: update-excuse

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2142124

Title:
  armhf DEP8 failures: can't start new thread

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-b2sdk/+bug/2142124/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to