Comments (2)
I compared the behavior to the standard ping on Ubuntu which treats these packets as lost packets:
~$ ping -c 20 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=15.0 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=14.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=14.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=14.8 ms
--- 8.8.8.8 ping statistics ---
20 packets transmitted, 4 received, 80% packet loss, time 19369ms
rtt min/avg/max/mdev = 14.835/14.884/15.004/0.069 ms
Based on that I think the PacketsSent counter should still be increased even if the write fails.
from ping.
I now had a very similar issue at a customer setup that I think has the same root cause. There the Network interface is nicely up and running but the system is directly connected to an LTE modem and the ping packets are sent but not a single response is received. Pinger in this case never reaches the .OnFinish callback.
For debugging I added the .OnSend callback in addition to the .OnRecv callback and the log output looks something like this:
264 bytes sent 8.8.8.8: icmp_seq=0
264 bytes sent 8.8.8.8: icmp_seq=1
264 bytes sent 8.8.8.8: icmp_seq=2
And that's it. --> so I think when the interface is up but not a single response is received the pinger also hangs as with a network interface that is going down during pings.
Note: I will now try at this customer my patch from the pull request to see if it also helps for this issue.
Note2: Of course I could set a general timeout to avoid this as well but when providing a count it would be great if it imply only tries count-times and then finishes without a timeout.
from ping.
Related Issues (20)
- ping result is always same for different addresses HOT 2
- Event for detecting when a ping request times out HOT 1
- Pings not being returned after a certain number of IP addresses HOT 1
- Randomly running into issue while continously pinging 1.1.1.1 HOT 2
- logger.Fatal() causes entire app to exit HOT 5
- If the host is down ping blocks until the timeout is reached
- bind: cannot assign requested address HOT 2
- cannot find package HOT 2
- ping multiple hosts HOT 1
- 有时候莫名其妙的卡住 HOT 2
- In "mac", the call "pinger.Run()" struck for ever
- How to get network interface used to make the ping? HOT 3
- Some packet loss causes ping to hang forever HOT 3
- Is this project abandoned? HOT 3
- not support ipv6? HOT 1
- Decrease the number of digits after the decimal point HOT 1
- connection times out HOT 1
- What does it mean to ping over "udp"? HOT 1
- Mahsa1382
- Mahsa
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ping.