Bug 279984 - devel/benchmark: version 1.8.4 breaks grpc
Summary: devel/benchmark: version 1.8.4 breaks grpc
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Yuri Victorovich
URL:
Keywords:
Depends on:
Blocks: 279905 279942
  Show dependency treegraph
 
Reported: 2024-06-25 10:02 UTC by Matthias Fechner
Modified: 2024-06-27 12:08 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (yuri)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.