public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Kefu Chai" <k.chai@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>
Cc: "pve-devel" <pve-devel-bounces@lists.proxmox.com>
Subject: Re: [pve-devel] [PATCH ceph 3/4 v5] exclude ceph-osd-crimson when running dwz
Date: Sat, 24 Jan 2026 12:54:50 +0800	[thread overview]
Message-ID: <DFWJV6SFQS1Z.32KA2LD9LM0KI@proxmox.com> (raw)
In-Reply-To: <1769172804.51jgnsn6i9.astroid@yuna.none>

On Fri Jan 23, 2026 at 9:03 PM CST, Fabian Grünbichler wrote:
> 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?).
>

Thanks for sharing! This information is critical for this change. Will 
we release tentacle along with forky as the base system?

I will compare the package sizes with and without dwz enabled, and get
back to you over the mailing list. if sizes difference is minimal or 
smallish, I will export DWZ=false to disable it.

>> 
>> 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



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

  reply	other threads:[~2026-01-24  4:54 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
2026-01-24  4:54       ` Kefu Chai [this message]
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=DFWJV6SFQS1Z.32KA2LD9LM0KI@proxmox.com \
    --to=k.chai@proxmox.com \
    --cc=pve-devel-bounces@lists.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal