Comments (19)
I do not think so, because there is no previous installation of those packages in the system.
Thank you.
from flux-core.
Is libzmq built --with-libsodium
to get CURVE security enabled?
I'm a little confused because that czmq assertion should not happen unless czmq was built with CURVE support, since it is inside #if defined (ZMQ_CURVE_SERVER)
and I think czmq detects whether libzmq has CURVE support at build time and sets that. So I would expect that libzmq has it. But maybe a different libzmq is being picked up at run time that doesn't have CURVE support or is too old to work with that version of czmq? (I see it is packaged for SLES 15)
Wasn't SLES 12-SP2 end of life some time ago? That's not necessarily a problem but the potential for running with very old packages in combinations we haven't tested recently is a bit concerning.
from flux-core.
I compiled it with:
./configure --prefix=$HOME/apps/install/libzmq --with-libsodium=$HOME/apps/install/libsodium
You're right. We are upgrading the cluster, but meanwhile SLES 12 is what we have.
Thanks.
from flux-core.
Thanks - so no possibility of flux picking up older/differently configured versions of libzmq or libsodium at runtime? (like from system packages?)
from flux-core.
I'm scratching my head on this one. How far do you get if you run make check
in the flux-core tree? I imagine you won't get too far but I'm wondering if some of the early unit tests might fail in ways that could provide insight?
from flux-core.
I reached here:
============================================================================
Testsuite summary for flux-core 0.51.0
============================================================================
# TOTAL: 328
# PASS: 326
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 2
============================================================================
See src/broker/test-suite.log
============================================================================
Makefile:1249: recipe for target 'test-suite.log' failed
make[4]: *** [test-suite.log] Error 1
make[4]: Leaving directory '/gpfs/home/bsc21/bsc21334/apps/source/flux-core/src/broker'
Makefile:1355: recipe for target 'check-TESTS' failed
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory '/gpfs/home/bsc21/bsc21334/apps/source/flux-core/src/broker'
Makefile:1424: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/gpfs/home/bsc21/bsc21334/apps/source/flux-core/src/broker'
Makefile:516: recipe for target 'check-recursive' failed
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/gpfs/home/bsc21/bsc21334/apps/source/flux-core/src'
Makefile:594: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
Thanks
from flux-core.
Can you try
$ cd src/broker
$ make check
and share the full output? Or if you see which specific test is failing, run it by hand? E.g.:
$ cd src/broker
$ ./test_overlay.t
(if test_overlay.t
were the failing test or tests)
from flux-core.
The same error obtained with flux start:
$ ./test_overlay.t
# info: test log message
# created single-0: rank 0 size 1 uuid 92002373-616f-4fe9-8014-5fb58316ad69
ok 1 - single-0: overlay_set_topology size=1 rank=0 works
ok 2 - single-0: overlay_get_size returns 1
ok 3 - single-0: overlay_get_rank returns 0
ok 4 - (null): overlay_get_default_critical_ranks works
ok 5 - 0: overlay_get_default_critical_ranks returned (null)
ok 6 - single-0: overlay_register_attrs works
ok 7 - single-0: tbon.parent-endpoint=NULL
ok 8 - single-0: rank=0
ok 9 - single-0: size=1
ok 10 - single-0: tbon.level=0
ok 11 - single-0: tbon.maxlevel=0
ok 12 - single-0: tbon.descendants=0
ok 13 - single-0: overlay_get_parent_uri returned NULL
ok 14 - single-0: overlay_get_bind_uri returned NULL
ok 15 - single-0: overlay_sendmsg event where=DOWN succeeds
ok 16 - single-0: overlay_sendmsg event where=UP fails with EHOSTUNREACH
ok 17 - single-0: overlay_sendmsg response where=DOWN fails with EHOSTUNREACH
ok 18 - single-0: overlay_sendmsg response where=ANY fails with EHOSTUNREACH
ok 19 - single-0: overlay_sendmsg response where=UP fails with EHOSTUNREACH
ok 20 - single-0: overlay_sendmsg request where=DOWN fails with EHOSTUNREACH
ok 21 - single-0: overlay_sendmsg request where=ANY fails with EHOSTUNREACH
ok 22 - single-0: overlay_sendmsg request where=UP fails with EHOSTUNREACH
ok 23 - single-0: overlay_get_child_peer_count returns 0
# created trio-0: rank 0 size 3 uuid f4c5cca5-a678-4b4b-b1f0-75c1d05dab90
ok 24 - trio-0: overlay_set_topology works
ok 25 - trio-0: overlay_cert_pubkey works
test_overlay.t: src/zsock_option.inc:2200: zsock_set_curve_server: Assertion `rc == 0 || zmq_errno () == (156384712 + 53)' failed.
Aborted
from flux-core.
Thanks, unfortunately that didn't give us any hints, and I'm not finding anyone else hitting that particular error with a google search... Perhaps @garlick will have another idea...
from flux-core.
Oh, maybe you could try running the unit tests of libzmq and czmq from your original build directories and make sure they pass.
from flux-core.
That's a good idea. FWIW I ran the CURVE related tests in libzmq manually and here ithe output (executables are in the tests
subdir)
garlick@system76-pc:~/other/libzmq/tests$ ./test_sodium
tests/test_sodium.cpp:80:test__zmq_curve_keypair__always__success:PASS
tests/test_sodium.cpp:82:test__zmq_curve_public__valid__success:PASS
tests/test_sodium.cpp:83:test__zmq_curve_public__invalid__failure_short:PASS
tests/test_sodium.cpp:84:test__zmq_curve_public__invalid__failure_long:PASS
-----------------------
4 Tests 0 Failures 0 Ignored
OK
garlick@system76-pc:~/other/libzmq/tests$ ./test_security_curve
tests/test_security_curve.cpp:539:test_curve_security_with_valid_credentials:PASS
Ignored event (skipping any further events): 800 (err = 32 == Broken pipe)
count of ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL/ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC events: 0
tests/test_security_curve.cpp:540:test_null_server_key:PASS
count of ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL/ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC events: 8
tests/test_security_curve.cpp:541:test_null_client_public_key:PASS
count of ZMQ_EVENT_HANDSHAKE_FAILED_PROTOCOL/ZMQ_PROTOCOL_ERROR_ZMTP_CRYPTOGRAPHIC events: 7
tests/test_security_curve.cpp:542:test_null_client_secret_key:PASS
tests/test_security_curve.cpp:543:test_curve_security_with_bogus_client_credentials:PASS
tests/test_security_curve.cpp:544:test_curve_security_with_null_client_credentials:PASS
tests/test_security_curve.cpp:545:test_curve_security_with_plain_client_credentials:PASS
tests/test_security_curve.cpp:546:test_curve_security_unauthenticated_message:PASS
tests/test_security_curve.cpp:549:test_curve_security_invalid_hello_wrong_length:PASS
tests/test_security_curve.cpp:550:test_curve_security_invalid_hello_command_name:PASS
tests/test_security_curve.cpp:551:test_curve_security_invalid_hello_version:PASS
tests/test_security_curve.cpp:552:test_curve_security_invalid_initiate_wrong_length:PASS
tests/test_security_curve.cpp:553:test_curve_security_invalid_initiate_command_name:PASS
tests/test_security_curve.cpp:554:test_curve_security_invalid_initiate_command_encrypted_cookie:PASS
tests/test_security_curve.cpp:555:test_curve_security_invalid_initiate_command_encrypted_content:PASS
test_curve_security_with_valid_credentials (large routing id)
-----------------------
15 Tests 0 Failures 0 Ignored
OK
from flux-core.
This is what I got:
Testsuite summary for zeromq 4.3.5
============================================================================
# TOTAL: 131
# PASS: 115
# SKIP: 16
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
$ ./test_sodium
tests/test_sodium.cpp:80:test__zmq_curve_keypair__always__success:PASS
tests/test_sodium.cpp:82:test__zmq_curve_public__valid__success:PASS
tests/test_sodium.cpp:83:test__zmq_curve_public__invalid__failure_short:PASS
tests/test_sodium.cpp:84:test__zmq_curve_public__invalid__failure_long:PASS
4 Tests 0 Failures 0 Ignored
OK
But I do not have the CURVE tests... Am I missing something?
Thank you.
from flux-core.
Edit: deleted nonsensical comment, I see you had the libsodium tests but were asking about curve...
from flux-core.
The Makefile.am conditionally compiles the curve test executable so maybe something went wrong at configure time?
src/platform.hpp
contains some of the configured results. For example I have:
/* Using curve encryption */
#define ZMQ_HAVE_CURVE 1
[snip]
/* Using libsodium for curve encryption */
#define ZMQ_USE_LIBSODIUM 1
from flux-core.
Ah, I just noticed that your tests report you are on zeromq version 4.3.5, but the latest tagged version is 4.3.4. Are you building from the development HEAD?
When I build from libzmq master I get: "CURVE provided by tweetnacl" and then:
$ ./test_security_curve
CURVE encryption not installed, skipping test
Perhaps you can try using the v4.3.4 tag and see if that works better? It seems to configure with "CURVE provided by libsodium" for me...
from flux-core.
If I actually configure with --with-libsodium
as I suggested, then I get " Using libsodium for CURVE security", so the issue is probably just missing --with-libsodium
on your ./configure
as suggested by @garlick. (And sorry about the noise)
from flux-core.
This is weird.
I checked out to tag V4.3.4 and configured with libsodium.
bsc21334@login2 ~/apps/source/libzmq[(HEAD detached at v4.3.4)*]$ ./configure --prefix=$HOME/apps/install/libzmq --with-libsodium=$HOME/apps/install/libsodium > m.o
configure: WARNING: You are building an unreleased version of 0MQ and asciidoc or xmlto are not installed.
configure: WARNING: Documentation will not be built and manual pages will not be installed.
configure: WARNING: Cannot find libbsd
bsc21334@login2 ~/apps/source/libzmq[(HEAD detached at v4.3.4)*]$ grep -niI sodium m.o
Apart from the warnings, there is no occurrence of "sodium"in the configure output.
from flux-core.
grep sodium config.log
returns nothing? that seems very odd.
from flux-core.
Does --with-libsodium
accept a =PATH
argument? It looks to me like it is a yes/no option.
from flux-core.
Related Issues (20)
- Minor documentation fix for flux-jobs
- doc: flux-exec manpage is confusing
- doc: document `userrc` job shell option
- resource: constant load on large system HOT 4
- content-sqlite: treat ENOSPC as a transient condition
- sdexec: take extra measures to ensure cleanup HOT 7
- sdexec: does not comply with RFC42 protocol
- broker: add timezone designator to log timestamps
- fluxion logs resource status changed for individual nodes HOT 2
- t2410-sdexec-memlimit.t hangs after job-exec switched to FLUX_SUBPROCESS_FLAGS_UNBUF HOT 3
- user feedback on error messages
- `flux overlay status` is slow on large systems
- sdexec: add stdin buffering HOT 2
- sdexec: broker segfault in outbuf_mark_free HOT 2
- flux-start silently ignores `--recovery` when `-s, --test-size` is also present
- python: `jobspec.setattr()` should probably default to `attributes.system` like the `--setattr` command line option
- pmi: MPI job working in v0.55 fails in v0.63 HOT 2
- job-list: support `ranks` constraint
- shell: doom: include hostname of rank that caused early exit if possible
- job-manager possibly sends alloc requests after jobs have been canceled 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 flux-core.