zeromq / libzmq

ZeroMQ core engine in C++, implements ZMTP/3.1
https://www.zeromq.org
Mozilla Public License 2.0
9.62k stars 2.35k forks source link

Function not implemented (src/signaler.cpp:324) #4515

Closed mbasilSB closed 1 year ago

mbasilSB commented 1 year ago

Please use this template for reporting suspected bugs or requests for help.

Issue description

Hi, I'm getting the following error when executing the C client example on the web on a buildroot based linux image and not finding which could be the reason for this:

Function not implemented (src/signaler.cpp:324)

Appreciate any help

Thanks in advance

Environment

guill-delacourt commented 1 year ago

I have a similar error message when there is a failure in a errno_assert in the code. It means that a system call used by zmq is not implemented by the OS. Which one ? You have to check the code. I find that zmq is not really explicit when a failure happens in an assertion. This could be improved.

mbasilSB commented 1 year ago

Yes exactly, mine also appears in a errno_assert, did you find any solution to that?

guill-delacourt commented 1 year ago

My problem was elsewhere (epoll.cpp) and the system call the errno_assert was reporting was epoll_create, as the kernel on my target was not compiled with support for those. So the thing to do here is to update the kernel or recompile it with the right options. If you can rebuild your buildroot system, it's probably the thing to do. You should check which call is done before the errno_assert, as this is what really fails. This will tell you what feature you need on your system.

bluca commented 1 year ago

These are detected at build time, if your build system and runtime environment are so different that core syscalls are missing then it's something you need to fix in your build system