Bug #73930
openceph-mgr modules rely on deprecated python subinterpreters
0%
Description
parent tracker for related fixes needed for distros with python 3.12+
This is a very general problem. python3.12 appears to have significantly changed how subinterpreters work. ceph-mgr internally passes objects between subinterpreters freely, which now can cause crashes. Moreover, there are dependencies (py03) which no longer tolerate being imported in a submodule.
We don't yet really know the extent of the problem here. The initial fixes are:
1. https://github.com/ceph/ceph/pull/66244 -- default to running submodules in the main interpreter
2. https://github.com/ceph/ceph/pull/66240 -- serialize objects passed between subinterpreters
1 is the important one here, and will be the one we focus on for tentacle. 2 will be a followup to allow us to break certain modules back into subinterpreters with seperate GILs (allowed in 3.12, likely the reason for the change) for better concurrency.
1 has shown that a bunch of modules depend on magic using interpreter-wide globals. We're working on refactoring that to make 1 effective.
Once 1 is working with refactors to avoid globals, testing may turn up further 3.12 related problems to address.
Updated by Casey Bodley 6 months ago
- Blocked by Bug #73857: rbd mirror snapshot hang/failure on rocky10 added
Updated by Casey Bodley 6 months ago
- Blocked by Bug #73859: ceph-mgr: py03 import error on rocky10/python3.12 added
Updated by Samuel Just 6 months ago
- Backport deleted (
tentacle squid)
This is a very general problem. python3.12 appears to have significantly changed how subinterpreters work. ceph-mgr internally passes objects between subinterpreters freely, which now can cause crashes. Moreover, there are dependencies (py03) which no longer tolerate being imported in a submodule.
We don't yet really know the extent of the problem here. The initial fixes are:
1. https://github.com/ceph/ceph/pull/66244 -- default to running submodules in the main interpreter
2. https://github.com/ceph/ceph/pull/66240 -- serialize objects passed between subinterpreters
1 is the important one here, and will be the one we focus on for tentacle. 2 will be a followup to allow us to break certain modules back into subinterpreters with seperate GILs (allowed in 3.12, likely the reason for the change) for better concurrency.
1 has shown that a bunch of modules depend on magic using interpreter-wide globals. We're working on refactoring that to make 1 effective.
Once 1 is working with refactors to avoid globals, testing may turn up further 3.12 related problems to address.
Updated by Samuel Just 6 months ago
- Description updated (diff)
- Backport set to tentacle, squid
Updated by Samuel Just 6 months ago
- Backport changed from tentacle, squid to tentacle squid
Updated by Yaarit Hatuka 6 months ago
- Related to Bug #73822: Rocky10 - rados/verify - valgrind error: MismatchedFree operator delete[](void*, unsigned long, std::align_val_t) RocksDBStore::close() RocksDBStore::~RocksDBStore() added
Updated by Yaarit Hatuka 6 months ago
- Blocked by Bug #73750: rados/basic: Segmentation fault during neorados tests added
Updated by Yaarit Hatuka 6 months ago
- Blocked by Bug #73839: Rocky10 - workunits/rados/version_number_sanity.sh "Unsupported distro ->rocky<-! Bailing out." added
Updated by Yaarit Hatuka 6 months ago
- Blocked by Bug #73823: orch/cephadm: nvme-loop task fails on rocky 10 added
Updated by Yaarit Hatuka 6 months ago
- Blocked by Bug #73758: rocky 10: test_rgw_datalog.sh fails with segfault added
Updated by Yaarit Hatuka 5 months ago
- Blocked by Bug #74042: ceph-mgr: modules need independent CLICommand types added
Updated by Yaarit Hatuka 5 months ago
- Blocked by Bug #74220: PyGILState_Check failed with 66244 and 66467 added
Updated by Yaarit Hatuka 3 months ago
- Blocked by Bug #74543: Rocky10 - AttributeError in dashboard module added
Updated by Yaarit Hatuka 3 months ago
- Blocked by Bug #74568: Rocky10 - g++ missing added
Updated by Yaarit Hatuka 3 months ago
- Blocked by Bug #74577: test_iscsi_setup.sh - No such path /iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw/hosts/iqn.1994-05.com.redhat:client1 added
Updated by Yaarit Hatuka 3 months ago
- Blocked by Bug #74620: No URLs in mirrorlist when trying to install ceph-test added
Updated by Yaarit Hatuka 3 months ago
- Blocked by Bug #74848: Rocky10 - mixed module names in log messages after PR #66244 added
Updated by Nitzan Mordechai 3 months ago
- Blocked by Bug #74980: Port 7789 still in use, waiting... added
Updated by Nitzan Mordechai 2 months ago
- Blocked by Bug #74978: mon: Cannot place <MONSpec for service_name=mon> on trial189: Unknown hosts added
Updated by Nizamudeen A 2 months ago
- Related to Bug #74643: cherrypy.process.wspbus.ChannelFailures: TypeError('certfile should be a valid filesystem path') added
Updated by Nitzan Mordechai 2 months ago
- Blocked by Bug #75282: ceph CLI does not propagate orchestrator error codes - wip-rocky10-branch-of-the-day-2026-02-24-1771941190 added