-
Notifications
You must be signed in to change notification settings - Fork 126
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
fix: Make neqo pass amplificationlimit
QNS test
#1875
Conversation
One test not passing, see #1490 (comment) |
Failed Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-latest as client
neqo-latest as server
|
@martinthomson @KershawChang if any of you understands the timer code, I'd appreciate some help here. The It's straightforward to reproduce:
|
I think we need to implement what Martin suggested to do in this comment. |
Then it dies here
And when I take that out, too, it spins forever. |
Making this a draft until the test failure is fixed. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1875 +/- ##
=======================================
Coverage 95.00% 95.00%
=======================================
Files 112 112
Lines 36364 36394 +30
=======================================
+ Hits 34546 34577 +31
+ Misses 1818 1817 -1 ☔ View full report in Codecov by Sentry. |
Benchmark resultsPerformance differences relative to 67bd43b. coalesce_acked_from_zero 1+1 entries: No change in performance detected.time: [190.84 ns 191.36 ns 191.94 ns] change: [-0.6924% -0.2954% +0.1953%] (p = 0.21 > 0.05) coalesce_acked_from_zero 3+1 entries: Change within noise threshold.time: [233.03 ns 233.52 ns 234.06 ns] change: [+0.1246% +0.4227% +0.7165%] (p = 0.01 < 0.05) coalesce_acked_from_zero 10+1 entries: No change in performance detected.time: [232.09 ns 232.85 ns 233.76 ns] change: [-0.7160% -0.1483% +0.3799%] (p = 0.60 > 0.05) coalesce_acked_from_zero 1000+1 entries: No change in performance detected.time: [217.17 ns 226.00 ns 245.59 ns] change: [+0.4699% +2.6386% +6.2690%] (p = 0.08 > 0.05) RxStreamOrderer::inbound_frame(): 💔 Performance has regressed.time: [120.39 ms 120.53 ms 120.78 ms] change: [+1.5859% +1.7501% +1.9817%] (p = 0.00 < 0.05) transfer/pacing-false/varying-seeds: Change within noise threshold.time: [37.250 ms 39.312 ms 41.415 ms] change: [-14.128% -7.7901% -1.0772%] (p = 0.02 < 0.05) transfer/pacing-true/varying-seeds: No change in performance detected.time: [54.310 ms 57.384 ms 60.386 ms] change: [-8.9755% -2.4794% +4.4966%] (p = 0.50 > 0.05) transfer/pacing-false/same-seed: No change in performance detected.time: [47.344 ms 49.264 ms 51.102 ms] change: [-4.8322% +0.0803% +5.5773%] (p = 0.97 > 0.05) transfer/pacing-true/same-seed: No change in performance detected.time: [66.303 ms 73.430 ms 80.605 ms] change: [-0.3494% +15.143% +32.082%] (p = 0.05 > 0.05) 1-conn/1-100mb-resp (aka. Download)/client: No change in performance detected.time: [258.05 ms 268.21 ms 277.82 ms] thrpt: [359.94 MiB/s 372.85 MiB/s 387.53 MiB/s] change: time: [-0.5393% +5.7654% +12.104%] (p = 0.07 > 0.05) thrpt: [-10.797% -5.4511% +0.5422%] 1-conn/10_000-parallel-1b-resp (aka. RPS)/client: No change in performance detected.time: [413.12 ms 416.64 ms 420.16 ms] thrpt: [23.801 Kelem/s 24.002 Kelem/s 24.206 Kelem/s] change: time: [-1.2584% -0.0342% +1.2301%] (p = 0.95 > 0.05) thrpt: [-1.2151% +0.0342% +1.2745%] 1-conn/1-1b-resp (aka. HPS)/client: No change in performance detected.time: [66.876 ms 67.159 ms 67.479 ms] thrpt: [14.819 elem/s 14.890 elem/s 14.953 elem/s] change: time: [-0.4509% +0.2527% +0.8850%] (p = 0.48 > 0.05) thrpt: [-0.8772% -0.2521% +0.4530%] Client/server transfer resultsTransfer of 33554432 bytes over loopback.
|
Removing the early return makes it not pass the |
This again is waiting for a fix to the |
I've tried to give this another look and I found that the problem might be about when the function neqo/neqo-transport/src/path.rs Line 948 in e2fc9b0
Before this change, the server was able to update the RTT to the value set here
With this change, the server can only update the RTT to a small value:
Unfortunately, I still can't figure out the correct way to fix this. |
I don't see this log line when I run the test for this PR? (I do see the one for the
What seems to happen is that |
2fb43fc
to
f574643
Compare
Some QNS L1/C1 tests are failing because #1981 is needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change makes sense to me. One minor comment.
* Cancel runs after 20 min, and report that that happened * Build NSS from source, to make SSLKEYLOGFILE work * Shorten retention for some artifacts * Run interop server at `debug` log level Factored out of mozilla#1875, which was a convenient test case.
So this seems to work, in the sense that there are no more But maybe there are also more It's difficult to say something definitive here, since we have had these occur randomly all along, and they may also not be due to bugs on our end. |
Fixes #1183