all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH ceph 3/4 v5] exclude ceph-osd-crimson when running dwz
Date: Fri, 23 Jan 2026 14:03:02 +0100	[thread overview]
Message-ID: <1769172804.51jgnsn6i9.astroid@yuna.none> (raw)
In-Reply-To: <20260123075619.2731724-8-k.chai@proxmox.com>

On January 23, 2026 8:56 am, Kefu Chai wrote:
> The dwz tool tries to deduplicate debug information across binaries,
> but it has limits on the number of DWARF DIE (Debug Information Entries)
> it can handle. Large C++ binaries especially those using templates
> heavilily (like Ceph's crimson components), often exceed these limits.
> 
> When building packages with DWZ enabled, the debian packging fails with:
> 
> ```
> dh_dwz: error: Aborting due to earlier error
> ```
> 
> So let's make ceph-crimson-osd an exception when running dwz. This
> change will not backported to tentacle as tentacle does not build
> crimson by default.

FWIW, dh_dwz will be dropped from the default sequence in forky/DH-14,
so we could also consider nop-ing it entirely (unless that blows up
binary sizes too much?).

> 
> Signed-off-by: Kefu Chai <k.chai@proxmox.com>
> ---
>  ...lude-ceph-osd-crimson-from-dwz-compr.patch | 52 +++++++++++++++++++
>  patches/series                                |  1 +
>  2 files changed, 53 insertions(+)
>  create mode 100644 patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch
> 
> diff --git a/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch b/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch
> new file mode 100644
> index 00000000000..c5f477adb30
> --- /dev/null
> +++ b/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch
> @@ -0,0 +1,52 @@
> +From 126f3623e3c36bf0bd233b01fd452aeec0415d89 Mon Sep 17 00:00:00 2001
> +From: Kefu Chai <k.chai@proxmox.com>
> +Date: Fri, 23 Jan 2026 15:04:47 +0800
> +Subject: [PATCH] debian/rules: exclude ceph-osd-crimson from dwz compression
> +
> +When building with DWZ enabled, the debian packaging fails with:
> +```
> +  dh_dwz: error: Aborting due to earlier error
> +```
> +Running the dwz command manually reveals the root cause:
> +```
> +  $ dwz -mdebian/ceph-osd-crimson/usr/lib/debug/.dwz/x86_64-linux-gnu/ceph-osd-crimson.debug \
> +    -M/usr/lib/debug/.dwz/x86_64-linux-gnu/ceph-osd-crimson.debug -- \
> +    debian/ceph-osd-crimson/usr/bin/ceph-osd-crimson \
> +    debian/ceph-osd-crimson/usr/bin/crimson-store-nbd
> +  dwz: debian/ceph-osd-crimson/usr/bin/ceph-osd-crimson: Too many DIEs, not optimizing
> +  dwz: Too few files for multifile optimization
> +```
> +The dwz tool has a limit on the number of DWARF DIEs (Debug Information
> +Entries) it can process. The ceph-osd-crimson binary, being a large C++
> +executable with extensive template usage, exceeds this limit, causing
> +dwz to exit with status 1 and fail the build.
> +
> +This change excludes only ceph-osd-crimson from dwz processing using
> +the -X flag, allowing other binaries in the package to still benefit
> +from DWARF compression while avoiding the build failure.
> +
> +Please note, we always disable DWZ in ceph-build's ceph-dev-pipeline.
> +
> +Signed-off-by: Kefu Chai <k.chai@proxmox.com>
> +---
> + debian/rules | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/debian/rules b/debian/rules
> +index 4d31ffd069f..9082c9c4dd2 100755
> +--- a/debian/rules
> ++++ b/debian/rules
> +@@ -53,6 +53,10 @@ endif
> + 
> + ifeq ($(DWZ), false)
> + override_dh_dwz:
> ++else
> ++override_dh_dwz:
> ++	# Exclude ceph-osd-crimson due to excessive debug info (too many DIEs)
> ++	dh_dwz -Xceph-osd-crimson
> + endif
> + 
> + # for python3-${pkg} packages
> +-- 
> +2.47.3
> +
> diff --git a/patches/series b/patches/series
> index 53e0e6b83ca..874bef96aa4 100644
> --- a/patches/series
> +++ b/patches/series
> @@ -50,3 +50,4 @@
>  0050-debian-rules-enable-WITH_CRIMSON-when-pkg.ceph.crims.patch
>  0051-debian-ceph.spec-fix-ceph-osd-upgrade-conflicts.patch
>  0052-cmake-build-static-seastar-for-release-builds.patch
> +0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch
> -- 
> 2.47.3
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2026-01-23 13:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-21 15:12 [pve-devel] [PATCH ceph] cherry-pick changes to use system packages for bundled deps Kefu Chai
2026-01-22  8:29 ` [pve-devel] [PATCH ceph] cherry-pick changes to buiild crimson package Kefu Chai
2026-01-22 10:14   ` [pve-devel] [PATCH ceph 2/3 v2] " Kefu Chai
2026-01-22 10:14   ` [pve-devel] [PATCH ceph 3/3] make: build with pkg.ceph.crimson build profile Kefu Chai
2026-01-22 10:56   ` [pve-devel] [PATCH ceph 2/3 v3] cherry-pick changes to build crimson package Kefu Chai
2026-01-22 11:43   ` [pve-devel] [PATCH ceph 2/3 v4] " Kefu Chai
2026-01-23  7:56   ` [pve-devel] [PATCH ceph 1/4 v5] cherry-pick changes to use system packages for bundled deps Kefu Chai
2026-01-23  8:18     ` Kefu Chai
2026-01-23 13:03     ` Fabian Grünbichler
2026-01-24  4:13       ` Kefu Chai
2026-01-23  7:56   ` [pve-devel] [PATCH ceph 2/4 v5] cherry-pick changes to build crimson package Kefu Chai
2026-01-23 13:03     ` Fabian Grünbichler
2026-01-24  4:45       ` Kefu Chai
2026-01-23  7:56   ` [pve-devel] [PATCH ceph 3/4 v5] exclude ceph-osd-crimson when running dwz Kefu Chai
2026-01-23 13:03     ` Fabian Grünbichler [this message]
2026-01-24  4:54       ` Kefu Chai
2026-01-23  7:56   ` [pve-devel] [PATCH ceph 4/4 v5] make: build with pkg.ceph.crimson build profile Kefu Chai
2026-01-23 13:03     ` Fabian Grünbichler
2026-01-24  4:58       ` Kefu Chai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1769172804.51jgnsn6i9.astroid@yuna.none \
    --to=f.gruenbichler@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal