Project

General

Profile

Actions

Bug #64907

open

Some jammy jenkins builders had rogue versions of protobuf packages

Added by Dan Mick about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
Category:
build
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

This is a breakout of the original issue from https://tracker.ceph.com/issues/64696

sjust and dmick diagnosed a build failure involving /usr/bin/protoc not being the expected version on jammy builders. Someone/something had installed a /usr/bin/protoc-25.1.0 and symlinked /usr/bin/protoc to it, which broke the build. This was
cross-checked by running debsums protobuf-compiler, which reported the installed
binary was not the one the package contained. The rogue version was manually uninstalled and the package forcibly reinstalled (with apt install --reinstall protobuf-compiler).

Later, Rixin Luo reported similar version mismatches appearing in a build with a similar, maybe same, error message:


/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/seastar/gen/src/proto/metrics2.pb.h:17:2: error: This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
 ^
/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/seastar/gen/src/proto/metrics2.pb.h:18:2: error: incompatible with your Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers. Please
 ^
/home/jenkins-build/build/workspace/ceph-pull-requests/build/src/seastar/gen/src/proto/metrics2.pb.h:19:2: error: regenerate this file with a newer version of protoc.
#error regenerate this file with a newer version of protoc.

Rixin Luo discovered that the version of protobuf.pc installed referred to a different version than looked correct (again, 25.1.0). debsums again found errors in libprotobuf-dev (which contains the .pc file, as well as a lot of header files and other things that mismatched). On all the hosts where that was the case (irvingi05 and adami08), libprotobuf-dev was forcibly reinstalled, which fixed the version in protobuf.pc to match the reported version of libprotoc from protoc --version.

This shell script helped to identify the package damage, after installing debsums on the hosts in question:

#!/bin/bash
for p in $(dpkg -l '*protobuf*' | grep '^ii' | awk '{print $2;}'); do
if ! debsums -s $p >/dev/null 2>&1; then
echo $p failed
fi
done

No data to display

Actions

Also available in: Atom PDF