-
Notifications
You must be signed in to change notification settings - Fork 4
thread 'main' panicked at 'invalid option' #125
Comments
This comment has been minimized.
This comment has been minimized.
I hid my previous comment because my assumption was wrong. Found UB here: libzmq-rs/libzmq/src/core/sockopt.rs Lines 265 to 269 in a375d25
Due to a temporary being cast as a raw ptr. I'll fix asap and look if this mistake appears elsewhere. |
I'll publish a new release. |
Sounds great. Thanks for your help! |
A general word of advice, I would recommend against using |
@jean-airoldie BTW, are you familiar with NNG (https://nng.nanomsg.org/index.html)? Is it any better than ZeroMQ on your forementioned issues? Thanks! |
To give some context, I do distributed messaging at a high frequency in rust. Moreover I care about reliable messaging because my messages are not idempotent (aka I can't simply resend the same message if I think it was lost). I used zeromq in production for a while and I came at several conclusion (which can also be applied to nanomsg and nng since they share a similar design). ProblemTCP is not a reliable transport, neither is HTTP or HTTPS. This is because of 2 things:
SolutionI would say that the QUIC protocol solves all of these issues, however its still fairly young and unoptimized. For instance I don't event get 1Gb/sec using ProblemZeroMQ, nanomsg and nng sockets are stateless by design. This means that updates to the socket states will not be propagated to the user. Turns out this can be a major problem:
SolutionPropagate the socket state updates as notification that are forwarded to the user when he calls ConclusionI didn't find anything out there that fits my specific needs so I would need to write my own lib on top of |
Thanks for your very detailed explanation! |
Hi all! I'm new to rust & its ecosystem, sorry if I'm missing something. |
My bad, seems like I didn't actually publish a release. I'll do that right now. |
If you put |
Thanks! |
Describe the bug
The following program gives error
thread 'main' panicked at 'invalid option'
(with probability, and if no panic, the program will hang forever, which is also not expected) if run withcargo run --release
. However it works well withcargo run
.Platform:
The text was updated successfully, but these errors were encountered: