network-quality / goresponsiveness

A draft-ietf-ippm-responsiveness client in Go.
GNU General Public License v2.0
132 stars 10 forks source link

Problem on Macos Monterey #42

Closed moeller0 closed 1 year ago

moeller0 commented 1 year ago
bash-3.2$ time ./networkQuality --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config  --sattimeout 60 --extended-stats
10-31-2022 18:38:30 UTC Go Responsiveness to mensura.cdn-apple.com:443...
A self probe sent used a new connection!
panic: true

goroutine 276 [running]:
github.com/network-quality/goresponsiveness/rpm.Probe({0x14001f8, 0xc000028180}, 0xc00001c150?, {0x0, 0x0}, 0xc000102150, {0xc0000b2270, 0x2d}, 0x0, 0xc000014020, ...)
    /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/rpm/rpm.go:169 +0x9e5
created by github.com/network-quality/goresponsiveness/rpm.SelfProber.func1
    /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/rpm/rpm.go:332 +0x85

real    0m1.134s
user    0m0.151s
sys 0m0.245s

Built on October 31st 2022 with the latest code. Not sure what to make out of this because with Monterey's networkQuality I see:

bash-3.2$ networkQuality
==== SUMMARY ====                                                                                         
Upload capacity: 0.000 bps
Download capacity: 0.000 bps
Upload flows: 0
Download flows: 0
Responsiveness: Low (0 RPM)
Error: Error Domain=NetworkQualityErrorDomain Code=1003 "(null)" UserInfo={URL=https://mensura.cdn-apple.com/api/v1/gm/slurp, statusCode=502}
bash-3.2$ 

implying there is something wrong with the infrastructure (in theory it could be my adblocker but with adblocker paused this still happens).

Also https://mensura.cdn-apple.com/api/v1/gm/slurp just shows:

Not Found on Accelerator

Description: Your request on the host was not found. Check the location and try again.
hawkinsw commented 1 year ago

Thank you! I will attempt to recreate. Might be difficult because I am already running the Ventura beta (which appears to have gone golden a few days ago) but I will do my best!

Sorry it caused you trouble! Will

On Mon, Oct 31, 2022 at 2:44 PM moeller0 @.***> wrote:

bash-3.2$ time ./networkQuality --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config --sattimeout 60 --extended-stats 10-31-2022 18:38:30 UTC Go Responsiveness to mensura.cdn-apple.com:443... A self probe sent used a new connection! panic: true

goroutine 276 [running]:github.com/network-quality/goresponsiveness/rpm.Probe({0x14001f8 http://github.com/network-quality/goresponsiveness/rpm.Probe(%7B0x14001f8, 0xc000028180}, 0xc00001c150?, {0x0, 0x0}, 0xc000102150, {0xc0000b2270, 0x2d}, 0x0, 0xc000014020, ...) /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/rpm/rpm.go:169 +0x9e5 created by github.com/network-quality/goresponsiveness/rpm.SelfProber.func1 /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/rpm/rpm.go:332 +0x85

real 0m1.134s user 0m0.151s sys 0m0.245s

Built on October 31st 2022 with the latest code. Not sure what to make out of this because with Monterey's networkQuality I see:

bash-3.2$ networkQuality ==== SUMMARY ==== Upload capacity: 0.000 bps Download capacity: 0.000 bps Upload flows: 0 Download flows: 0 Responsiveness: Low (0 RPM) Error: Error Domain=NetworkQualityErrorDomain Code=1003 "(null)" UserInfo={URL=https://mensura.cdn-apple.com/api/v1/gm/slurp, statusCode=502} bash-3.2$

implying there is something wrong with the infrastructure (in theory it could be my adblocker but with adblocker paused this still happens).

Also https://mensura.cdn-apple.com/api/v1/gm/slurp just shows:

Not Found on Accelerator

Description: Your request on the host was not found. Check the location and try again.

— Reply to this email directly, view it on GitHub https://github.com/network-quality/goresponsiveness/issues/42, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCP2CQMPIY5JWLBSJPB3LLWGAHQHANCNFSM6AAAAAARTLQH6Y . You are receiving this because you are subscribed to this thread.Message ID: @.***>

moeller0 commented 1 year ago

Hi Will,

not even sure it is goresponsiveness' fault. I am somewhat limited as my current macbook was dropped from receiving Ventura, so updating is not an easy option right now. I will test tomorrow from a different network to see whether this is repeatable.

moeller0 commented 1 year ago

Mmmh, today it seems to work somewhat, both at a remote site as well as over a OpenVPN tunnel from the remote site to my home-network:

bash-3.2$ networkQuality -v
==== SUMMARY ====                                                                                         
Upload capacity: 5.736 Mbps
Download capacity: 21.564 Mbps
Upload flows: 20
Download flows: 20
Responsiveness: Low (122 RPM)
Base RTT: 47
Start: 11/1/22, 11:39:41
End: 11/1/22, 11:40:02
OS Version: Version 12.6.1 (Build 21G217)

bash-3.2$ time ./networkQuality --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config  --sattimeout 60 --extended-stats --logger-filename go_networkQuality_$(date +%Y%m%d_%H%M%S)
11-01-2022 10:40:26 UTC Go Responsiveness to mensura.cdn-apple.com:443...
Download:  16.715 Mbps (  2.089 MBps), using 12 parallel connections.
Upload:     6.530 Mbps (  0.816 MBps), using 16 parallel connections.
RPM:   376
Extended Statistics:
    Maximum Segment Size: 1344
    Total Bytes Retransmitted: 1225
    Retransmission Ratio: +Inf%
    Total Bytes Reordered: 9470083
    Average RTT: 280.25

real    0m11.433s
user    0m0.536s
sys 0m0.585s

But note that after a successful networkQuality (apple) run the first attempt at the go code resulted in the following error:

bash-3.2$ time ./networkQuality --config mensura.cdn-apple.com --port 443 --path /api/v1/gm/config  --sattimeout 60 --extended-stats --logger-filename go_networkQuality_$(date +%Y%m%d_%H%M%S)
11-01-2022 10:40:05 UTC Go Responsiveness to mensura.cdn-apple.com:443...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1c pc=0x12d36bd]

goroutine 1 [running]:
github.com/network-quality/goresponsiveness/extendedstats.(*AggregateExtendedStats).IncorporateConnectionStats(0xc00012b980, {0x1401818?, 0xc0002a4000?})
    /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/extendedstats/darwin.go:59 +0x7d
main.main()
    /Users/smoeller/TECH_KRAM/CODE/goresponsiveness/networkQuality.go:468 +0x243e

real    0m9.395s
user    0m0.435s
sys 0m0.474s

Still on the second invocation it did work. Will repeat my test tonight with out the VPN from the problematic location.

moeller0 commented 1 year ago

So I redid the test directly from within the problematic network and things just work.

However, it might be nice to not panic and give a more informative error message (apple's solution is IMHO better but also not perfect, but at least it allowed me to confirm that the website was not working as expected).