google / google/gopacket

CaptureInfo.Timestamp is in the future by 40 to 120 ms

Open
#1,102 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
6.8k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

On M1 Max MacBook Pro usb Ethernet, every few hours streaks of corrupt timestamps that are in the future appear

I wrote a test executable exposing the problem
* macOS 13.2.1
* arm64 M1 Max
* usb Gigabit Ethernet
* Does not appear on M1 Mac mini cable Ethernet
* gopacket v1.1.19 — Oct 19, 2020

Apple’s own usb driver is garbage, it could be that. It could be M1 Max

code is here: https://codeberg.org/haraldrudell/gofacts/src/branch/main/gopacketstamp#gopacket-timestamps-in-the-future

output:

gp-gop-timestamp 2023-03-15 11:21:33-07:00

press ^C to quit

goversion: go1.20.1
osversion: macOS 13.2.1
230315_11:21:34-07 network interface: "en5"
10,595 8,964,748230315_14:18:10-07 packet count: 8,968,530 duration: 2h56m36s
2023-03-15 14:18:10.160815 -0700 PDT CaptureInfo.Timestamp
2023-03-15 14:18:10.040775 -0700 PDT m=+10595.933742584 time.Now
-120.04ms into the future

2023-03-15 14:18:10-07:00 Completed successfully

Suggestions:
* Retain the sec nsec values provides by the operating system so they can be inspected by consumer
* Provide an early sibling Go timestamp to use if OS timestamp corrupt
* fix the bug :)

[As a decade ago Zynga employee, postings that I make under my own name are often discredited or closed by San Francisco organized rime]

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.