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

MacOS CI is broken #1632

Open
azat opened this issue Apr 29, 2024 · 6 comments · Fixed by #1633
Open

MacOS CI is broken #1632

azat opened this issue Apr 29, 2024 · 6 comments · Fixed by #1633

Comments

@azat
Copy link
Member

azat commented Apr 29, 2024

autotools

ld: warning: search path '/usr/local/opt/mbedtls@2/lib' not found
ld: library 'ssl' not found

cmake flaky tests

49/64 Test #49: regress__KQUEUE .....................***Failed   90.19 sec
[warn] evbuffer_file_segment_materialize: mmap(4, 0, 0) failed: Invalid argument
[Lost connection!] 1/353 TESTS FAILED. (41 skipped)

      Start 50: regress__KQUEUE_debug
50/64 Test #50: regress__KQUEUE_debug ...............***Failed   90.26 sec
[warn] evbuffer_file_segment_materialize: mmap(4, 0, 0) failed: Invalid argument
[Lost connection!] 1/353 TESTS FAILED. (41 skipped)
@Coeur
Copy link
Contributor

Coeur commented Apr 29, 2024

You do:

run: brew install mbedtls@2

Then you wrongly assume the path:

EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"

The actual path is dependent on whether the machine is Intel or Apple Silicon. On macos-latest, GitHub will now use Apple Silicon, so path should be /opt/homebrew/opt/mbedtls@2 instead. And for OpenSSL, it should be /opt/homebrew/opt/openssl

@azat
Copy link
Member Author

azat commented Apr 29, 2024

Hm, didn't knew that github actions provides apple silicon support now (previously it was only for paid users), great!

@azat azat closed this as completed in #1633 May 4, 2024
@azat azat reopened this May 4, 2024
@azat
Copy link
Member Author

azat commented May 4, 2024

The issue is not fixed completely, only first steps

@Coeur
Copy link
Contributor

Coeur commented May 23, 2024

I ran the tests locally on my Mac:

      Start 50: regress__KQUEUE
50/65 Test #50: regress__KQUEUE .....................   Passed   96.63 sec
      Start 51: regress__KQUEUE_debug
51/65 Test #51: regress__KQUEUE_debug ...............   Passed   96.81 sec

So I'm proposing an improvement in the failure message for further debugging: #1662

@Coeur
Copy link
Contributor

Coeur commented May 24, 2024

The results of the log improvements from #1662 show that we're passing 0 to the length argument of mmap, which is not allowed: https://man7.org/linux/man-pages/man2/mmap.2.html
So backtracking, it means seg->length and seg->file_offset were both 0.

@Coeur
Copy link
Contributor

Coeur commented May 24, 2024

@nmathewson would you know why in GitHub Actions, evbuffer_file_segment_materialize is called with length and file_offset of 0 in regress__KQUEUE, while locally on my Mac that never happens?

Coeur added a commit to Coeur/libevent that referenced this issue May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

2 participants