Comments (9)
This looks like a memory management issue related to object life cycles. I'm going to try to duplicate and do a bit of analysis in valgrind.
Hmm... good point about debug vs. release builds. Maybe I should keep all builds debug for now.
from zerotierone.
I was unable to exactly duplicate this one, but I did fix a race condition bug in 0.4.1. See if this crops up again. I'm going to continue testing and trying to duplicate this one myself.
from zerotierone.
By the way, can you describe the platform? Linux version, distro, etc.? That might be helpful.
from zerotierone.
Same platform/distro as #13. Still getting the same backtrace.
I ran valgrind:
==18354== ERROR SUMMARY: 55772 errors from 182 contexts (suppressed: 2 from 2)
Do you have a valgrind suppression file? If so, can you commit it? There is a lot of stuff coming from ecdsa_do_sign
for example. If you can generate a suppression file for all of the "known" errors you get, I can send you the list of whatever remains.
from zerotierone.
No, but I should make one. I ran valgrind and saw a ton of errors in the libcrypto bignum library... which kind of worries me slightly. libcrypto is very mature, so I'm assuming it's okay. :)
from zerotierone.
OpenSSL warnings are normal: http://openssl.6102.n7.nabble.com/valgrind-warnings-for-0-9-8b-td6228.html
Apparently they use some uninitialized memory as one of their sources of randomness. I'll have to make a valgrind exclude file for pretty much all the libcrypto stuff.
from zerotierone.
The OpenSSL thing is very irritating... looks like every uninitialized value warning can be traced to the fact that libcrypto pulls some of its random entropy from uninitialized memory. If I had this to write over again, I'd use libcrypto++. Might convert it some day, but it's not high priority.
I did simplify some code in EllipticCurveKey and added code to throw std::out_of_range on range errors. But I can't duplicate your exact crash either on Mac or on my Linux physical box or my Linux VM. I committed it. No version.h change since it's such a tiny thing.
from zerotierone.
A huge valgrind cleanup effort has been committed: version 0.4.2. Try it now and post the error if it's still there. (I also fixed a possible unsafe op, so it may be gone now.)
from zerotierone.
Segfault is gone. #13 Still persists though.
from zerotierone.
Related Issues (20)
- [WIN] zerotier lost connection when windows is under `Modern Standby` state.
- Tagged but no release HOT 2
- [Linux] Build requirements didn't mention.
- 在central创建网络发现Subnet重复 HOT 3
- zerotier-one should support systemd notification HOT 1
- Install Zerotier: Add support for Ubuntu 24 (noble) [Feature Request]
- Problem with metrics in daemonize (-d) mode HOT 4
- High CPU usage on Windows when there is no internet connection available HOT 2
- MTU issue with some mobile operators HOT 4
- Set TAP adapter speed to 1Gbit or 10Gbit HOT 1
- Sometimes losing connection to ZT network when Android device changes from WiFi to cellular
- compatibility for android with ndk toolchain
- Unstable SSH connection although ping is ok HOT 1
- The problem with the minecraft plasmo voice udp port HOT 2
- Zerotier Central down, unable to log in trough the web portal, and API requests are failing. HOT 13
- zerotier windows - not ajusting interface mtu HOT 7
- Zerotier Android - some internet traffic gets disrupter when Zerotier network is active
- Receiving/being assigned a local IPv4 address takes 15-20 seconds after joining a network. Changing system time after zerotier service has started on windows makes joining networks impossible. HOT 5
- Version Naming inconsistency issue HOT 5
- Zerotier Central down HOT 3
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 zerotierone.