public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Mattias Ellert <mattias.ellert@physics.uu.se>
To: git-commits@fedoraproject.org
Subject: [rpms/HepMC3] rawhide: Suppress memory leak in protobuf library initialization
Date: Sun, 07 Jun 2026 01:41:24 GMT	[thread overview]
Message-ID: <178079648453.1.9351459021134189670.rpms-HepMC3-5b27898a5467@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/HepMC3
Branch : rawhide
Commit : 5b27898a546729ab28e3706d6d0dd73c8f961b65
Author : Mattias Ellert <mattias.ellert@physics.uu.se>
Date   : 2026-06-07T03:41:06+02:00
Stats  : +70/-22 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/HepMC3/c/5b27898a546729ab28e3706d6d0dd73c8f961b65?branch=rawhide

Log:
Suppress memory leak in protobuf library initialization

---
diff --git a/HepMC3.spec b/HepMC3.spec
index c85f188..0641844 100644
--- a/HepMC3.spec
+++ b/HepMC3.spec
@@ -3,7 +3,7 @@
 
 Name:		HepMC3
 Version:	3.3.1
-Release:	10%{?dist}
+Release:	11%{?dist}
 Summary:	C++ Event Record for Monte Carlo Generators
 
 #		HepMC3 itself is LGPLv3+
@@ -13,6 +13,11 @@ URL:		https://hepmc.web.cern.ch/hepmc
 Source0:	%{url}/releases/%{name}-%{version}.tar.gz
 #		Valgrind suppression file for memory leak in dlopen (EPEL 10)
 Source1:	valgrind-epel10.supp
+#		Valgrind suppression file for memory leak in protobuf
+#		library initialization (Fedora 45+)
+Source2:	valgrind-protobuf.supp
+#		Special version for ppc64le
+Source3:	valgrind-protobuf-ppc.supp
 #		https://gitlab.cern.ch/hepmc/HepMC3/-/merge_requests/400
 Patch0:		0001-Drop-obsolete-work-around-for-ppc64le-on-EPEL-7.patch
 
@@ -27,7 +32,7 @@ BuildRequires:	json-devel
 BuildRequires:	protobuf-devel
 BuildRequires:	doxygen
 BuildRequires:	graphviz
-BuildRequires:	python%{python3_pkgversion}-devel
+BuildRequires:	python3-devel
 #		Additional requirements for tests
 BuildRequires:	pythia8-devel
 BuildRequires:	valgrind
@@ -113,46 +118,46 @@ BuildArch:	noarch
 %description interfaces-devel
 This package provides HepMC3 interfaces to some common Monte Carlo generators.
 
-%package -n python%{python3_pkgversion}-%{name}
+%package -n python3-%{name}
 Summary:	HepMC3 Python 3 bindings
 License:	LGPL-3.0-or-later AND CNRI-Python AND BSD-3-Clause
-%py_provides	python%{python3_pkgversion}-%{name}
+%py_provides	python3-%{name}
 Requires:	%{name}%{?_isa} = %{version}-%{release}
 
-%description -n python%{python3_pkgversion}-%{name}
+%description -n python3-%{name}
 This package provides the Python 3 bindings for HepMC3.
 
-%package -n python%{python3_pkgversion}-%{name}-search
+%package -n python3-%{name}-search
 Summary:	HepMC3 search module Python 3 bindings
 License:	LGPL-3.0-or-later AND CNRI-Python AND BSD-3-Clause
-%py_provides	python%{python3_pkgversion}-%{name}-search
+%py_provides	python3-%{name}-search
 Requires:	%{name}-search%{?_isa} = %{version}-%{release}
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+Requires:	python3-%{name}%{?_isa} = %{version}-%{release}
 
-%description -n python%{python3_pkgversion}-%{name}-search
+%description -n python3-%{name}-search
 This package provides the Python 3 bindings for HepMC3 search module.
 
-%package -n python%{python3_pkgversion}-%{name}-rootIO
+%package -n python3-%{name}-rootIO
 Summary:	HepMC3 ROOT I/O module Python 3 bindings
 License:	LGPL-3.0-or-later AND CNRI-Python AND BSD-3-Clause
-%py_provides	python%{python3_pkgversion}-%{name}-rootIO
+%py_provides	python3-%{name}-rootIO
 Requires:	%{name}-rootIO%{?_isa} = %{version}-%{release}
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+Requires:	python3-%{name}%{?_isa} = %{version}-%{release}
 
-%description -n python%{python3_pkgversion}-%{name}-rootIO
+%description -n python3-%{name}-rootIO
 This package provides the Python 3 bindings for HepMC3 ROOT I/O module.
 
-%package -n python%{python3_pkgversion}-%{name}-protobufIO
+%package -n python3-%{name}-protobufIO
 Summary:	HepMC3 protobuf I/O module Python 3 bindings
 License:	LGPL-3.0-or-later AND CNRI-Python AND BSD-3-Clause
-%py_provides	python%{python3_pkgversion}-%{name}-protobufIO
+%py_provides	python3-%{name}-protobufIO
 Requires:	%{name}-protobufIO%{?_isa} = %{version}-%{release}
 Requires:	%{name}%{?_isa} = %{version}-%{release}
-Requires:	python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release}
+Requires:	python3-%{name}%{?_isa} = %{version}-%{release}
 
-%description -n python%{python3_pkgversion}-%{name}-protobufIO
+%description -n python3-%{name}-protobufIO
 This package provides the Python 3 bindings for HepMC3 protobuf I/O module.
 
 %package doc
@@ -167,10 +172,20 @@ This package provides HepMC manuals and examples.
 %patch -P0 -p1
 
 %if %{?rhel}%{!?rhel:0} == 10
-sed 's!MEMORYCHECK_COMMAND_OPTIONS "!&--suppressions=%{SOURCE1} !' \
+sed 's!MEMORYCHECK_COMMAND_OPTIONS '$'\x22''!&--suppressions=%{SOURCE1} !' \
     -i test/CMakeLists.txt
 %endif
 
+%if %{?fedora}%{!?fedora:0} >= 45
+%ifarch %{power64}
+sed 's!MEMORYCHECK_COMMAND_OPTIONS '$'\x22''!&--suppressions=%{SOURCE3} !' \
+    -i test/CMakeLists.txt
+%else
+sed 's!MEMORYCHECK_COMMAND_OPTIONS '$'\x22''!&--suppressions=%{SOURCE2} !' \
+    -i test/CMakeLists.txt
+%endif
+%endif
+
 %build
 %cmake \
 	-DHEPMC3_ENABLE_ROOTIO:BOOL=ON \
@@ -318,7 +333,7 @@ rm %{buildroot}%{_includedir}/%{name}/bxzstr/LICENSE
 %files interfaces-devel
 %{_datadir}/%{name}/interfaces
 
-%files -n python%{python3_pkgversion}-%{name}
+%files -n python3-%{name}
 %dir %{python3_sitearch}/pyHepMC3
 %{python3_sitearch}/pyHepMC3/__init__.py
 %{python3_sitearch}/pyHepMC3/__pycache__
@@ -326,21 +341,21 @@ rm %{buildroot}%{_includedir}/%{name}/bxzstr/LICENSE
 %{python3_sitearch}/pyHepMC3-*.egg-info
 %license python/include/LICENSE
 
-%files -n python%{python3_pkgversion}-%{name}-search
+%files -n python3-%{name}-search
 %dir %{python3_sitearch}/pyHepMC3/search
 %{python3_sitearch}/pyHepMC3/search/__init__.py
 %{python3_sitearch}/pyHepMC3/search/__pycache__
 %{python3_sitearch}/pyHepMC3/search/pyHepMC3search.so
 %{python3_sitearch}/pyHepMC3.search-*.egg-info
 
-%files -n python%{python3_pkgversion}-%{name}-rootIO
+%files -n python3-%{name}-rootIO
 %dir %{python3_sitearch}/pyHepMC3/rootIO
 %{python3_sitearch}/pyHepMC3/rootIO/__init__.py
 %{python3_sitearch}/pyHepMC3/rootIO/__pycache__
 %{python3_sitearch}/pyHepMC3/rootIO/pyHepMC3rootIO.so
 %{python3_sitearch}/pyHepMC3.rootIO-*.egg-info
 
-%files -n python%{python3_pkgversion}-%{name}-protobufIO
+%files -n python3-%{name}-protobufIO
 %dir %{python3_sitearch}/pyHepMC3/protobufIO
 %{python3_sitearch}/pyHepMC3/protobufIO/__init__.py
 %{python3_sitearch}/pyHepMC3/protobufIO/__pycache__
@@ -354,6 +369,9 @@ rm %{buildroot}%{_includedir}/%{name}/bxzstr/LICENSE
 %license COPYING
 
 %changelog
+* Sat Jun 06 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 3.3.1-11
+- Suppress memory leak in protobuf library initialization
+
 * Wed Jun 03 2026 Python Maint <python-maint@redhat.com> - 3.3.1-10
 - Rebuilt for Python 3.15
 

diff --git a/valgrind-protobuf-ppc.supp b/valgrind-protobuf-ppc.supp
new file mode 100644
index 0000000..8d73fb2
--- /dev/null
+++ b/valgrind-protobuf-ppc.supp
@@ -0,0 +1,6 @@
+{
+   Memory leak in protobuf library initialization (ppc64le version)
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:_Znwm
+}

diff --git a/valgrind-protobuf.supp b/valgrind-protobuf.supp
new file mode 100644
index 0000000..3715145
--- /dev/null
+++ b/valgrind-protobuf.supp
@@ -0,0 +1,24 @@
+{
+   Memory leak in protobuf library initialization.
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:_Znw?
+   ...
+   fun:_ZN6google8protobuf14MessageFactory29InternalRegisterGeneratedFileEPKNS0_8internal15DescriptorTableE
+   ...
+   fun:_dl_init
+}
+{
+   Memory leak in protobuf library initialization.
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:_Znw?
+   ...
+   fun:_ZN6google8protobuf14DescriptorPool6TablesC1Ev
+   fun:_ZN6google8protobuf14DescriptorPoolC1EPNS0_18DescriptorDatabaseEPNS1_14ErrorCollectorE
+   fun:_ZN6google8protobuf14DescriptorPool23internal_generated_poolEv
+   fun:_ZN6google8protobuf14DescriptorPool24InternalAddGeneratedFileEPKvi
+   fun:_ZN6google8protobuf8internal14AddDescriptorsEPKNS1_15DescriptorTableE
+   ...
+   fun:_dl_init
+}

                 reply	other threads:[~2026-06-07  1:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=178079648453.1.9351459021134189670.rpms-HepMC3-5b27898a5467@fedoraproject.org \
    --to=mattias.ellert@physics.uu.se \
    --cc=git-commits@fedoraproject.org \
    /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