Comments (8)
the code is trying to call recvfrom on a non-blocking socket and there is no data avaiilable.
First guess is that you're building with a threading model that maps recvfrom to a non-thread aware recvfrom call (spt_recvfrom vs spt_recvfromx), and as a result the receive thread is spinning forever and not yielding to allow the sending thread to submit data to the socket. The introduction of V=1 likely introduces console message output that fortunately yields the cpu, allowing forward progress to be made.
from openssl.
the code is trying to call recvfrom on a non-blocking socket and there is no data avaiilable.
First guess is that you're building with a threading model that maps recvfrom to a non-thread aware recvfrom call (spt_recvfrom vs spt_recvfromx), and as a result the receive thread is spinning forever and not yielding to allow the sending thread to submit data to the socket. The introduction of V=1 likely introduces console message output that fortunately yields the cpu, allowing forward progress to be made.
We're actually dealing with a new kernel threading model - so not cooperative threading. It is looking like we have some timeouts causing transient issues. This is going back to development.
from openssl.
ok, thank you for the update. Should this then be close pending the outcome of your new internal development?
from openssl.
ok, thank you for the update. Should this then be close pending the outcome of your new internal development?
May I keep it open until I hear back? It should be a few weeks.
from openssl.
please, of course. I'll leave it in investigation state to follow up on.
from openssl.
@rsbeckerca ping, any update here?
from openssl.
@rsbeckerca ping, any update here?
I'm waiting on an opportunity to retest this in the new threading model. This does hang in our CI system but not when running directly in bash. This leads me to think there is a timing/yield issue somewhere in the test driver.
from openssl.
The new threading model passes all QUIC tests really well. I will be publishing the configuration for it hopefully in a week or so. I think we can close this. The PUT model is also passing as of commit 2dd74d3 + PR #24912
from openssl.
Related Issues (20)
- error buiding ssl dependancies HOT 2
- xnxx HOT 1
- [email protected] HOT 1
- REGR: various `OPENSSL_<...>_DIR` variables not set in CMake anymore HOT 2
- Stack smashing error in BIO_int_ctrl() on a 64-bit machine HOT 6
- CMake config broken [master and 3.3] HOT 2
- [Padlock] AES-256 does not work for QUIC HOT 2
- SHA1 Fingerprint being displayed
- Update in Fips provider from 3.0.8
- configure: error: OpenSSL version test program failed. HOT 2
- LeakSanitizer: detected memory leaks HOT 4
- OPENSSL_ia32cap doesn't work to disable AES-NI on certain processor HOT 5
- 3.3.1 Build fails on Solaris 10 due to missing -lrt for clock_gettime HOT 1
- Observed bugs and weirdness in util/check-format.pl [20240716] HOT 1
- [BUG] Use of strnlen() is not portable HOT 17
- [BUG] test_lhash fails on NonStop (threading) at commit 01753c09bb HOT 80
- Current master: tests hang up HOT 2
- [BUG] Cannot override cc in Configurations HOT 2
- Re-key a CA hierachy from its certificate
- OPENSSL_NO_DEPRECATED prevents compiling HOT 1
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 openssl.