Closed Bug 1898185 Opened 4 months ago Closed 4 months ago

error: could not compile `quinn-udp` (lib) due to 18 previous errors on Solaris

Categories

(Core :: Networking, defect, P2)

defect

Tracking

()

RESOLVED FIXED
128 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox126 --- unaffected
firefox127 --- unaffected
firefox128 --- fixed

People

(Reporter: petr.sumbera, Assigned: kershaw)

References

(Regression)

Details

(Keywords: regression, Whiteboard: [necko-triaged] [necko-priority-queue])

Attachments

(1 file)

Steps to reproduce:

Build failed on Solaris:

28:31.46 error[E0412]: cannot find type `in6_pktinfo` in crate `libc`
28:31.46   --> /builds/psumbera/mozilla-central-build/third_party/rust/quinn-udp/src/unix.rs:56:64
28:31.46    |
28:31.46 56 |                 unsafe { libc::CMSG_SPACE(mem::size_of::<libc::in6_pktinfo>() as _) as usize };
28:31.46    |                                                                ^^^^^^^^^^^ not found in `libc`
28:31.46 error[E0425]: cannot find value `IP_RECVTOS` in crate `libc`
28:31.46   --> /builds/psumbera/mozilla-central-build/third_party/rust/quinn-udp/src/unix.rs:77:79
28:31.46    |
28:31.46 77 |             if let Err(err) = set_socket_option(&*io, libc::IPPROTO_IP, libc::IP_RECVTOS, OPTION_ON)
28:31.46    |                                                                               ^^^^^^^^^^ not found in `libc`
28:31.46 error[E0425]: cannot find value `IPV6_RECVTCLASS` in crate `libc`
28:31.46    --> /builds/psumbera/mozilla-central-build/third_party/rust/quinn-udp/src/unix.rs:136:63
28:31.46     |
28:31.46 136 |             set_socket_option(&*io, libc::IPPROTO_IPV6, libc::IPV6_RECVTCLASS, OPTION_ON)?;
28:31.46     |                                                               ^^^^^^^^^^^^^^^ not found in `libc`

The first bad revision is:
changeset: 739646:e9579777256e
user: Kershaw Chang <kershaw@mozilla.com>
date: Tue May 21 02:34:48 2024 -0700
description:
Bug 1895319 - vendor neqo-bin, r=necko-reviewers,supply-chain-reviewers,valentin

I have also filed:

https://github.com/quinn-rs/quinn/issues/1877#issuecomment-2124098785

Any chance to build Firefox without it for now?

Keywords: regression
Regressed by: 1895319

:mail, since you are the author of the regressor, bug 1895319, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(mail)

Any chance to build Firefox without it for now?

Note that quinn-udp is only used in the test http3-server implementation. It is not used in Firefox itself.

https://searchfox.org/mozilla-central/rev/55944eaee1e358b5443eaedc8adcd37e3fd23fd3/netwerk/test/http3server/Cargo.toml#9

@kershaw what do you think? Should we revert? Or wait for https://github.com/quinn-rs/quinn/issues/1877?

Flags: needinfo?(mail) → needinfo?(kershaw)

I think it would be best not to revert the changes we made in bug 1895319, as those changes were complex and extensive.

Since http3server is only used for testing purposes, it should be possible to provide a build flag to configure building Firefox without it.
Peter, what do you think?

Flags: needinfo?(kershaw) → needinfo?(petr.sumbera)

(In reply to Kershaw Chang [:kershaw] from comment #3)

Since http3server is only used for testing purposes, it should be possible to provide a build flag to configure building Firefox without it.
Peter, what do you think?

Yes, I agree. Such a build flag would be great.

Flags: needinfo?(petr.sumbera)
Assignee: nobody → kershaw
Severity: -- → S4
Component: Untriaged → Networking
Priority: -- → P2
Product: Firefox → Core
Whiteboard: [necko-triaged] [necko-priority-queue]

With the attached patch, http3server can be skipped with ac_add_options --disable-tests.

Thank you! With the patch I can build Firefox again.

Pushed by kjang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d21f67035eaf Don't build http3server when tests are disabled, r=necko-reviewers,valentin
Status: UNCONFIRMED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 128 Branch

Set release status flags based on info from the regressing bug 1895319

fwiw OpenBSD is affected by the exact same issue. I can of course disable building tests, but ...even if they're not run, that's still less coverage.

i see support for OpenBSD was added upstream in https://github.com/quinn-rs/quinn/pull/1863, will it be possible to update the crate to a version that has proper support ?

Upstream quinn-udp has unfortunately dropped sendmmsg/recvmmsg support recently, which is a show-stopper for us. If their intent is to focus quinn-udp for their (quinn) QUIC stack only, we will need to identify an alternative solution for Firefox use. We are about to start a project on this.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: