]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
common/ceph_context.h: Jenkins builder fix: breakpad reserve space
authorAdam Kupczyk <akupczyk@ibm.com>
Tue, 5 Aug 2025 09:28:48 +0000 (09:28 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Tue, 5 Aug 2025 12:43:42 +0000 (12:43 +0000)
commit39af0bc23b3ae2063f8e846b0ff522bafa0f5c27
tree17d3da75965df8fc6e73f668b1ba8840bfa56316
parent022179f62ecb4046a92a2bc789f85c9578ee465f
common/ceph_context.h: Jenkins builder fix: breakpad reserve space

For cases when HAVE_BREAKPAD is off, supply exactly the same space in
CephContext struct.

While it should happen, jenkins seems to link binaries with different variants.

The noticeable artefacts of this misbehaviour are:
208 - unittest_bluefs (Bus error)
209 - unittest_bluefs_ex (Failed)
211 - unittest_bdev (Bus error)

Above mentioned unittests are failing because
ceph_context.h :

  ceph::PluginRegistry *get_plugin_registry() {
    return _plugin_registry;
  }
^ _plugin_registry returned is at !!!offset off by 8 bytes!!! to the location of _plugin_registry as constructed at
ceph_context.cc :

743:   _plugin_registry = new PluginRegistry(this);

This causes fatal error in
src/extblkdev/ExtBlkDevPlugin.cc :

227      auto registry = cct->get_plugin_registry();
228      std::lock_guard l(registry->lock);

Sometimes lock_guard hangs, sometimes lock_guard segfaults.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/common/ceph_context.h