Comments (4)
Does the tests
binary run without error? Do you see the same error when using the Visual Studio compiler?
It's true that we were only testing libutp with 32bit when it was written, but this sort of error seems odd.
One simple possibility is that mingw might not define WIN32
(I think we should instead be using _WIN32
) in utp_utils.cpp. That would cause it to fall back to a mingw implementation of clock_gettime(CLOCK_MONOTONIC, ...)
, which might suck. Try defining WIN32
by hand and see if the MinGW-w64 build works.
from libutp.
Does the tests binary run without error?
No, they don't do anything, one side exits with an error message that means time-out on a socket; the other keeps going, doing I don't know what (the log file is just 3 lines, seems to be some statistics about some "states", first column has 0, 49, 31550, second 0x805BF0 in all 3 lines, third column has state 1, 2, 4 -- the other process didn't leave anything on the log).
Do you see the same error when using the Visual Studio compiler?
I don't use VS, and I don't intend to test it.
mingw[-w64] might not define WIN32
It does. But I will try your test, or put an #error if the fall back is used.
from libutp.
Using the debugger I see GetMicroseconds() is from utp_utils.cpp:55 (in Transmission version of the code), that means the correct function is called in Windows.
I'll try to see if not being monotonic is causing the problem.
from libutp.
Let's mark this report as invalid.
After more testing I could not detect any counter regression with the clock at either of the settings. And the application worked fine with both settings... so, the only thing I know is that I can't reproduce the problem, and that I don't know what caused the observed problem case.
One very unlikely cause of the observed problem (the dropping of all peers that used uTP) could be that I happened to connect to a few dozen peers running the same buggy version of uTorrent, the 3.0.0 version which I still see being dropped). Very unlikely.
Another possible cause may be the development environment. It is very quirky, I've seen crashes in other libraries that go away when I try to track them down... the problem is that I don't know if they are coming back, or when and where ... but that has nothing to do with libutp.
Thanks for your help Greg. Sorry for what appears to be noise.
from libutp.
Related Issues (20)
- Assertion `mtu_floor <= mtu_ceiling' failed. HOT 2
- reserved identifier violation
- Remove an unnecessary null pointer check HOT 1
- Compilation broken on Windows with `utp_shutdown` changes HOT 1
- utp_socket memory can be leaked
- ECN support
- uTP Fast Open
- How to distinguish whether other peers use utp or tcp protocol? HOT 1
- Client socket must send data first HOT 2
- Question about UTPSocket::cur_window_packets initialization. HOT 2
- How to just the package of utp ? HOT 2
- Unable to build on Haiku HOT 1
- Question: performance figures HOT 4
- Tag releases for downstream packaging
- Assertion `mtu_floor <= mtu_ceiling' failed
- how to identify utp HOT 4
- Is there any format spec for utp version 0?
- libutp in a multi-thread application
- Member access within misaligned address for type 'UTPSocketKeyData', which requires 8 byte alignment HOT 1
- fast_resend_seq_nr not initalize for utp client
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 libutp.