Open chengsu opened 5 years ago
Subscribed for this issue. We downgraded to 4.6.0 version and it works perfectly fine. We met random SIGABRT without any trace information in 5.1.0. It doesn't depends on old_memory size or connection pooling. Happens on any Linux based OS and in Docker. We couldn't reproduce in in MacOS.
It's show stopper, please react.
This error affects all 5.* versions.
int result = uv_async_send(static_cast<BufferReference*>(bufref)->async_);
Should be
int result = uv_async_send(&static_cast<BufferReference*>(bufref)->async_);
On Mac OS process doesn't crash but IO thread crashes and sockets stop sending or receiving messages. Have been able to reproduce it by running a process with about 200-300 connections for around 30 minutes. Can share more details if needed. Happens on latest versions where the new buffer allocation logic was auto-enabled.
Have also run into this. Similar behavior as @FanAs - process exits with a random abort and without any trace information.
Witnessed on 5.1.0. Doesn't occur in 4.6.0. Unfortunately, there's no prebuilt Node 10 version on 4.6.0 so it's not as simple as rolling back.
Potentially caused by https://github.com/libuv/libuv/issues/2226?
Edit: Seems unrelated, I ran the example from that issue and it manifests differently (segfault rather than hitting the explicit abort at https://github.com/libuv/libuv/blob/89cbbc895bb459c6ab5319fa86a32a9fecbf8744/src/unix/async.c#L153).
@FanAs Do you resolve this issue now?
Thanks for the report @FanAs
Same issue here - 5.1.0 (seemingly) random "Abort (core dumped)"
Reverted to 4.6.0 and I can send millions of messages without any glitches.
Same issue #333
Downgraded to 4.6.0, everything works well now. thanks @FanAs
Recently we have released 6.0 beta. It features a new API that addresses some fundamental issues with the previous API and also addresses a number of stability bugs. To make upgrading easier it includes a compatibility layer with versions 4.x/5.x. It would be great if you could give the latest version a spin to see if this solves this particular issue. If you run into any problems with it, feel free to report it here or in a new issue.
This seems to still be an issue in 5.2.0
.
v6 was released. Please try again with the latest version, and report back if the issue still persists. https://github.com/zeromq/zeromq.js/releases/tag/v6.0.0
In my test code, I use connection pool to send 300 request in parallel , but get "Abort (core dumped)" message a few minites later, and my program exit. I use lldb to analyse the coredump file and got this: