Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git no longer works in FreeBSD 13 #695

Closed
infrastation opened this issue Aug 13, 2020 · 12 comments
Closed

git no longer works in FreeBSD 13 #695

infrastation opened this issue Aug 13, 2020 · 12 comments
Labels

Comments

@infrastation
Copy link
Contributor

Expected Behavior

FreeBSD 13 used to work as expected in Cirrus CI configuration for tcpdump until August 7 (the last successful run).

Real Behavior

On August 7 FreeBSD 13 stopped working because git installed with pkg started to have linking problems (the first unsuccessful run):

ld-elf.so.1: /usr/local/bin/git: Undefined symbol "regcomp@FBSD_1.6"

FreeBSD 11 and 12 continue to work as before. Other repositories that do not install git with pkg continue to work with FreeBSD 13.

@fkorotkov
Copy link
Contributor

I'm not sure what's going on here since we don't maintain the images. Members of FreeBSD community do create and maintain these images on GCP. Quick Googling didn't help much with the issue.

@emaste, maybe you saw some similar reports?

@emaste
Copy link
Contributor

emaste commented Aug 13, 2020

Sigh, sorry folks - I'll look into it.

@infrastation
Copy link
Contributor Author

Thank you. In case it helps, it is not a goal to test the latest snapshots of FreeBSD, so if it would be simpler to switch this Cirrus configuration to release images, that would be fine. The reason why it uses the snapshots is because these were the only working image names I could quickly figure out during the setup without becoming a customer of GCP.

@emaste
Copy link
Contributor

emaste commented Aug 14, 2020

What's happening here is that the package builds for 13-CURRENT and the base image snapshots aren't coupled, and the packages were actually built for a slightly newer base system version than the snapshot. This issue should be gone with the latest base system snapshot - I'd greatly appreciate knowing if this is the case, or if it's still broken.

We're discussing short term workarounds in case this happens again, as well as build system changes to ensure it doesn't.

@infrastation
Copy link
Contributor Author

Re-running the Cirrus CI task right now still results in the same error, for example: https://cirrus-ci.com/task/5676629479391232
I am not sure which version of freebsd-13-0-snap it is using though. If you want to get specific diagnostic output from within the task, just let me know which commands.

@fkorotkov
Copy link
Contributor

Seems working without pkg update -f but still takes very long time and has weird logs. See https://cirrus-ci.com/task/4778135017226240?command=install#L3

@infrastation
Copy link
Contributor Author

Commit the-tcpdump-group/tcpdump@96c4db3 had added pkg update -f to work around the failing FreeBSD 11 task in February 2020. The FreeBSD 11 issue was as follows:

pkg install -qy git autoconf
pkg: cached package git-2.25.0: size mismatch, fetching from remote
pkg: cached package git-2.25.0: size mismatch, cannot continue

Exit status: 3

(The Cirrus CI task is this, but for some reason it no longer displays the log, but a copy had survived elsewhere.)

Would it be more appropriate to switch to some stable images or maybe drop FreeBSD 11 and the workaround from the matrix?

@infrastation
Copy link
Contributor Author

On a related note, I was going to declare the FreeBSD 13 task in .cirrus.yml OK to fail until there's a proper solution in place, and from the documentation it seems the condition in allow_failures can only use variables, which cannot tell which element of the expanded matrix the current task is for. In other words, this is not possible. Is this correct?

@fkorotkov
Copy link
Contributor

You can do something like:

  freebsd_instance:
    image: freebsd-$FAMILY
  allow_failures: $FAMILY == "13-0-snap"
  env:
    matrix:
      - FAMILY: 11-3-snap
      - FAMILY: 12-1-snap
      - FAMILY: 13-0-snap

infrastation added a commit to the-tcpdump-group/tcpdump that referenced this issue Aug 21, 2020
Implement the workaround suggested in cirruslabs/cirrus-ci-docs#695.

[skip ci]
@infrastation
Copy link
Contributor Author

That worked, thank you. Now FreeBSD 13 task continues to run, but does not fail the Cirrus CI status anymore. If you work a proper permanent solution out, please post it here. Leaving the issue open.

@arrowd
Copy link

arrowd commented Sep 3, 2020

That's right, it is a FreeBSD problem and has nothing to do with Cirrus CI. CURRENT is a bleeding edge branch and breakages such this happen. I'm sure it will be fixed once the image get upgraded to the new snapshot.

@infrastation
Copy link
Contributor Author

Alright, this is not a problem of Cirrus CI. Maybe not even a problem of FreeBSD, but the way Google delivers snapshots of it. tcpdump now no longer uses the 11.3-CURRENT workaround, so 13.0-CURRENT is working again (see the linked commit). Thanks everyone for your input, closing the request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants