Comments (13)
hi @gdamore, i've tested the proposed changes from #1828 92fd162 and it seems to not solve the issue
from nng.
SHA-1: aac4dc3
node->**ln_prev** is 0xFFFFFFFFFFFFFFFF
https://gist.github.com/mikisch81/428c4ad87afcc1c8881b282cd5e80eb3
server side
vs 2022 debug version
sdk 10.0.19041.0
64bit win 10
from nng.
void SetThreadsNng()
{
nng_init_set_parameter(NNG_INIT_MAX_TASK_THREADS, 1);
nng_init_set_parameter(NNG_INIT_MAX_EXPIRE_THREADS, 1);
nng_init_set_parameter(NNG_INIT_MAX_POLLER_THREADS, 1);
nng_init_set_parameter(NNG_INIT_NUM_RESOLVER_THREADS, 1);
}
add above code for easy debugging
from nng.
I also reproduced the crash reported by @leowang552 a couple of times
from nng.
The crash is a different issue... it's a sign that we're trying to remove from a list when already not on the list.
Let's open another ticket for it. (And I'd like to know whether that happens only on IPC on Windows, or does it happen either on other platforms or for non-IPC connections -- because the Windows named pipe IPC is totally unlike the other transports.)
from nng.
As to this bug, I have a PR out that I'd appreciate it if folks could try out.
from nng.
I see the bug not easily reproduced if the computer performance is high.
Still not reproduced after running 1 hour.
This PC:
11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz
64G RAM
from nng.
Does this problem only happen with Windows IPC?
from nng.
@alzix it seems you actually have an item on the pipes list. This is different than the reported issue before that the pipe list was empty.
Again, I am wondering if this is exclusive to the IPC dialer.
from nng.
Ah I see the original problem was reported on macos.
from nng.
In my project I use nng for IPC this I cannot provide any input on other protocols.
I noticed the stuck frame was different on my last check - but the check was based on #1828 pr.
Perhaps it solved once issue but uncovered another.
Please notice that reqrep server was used for test, this the problem is probably in listener and not in the dialer
from nng.
Interesting. Ok, I have pushed another change to the same PR, which attempts to fix a possible issue if the pipes are closed during negotiation (which likely is happening here.)
If you can try that PR branch again, I'd be grateful @alzix .
from nng.
did - left my insights in PR comments
from nng.
Related Issues (20)
- If I understand correctly, NNG's REP is analog to ROUTER when in raw mode or using a context object for asynchronous operations. REQ is similarly analog to DEALER when in raw mode or using a context object. So these socket types are unnecessary... I presume that the same reasoning applies to the lack of XPUB/XSUB in NNG. HOT 1
- Replace ZMQ(router/dealer) to NNG in raw mode problem HOT 1
- [Question] How to pass a value or datas in the callback function of nng_aio_alloc?
- Your text about Russia/Ukraine (typo) HOT 1
- Websocket masking could a lot faster
- IPC socket could support setting ownership HOT 1
- Missing Header in posix_rand_getrandom.c
- nng_msg_insert: munmap_chunk(): invalid pointer HOT 3
- Deadlock during nng_close() - multi platform HOT 23
- Sendmsg Thread Blocking HOT 3
- How to create a new language binding using a binary/dll? HOT 1
- Compiler warnings / errors from new logging feature on Windows HOT 2
- mqttv5_client chokes on CONNACK packet HOT 2
- setting NNG_OPT_TLS_CONFIG on socket should hold reference HOT 6
- Memory Leak in nng_rep0_open HOT 2
- IPC - Use After Free HOT 4
- Will the NNG framework built-in handle packet splitting and sticking issues during streaming transmission? HOT 2
- Tools or API could obtain all communication endpoint information for establishing communication with this machine HOT 2
- nng_socket_set_ms didn't work HOT 2
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 nng.