Bug 279984

Summary: devel/benchmark: version 1.8.4 breaks grpc
Product: Ports & Packages Reporter: Matthias Fechner <mfechner>
Component: Individual Port(s)Assignee: Yuri Victorovich <yuri>
Status: Closed FIXED    
Severity: Affects Many People CC: sunpoet
Priority: --- Flags: bugzilla: maintainer-feedback? (yuri)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 279905, 279942    

Description Matthias Fechner freebsd_committer freebsd_triage 2024-06-25 10:02:39 UTC
Version 1.8.4 seems to include some breaking changes.
If I start gitlab which uses grpc I see the following error message:
==> /usr/local/www/gitlab/log/puma.stderr.log <==
ld-elf.so.1: /usr/local/lib/libgrpc.so.39: Undefined symbol "_ZN4absl12lts_202301254CordC1INSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEETnNS3_9enable_ifIXsr3std7is_sameIT_S9_EE5valueEiE4typeELi0EEEOSB_"

Downgrading to benchmark 1.8.3 and rebuild grpc fixes the problem.
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2024-06-25 16:46:35 UTC
Reverted.
Comment 2 commit-hook freebsd_committer freebsd_triage 2024-06-25 16:47:35 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6d9df455a863e0618608af3a86d615ff29a7734e

commit 6d9df455a863e0618608af3a86d615ff29a7734e
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-06-25 16:44:57 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-06-25 16:44:57 +0000

    devel/benchmark: Revert 1.8.4 → 1.8.3

    PR:             279984
    Reported by:    Matthias Fechner <mfechner@FreeBSD.org>

 devel/benchmark/Makefile        | 3 ++-
 devel/benchmark/distinfo        | 6 +++---
 devel/benchmark/pkg-plist       | 9 ++++-----
 devel/grpc/Makefile             | 2 +-
 games/openrct2/Makefile         | 2 +-
 graphics/ospray-studio/Makefile | 2 +-
 graphics/ospray/Makefile        | 2 +-
 math/e-antic/Makefile           | 2 +-
 math/hpcombi/Makefile           | 2 +-
 net-p2p/ethash/Makefile         | 2 +-
 10 files changed, 16 insertions(+), 16 deletions(-)
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2024-06-25 16:51:50 UTC
Hi Matthias,

Is there a grpc issue to track to make it compatible with benchmark-1.8.4 ?

Thanks,
Yuri
Comment 4 Matthias Fechner freebsd_committer freebsd_triage 2024-06-26 06:42:08 UTC
Dear Yuri,

I just tested it and the revert does not work.

I did an additional test that succeeded.
I reverted the git main branch to the commit before you reverted and did the following (the cherry-pick is necessary as I have to fix some other issues in the port):
git checkout -b test 834a7d4a9bc2d9ac2adeb27345208d3a8e1fd5bc
git revert -n 5add937f95a55b512758cb75e2f38cd4879d1556
git cherry-pick -n 67b9defc6d9c75bf435f64ef5546e299813e45fc 98487ce4845fedd0e3da8598a53431a61afaab55 f357a3c7cea47e3d38512ffb7591bd3039df049d

Then I triggered a new poudriere build to generate the gitlab package with all dependencies:
poudriere bulk -t -r -p gitlab -j 141amd64 www/gitlab@ce

Rolled back my virtual machine where gitlab 17.0.1 was installed and upgraded all packages.

It is working fine.

Let me check what happens, if I just increase some PORTREVISION of the ports, maybe there is a hidden bug somewhere else.
Comment 5 Matthias Fechner freebsd_committer freebsd_triage 2024-06-26 07:12:44 UTC
I just did now an additional test and just added a PORTREVISION to the devel/grpc port.
That break the system.

So I have now benchmark 1.8.3 installed with grpc that has PORTREVISION=1.

I think we need @sunpoet here to answer this question why increasing the PORTREVISION breaks grpc.
Comment 6 Matthias Fechner freebsd_committer freebsd_triage 2024-06-26 07:49:23 UTC
I did now one more test to verify if benchmark 1.8.4 will work or not (and it does).

Used the following (used the commit before the revert and included necessary cherry-picks):
g checkout -b test 834a7d4a9bc2d9ac2adeb27345208d3a8e1fd5bc
g cherry-pick -n 67b9defc6d9c75bf435f64ef5546e299813e45fc 98487ce4845fedd0e3da8598a53431a61afaab55 f357a3c7cea47e3d38512ffb7591bd3039df049d

edited devel/grpc/Makefile and removed the PORTREVISION line.

Let poudriere build the packages (it detects down/up-grade and removes the packages for rebuild automatically):
poudriere bulk -t -r -p gitlab -j 141amd64 www/gitlab@ce

Reset my virtual machine again to gitlab 17.0.1 version and executed the following commands:
service gitlab stop
pkg clean -ay
pkg delete gitlab-ce
pkg autoremove # (I did this to make sure, we really install the newly build grpc)
pkg install gitlab-ce
pkg upgrade
service gitlab start

Then accessing the webpage of gitlab and it *works*.

So the source of the problem is somehow related to the PORTREVISION line in devel/grpc which causes this problem.
Comment 7 Matthias Fechner freebsd_committer freebsd_triage 2024-06-27 12:08:27 UTC
I think I was now finally able to track the source of the problem (or at least it fixed the problem for me).
Gitlab or maybe better grpc needs a more recent abseil:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275887

Not sure why the problem got only visible by the upgrade of benchmark.