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