3.0.0 Alpha13 Broken on NonStop x86

The following result occurs at commit 6bbff162f1. This is new compared with alpha12.
( SRCTOP=. \
  BLDTOP=. \
  PERL="perl" \
  FIPSKEY="f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" \
  EXE_EXT= \
  perl ./test/run_tests.pl  )
01-test_abort.t .................... ok
01-test_fipsmodule_cnf.t ...........
version not found
VERIFY FAILED
00000000:error:0700006C:configuration file routines:NCONF_get_string:no value:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_lib.c:282:group=fips_sect name=install-version
../../util/wrap.pl ../../apps/openssl fipsinstall -in ../../providers/fipsmodule.cnf -module ../../providers/fips.so -verify => 1
not ok 1 - fipsinstall verify

This problem is not isolated to FIPS. The whole test log is attached. I'm really not sure where to start - the number of failed tests is daunting. This build was done in a clean directory (git clean -dxf/make clean with the same results).
openssl-3.0.0-alpha13-nonstop.log

A little more - other than not having FIPS on Itanium, all tests pass there, but not on the x86 NonStop variant (which is Big Endian) where a significant number of non-FIPS tests fail. I hope that particular confusion has not recurred.

I'm going to use git bisect to find where this broke.

At a guess, the FIPS install broke which cascades all over the place.
Try: make TESTS=test_fipsmodule_cnf V=1 test

At a guess, the FIPS install broke which cascades all over the place.
Try: make TESTS=test_fipsmodule_cnf V=1 test

Possible. I'm at commit 77e4ae58ea, which was bad (could not compile) because of
crypto/evp/mac_lib.c
      return ctx->meth->init(ctx->data, key, keylen, params);
                                        ^
"/home/ituglib/randall/openssl-3.0/crypto/evp/mac_lib.c", line 111: error(229):
          too many arguments in function call

which should never have been merged. Skipping it and moving closer to HEAD in hope that that was resolved.

It was merged as part of a block, the end will compile okay.

I just ran a test on s390x, just to see if I could trigger test errors there (on the basis that it's also a big endian system).  I got a failure with 80-test_cmp_http.t, but that was it, so I'm unable to help much...

Most of the tests (50-ish) failed because of:
error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
90-test_sslapi failed to load the config, which I suspect is the same cause without reporting the above error. So this does seem to be all about FIPS.
The V=1 test result is:
01-test_fipsmodule_cnf.t ..
# The results of this test will end up in test-runs/test_fipsmodule
1..1
version not found
VERIFY FAILED
00000000:error:0700006C:configuration file routines:NCONF_get_string:no value:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_lib.c:282:group=fips_sect name=install-version
../../util/wrap.pl ../../apps/openssl fipsinstall -in ../../providers/fipsmodule.cnf -module ../../providers/fips.so -verify => 1
not ok 1 - fipsinstall verify

After reconfiguring the no-fips option, and making, I still get errors relating to fips. I'm thinking there is another issue buried in this one where you have to clean up before make after a reconfigure. Still, would rather focus on getting fips to work again.

Even with a clean configure/build (after git clean -dxf), 15-test_rsaoaep and 90-test_fipsload both run and fail.
15-test_rsaoaep.t .................. 1/?
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -encrypt -in ../../test/recipes/15-test_rsaoaep_data/plain_text -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -pkeyopt 'digest:sha1' -pkeyopt 'mgf1-digest:sha1' -out enc1.bin => 1
not ok 2 - RSA OAEP Encryption
# ------------------------------------------------------------------------------
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -decrypt -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -pkeyopt 'digest:sha1' -pkeyopt 'mgf1-digest:sha1' -in enc1.bin -out dec1.txt => 1
not ok 4 - RSA OAEP Decryption
15-test_rsaoaep.t .................. 4/? ---------------------------------------
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -encrypt -in ../../test/recipes/15-test_rsaoaep_data/plain_text -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -pkeyopt 'digest:sha1' -pkeyopt 'mgf1-digest:sha1' -out enc2.bin => 1
not ok 7 - RSA OAEP Encryption should generate different encrypted data
# ------------------------------------------------------------------------------
#   Failed test 'RSA OAEP Encryption should generate different encrypted data'
#   at test/recipes/15-test_rsaoaep.t line 116.
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -decrypt -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -in enc2.bin -out dec2.txt => 1
not ok 8 - RSA OAEP Decryption with default digests
15-test_rsaoaep.t .................. 8/? ---------------------------------------
#   Failed test 'RSA OAEP Decryption with default digests'
#   at test/recipes/15-test_rsaoaep.t line 129.
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -encrypt -in ../../test/recipes/15-test_rsaoaep_data/plain_text -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -out enc3.bin => 1
not ok 9 - RSA OAEP Encryption with default digests
# ------------------------------------------------------------------------------
#   Failed test 'RSA OAEP Encryption with default digests'
#   at test/recipes/15-test_rsaoaep.t line 140.
Using configuration from ../../test/fips-and-base.cnf
Error configuring OpenSSL modules
00000000:error:80000FA2:system library:process_include:No such file or directory:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_def.c:771:calling stat(/home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf)
00000000:error:07800069:common libcrypto routines:provider_conf_load:provider section error:/home/ituglib/randall/openssl-3.0/crypto/provider_conf.c:90:section=fips_sect not found
00000000:error:0700006D:configuration file routines:module_run:module initialization error:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_mod.c:242:module=providers, value=provider_sect retcode=-1
../../util/wrap.pl ../../apps/openssl pkeyutl -provider-path ../../providers -config ../../test/fips-and-base.cnf -decrypt -inkey ../../test/testrsa2048.pem -pkeyopt 'pad-mode:oaep' -pkeyopt 'oaep-label:123' -pkeyopt 'digest:sha1' -pkeyopt 'mgf1-digest:sha1' -in enc3.bin -out dec3.txt => 1
not ok 10 - RSA OAEP Decryption with explicit default digests
# ------------------------------------------------------------------------------
#   Failed test 'RSA OAEP Decryption with explicit default digests'
#   at test/recipes/15-test_rsaoaep.t line 150.

90-test_fipsload.t .................
../../util/wrap.pl ../../test/moduleloadtest ../../providers/fips.so OSSL_provider_init => 1
not ok 1 - trying to load ../../providers/fips.so in its own
90-test_fipsload.t ................. 1/? ---------------------------------------
#   Failed test 'trying to load ../../providers/fips.so in its own'
#   at test/recipes/90-test_fipsload.t line 29.

not sure how to disable these.

as of commit 91bd45eb9a
Test Summary Report
-------------------
01-test_fipsmodule_cnf.t         (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
15-test_gendsa.t                 (Wstat: 512 Tests: 13 Failed: 2)
  Failed tests:  12-13
  Non-zero exit status: 2
15-test_genrsa.t                 (Wstat: 256 Tests: 14 Failed: 1)
  Failed test:  14
  Non-zero exit status: 1
15-test_rsaoaep.t                (Wstat: 1536 Tests: 10 Failed: 6)
  Failed tests:  2, 4, 7-10
  Non-zero exit status: 6
20-test_cli_fips.t               (Wstat: 768 Tests: 11 Failed: 3)
  Failed tests:  9-11
  Non-zero exit status: 3
30-test_acvp.t                   (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
30-test_defltfips.t              (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
30-test_evp.t                    (Wstat: 6656 Tests: 89 Failed: 26)
  Failed tests:  27-52
  Non-zero exit status: 26
30-test_evp_fetch_prov.t         (Wstat: 10240 Tests: 53 Failed: 40)
  Failed tests:  8-27, 34-53
  Non-zero exit status: 40
30-test_evp_libctx.t             (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
30-test_provider_status.t        (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
65-test_cmp_msg.t                (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
65-test_cmp_protect.t            (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
65-test_cmp_server.t             (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
65-test_cmp_vfy.t                (Wstat: 256 Tests: 3 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
80-test_cms.t                    (Wstat: 1792 Tests: 10 Failed: 7)
  Failed tests:  1-5, 8, 10
  Non-zero exit status: 7
80-test_ssl_new.t                (Wstat: 7168 Tests: 30 Failed: 28)
  Failed tests:  1-21, 23-28, 30
  Non-zero exit status: 28
80-test_ssl_old.t                (Wstat: 256 Tests: 11 Failed: 1)
  Failed test:  7
  Non-zero exit status: 1
90-test_sslapi.t                 (Wstat: 256 Tests: 2 Failed: 1)
  Failed test:  2
  Non-zero exit status: 1
90-test_threads.t                (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=233, Tests=3228, 2330 wallclock secs (12.35 usr  0.00 sys + 1119.76 cusr 13.45 csys = 1145.57 CPU)
Result: FAIL

All appear to be FIPS related.

Yep, figure out what's wrong with the first test and the rest will work.

Any pointers? I don't know the FIPS code.

Run the test individually and look at the errors?
At least that's what I do.

Well, the version not found message is a bit of a clue, but resolving it is s different matter.

Failure of the module signature???

That's what it was last time

So, perhaps a few question would clear things up...

What happens if you do this:  rm providers/fipsmodule.cnf; make providers/fipsmodule.cnf

Does providers/fipsmodule.cnf exist? Is that the same as  /home/ituglib/randall/openssl-3.0/providers/fipsmodule.cnf?

Please show us the contents of providers/fipsmodule.cnf (it's a text file, so...).

 \
  PERL="/usr/bin/perl" \
  FIPSKEY="f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" \
  EXE_EXT= \
  /usr/bin/perl ../master/test/run_tests.pl  )
01-test_abort.t .................... ok

I finally got the same type of errors on s390x.
@rsbecker, you didn't by any chance use parallel make for build+test in one command, i.e. something like make -j4 test?  I haven't looked closely yet, but I'm having a hunch that we messed up parallelism...

providers/fipsmodule.cnf is not being built as part of the standard make or make test. If I use make providers/fipsprovider.cnf, the file is created but it is empty.
I'm not using parallel make at all. That opens up a whole bunch of timing problems on the MPP platform.

The following result occurs at commit 6bbff16. This is new compared with alpha12.
( SRCTOP=. \
  BLDTOP=. \
  PERL="perl" \
  FIPSKEY="f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" \
  EXE_EXT= \
  perl ./test/run_tests.pl  )
01-test_abort.t .................... ok
01-test_fipsmodule_cnf.t ...........
version not found
VERIFY FAILED
00000000:error:0700006C:configuration file routines:NCONF_get_string:no value:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_lib.c:282:group=fips_sect name=install-version
../../util/wrap.pl ../../apps/openssl fipsinstall -in ../../providers/fipsmodule.cnf -module ../../providers/fips.so -verify => 1
not ok 1 - fipsinstall verify

thanks

#14449

Er, @rsbecker, is that with or without no-fips?  Without it, make test should make providers/fipsmodule.cnf.  WIth no-fips, no such file is made, of course, and if there are test recipes that still try to use it, then they should be fixed.

@linlinthu8679 #14449 does not fix this situation completely.
The fix for #14517 does not correct the problem. providers/fipsmodule.cnf is still empty despite the following:
$ make providers/fipsmodule.cnf
Makefile:2346: warning: overriding recipe for target 'libcrypto.so'
Makefile:2341: warning: ignoring old recipe for target 'libcrypto.so'
Makefile:7616: warning: overriding recipe for target 'libssl.so'
Makefile:7612: warning: ignoring old recipe for target 'libssl.so'
make: Circular libcrypto.so <- libcrypto.so dependency dropped.
make: Circular libssl.so <- libssl.so dependency dropped.
./util/wrap.pl apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - > providers/fipsmodule.cnf
HMAC : (Module_Integrity) : Pass
SHA1 : (KAT_Digest) : Pass
SHA2 : (KAT_Digest) : Pass
SHA3 : (KAT_Digest) : Pass
TDES : (KAT_Cipher) : Pass
AES_GCM : (KAT_Cipher) : Pass
RSA : (KAT_Signature) : RNG : (Continuous_RNG_Test) : Pass
Pass
ECDSA : (KAT_Signature) : Pass
DSA : (KAT_Signature) : Pass
TLS12_PRF : (KAT_KDF) : Pass
PBKDF2 : (KAT_KDF) : Pass
SSHKDF : (KAT_KDF) : Pass
KBKDF : (KAT_KDF) : Pass
HKDF : (KAT_KDF) : Pass
SSKDF : (KAT_KDF) : Pass
X963KDF : (KAT_KDF) : Pass
X942KDF : (KAT_KDF) : Pass
HASH : (DRBG) : Pass
CTR : (DRBG) : Pass
HMAC : (DRBG) : Pass
DH : (KAT_KA) : Pass
ECDH : (KAT_KA) : Pass
RSA_Encrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
INSTALL PASSED

FIPS continues to fail to load. providers/fipsmodule.cnf is still empty after the above and is not placed elsewhere. Resulting in:
$ make TESTS=test_fipsmodule_cnf V=1 test
Makefile:2346: warning: overriding recipe for target 'libcrypto.so'
Makefile:2341: warning: ignoring old recipe for target 'libcrypto.so'
Makefile:7616: warning: overriding recipe for target 'libssl.so'
Makefile:7612: warning: ignoring old recipe for target 'libssl.so'
make: Circular libcrypto.so <- libcrypto.so dependency dropped.
make: Circular libssl.so <- libssl.so dependency dropped.
make depend && make _tests
make[1]: Entering directory '/home/ituglib/randall/openssl-3.0'
Makefile:2346: warning: overriding recipe for target 'libcrypto.so'
Makefile:2341: warning: ignoring old recipe for target 'libcrypto.so'
Makefile:7616: warning: overriding recipe for target 'libssl.so'
Makefile:7612: warning: ignoring old recipe for target 'libssl.so'
make[1]: Leaving directory '/home/ituglib/randall/openssl-3.0'
make[1]: Entering directory '/home/ituglib/randall/openssl-3.0'
Makefile:2346: warning: overriding recipe for target 'libcrypto.so'
Makefile:2341: warning: ignoring old recipe for target 'libcrypto.so'
Makefile:7616: warning: overriding recipe for target 'libssl.so'
Makefile:7612: warning: ignoring old recipe for target 'libssl.so'
make[1]: Circular libcrypto.so <- libcrypto.so dependency dropped.
make[1]: Circular libssl.so <- libssl.so dependency dropped.
( SRCTOP=. \
  BLDTOP=. \
  PERL="perl" \
  FIPSKEY="f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" \
  EXE_EXT= \
  perl ./test/run_tests.pl test_fipsmodule_cnf )
01-test_fipsmodule_cnf.t ..
# The results of this test will end up in test-runs/test_fipsmodule
1..1
version not found
VERIFY FAILED
00000000:error:0700006C:configuration file routines:NCONF_get_string:no value:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_lib.c:282:group=fips_sect name=install-version
../../util/wrap.pl ../../apps/openssl fipsinstall -in ../../providers/fipsmodule.cnf -module ../../providers/fips.so -verify => 1
not ok 1 - fipsinstall verify

#   Failed test 'fipsinstall verify'
#   at test/recipes/01-test_fipsmodule_cnf.t line 35.
# Looks like you failed 1 test of 1.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests

Test Summary Report
-------------------
01-test_fipsmodule_cnf.t (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
Files=1, Tests=1,  1 wallclock secs ( 0.02 usr  0.00 sys +  0.45 cusr  0.00 csys =  0.47 CPU)
Result: FAIL
Makefile:1445: recipe for target '_tests' failed
make[1]: *** [_tests] Error 1
make[1]: Leaving directory '/home/ituglib/randall/openssl-3.0'
Makefile:1443: recipe for target 'tests' failed
make: *** [tests] Error 2

No-fips is not specified on the config.

Currently at commit d8a809db4b. Our configure is:
./Configure nonstop-nsx_64 --prefix=/usr/local-ssl3.0 --openssldir=/usr/local-ssl3.0/ssl --with-rand-seed=rdcpu
resulting in the following configuration.

Command line (with current working directory = .):

    perl ./Configure nonstop-nsx_64 --prefix=/usr/local-ssl3.0 --openssldir=/usr/local-ssl3.0/ssl --with-rand-seed=rdcpu

Perl information:

    perl
    5.26.3 for NSV-D-nonstop_kernel

Enabled features:

    acvp_tests
    aria
    async
    autoalginit
    autoerrinit
    autoload-config
    bf
    blake2
    bulk
    cached-fetch
    camellia
    capieng
    cast
    chacha
    cmac
    cmp
    cms
    comp
    ct
    deprecated
    des
    dgram
    dh
    dsa
    dso
    dtls
    dynamic-engine
    ec
    ec2m
    ecdh
    ecdsa
    egd
    engine
    err
    filenames
    fips
    fips-securitychecks
    gost
    idea
    legacy
    md4
    mdc2
    module
    multiblock
    nextprotoneg
    pinshared
    ocb
    ocsp
    padlockeng
    pic
    poly1305
    posix-io
    psk
    rc2
    rc4
    rdrand
    rfc3779
    rmd160
    scrypt
    secure-memory
    seed
    shared
    siphash
    siv
    sm2
    sm3
    sm4
    sock
    srp
    srtp
    sse2
    ssl
    static-engine
    stdio
    tests
    tls
    ts
    ui-console
    whirlpool
    tls1
    tls1-method
    tls1_1
    tls1_1-method
    tls1_2
    tls1_2-method
    tls1_3
    dtls1
    dtls1-method
    dtls1_2
    dtls1_2-method

Disabled features:

    afalgeng            [not-linux]      OPENSSL_NO_AFALGENG
    asan                [default]        OPENSSL_NO_ASAN
    asm                 [no asm_arch]    OPENSSL_NO_ASM
    buildtest-c++       [default]
    crypto-mdebug       [default]        OPENSSL_NO_CRYPTO_MDEBUG
    devcryptoeng        [default]        OPENSSL_NO_DEVCRYPTOENG
    ec_nistp_64_gcc_128 [default]        OPENSSL_NO_EC_NISTP_64_GCC_128
    external-tests      [default]        OPENSSL_NO_EXTERNAL_TESTS
    fuzz-libfuzzer      [default]        OPENSSL_NO_FUZZ_LIBFUZZER
    fuzz-afl            [default]        OPENSSL_NO_FUZZ_AFL
    ktls                [default]        OPENSSL_NO_KTLS
    makedepend          [unavailable]
    md2                 [default]        OPENSSL_NO_MD2 (skip crypto/md2)
    msan                [default]        OPENSSL_NO_MSAN
    rc5                 [default]        OPENSSL_NO_RC5 (skip crypto/rc5)
    sctp                [default]        OPENSSL_NO_SCTP
    ssl-trace           [default]        OPENSSL_NO_SSL_TRACE
    threads             [config]
    trace               [default]        OPENSSL_NO_TRACE
    ubsan               [default]        OPENSSL_NO_UBSAN
    unit-test           [default]        OPENSSL_NO_UNIT_TEST
    uplink              [no uplink_arch] OPENSSL_NO_UPLINK
    weak-ssl-ciphers    [default]        OPENSSL_NO_WEAK_SSL_CIPHERS
    zlib                [default]
    zlib-dynamic        [default]
    ssl3                [default]        OPENSSL_NO_SSL3
    ssl3-method         [default]        OPENSSL_NO_SSL3_METHOD

Config target attributes:

    AR => "ar",
    ARFLAGS => "qc",
    CC => "c99",
    HASHBANGPERL => "/usr/bin/env perl",
    RANLIB => "ranlib",
    RC => "windres",
    bn_ops => "SIXTY_FOUR_BIT",
    build_file => "Makefile",
    build_scheme => [ "unified", "unix" ],
    cflags => "-g -O2 -Wextensions -Wnowarn=203,220,272,734,770,1506 -Wbuild_neutral_library -Wverbose -Wtarget=tns/x -Wsystype=oss -Wlp64 -WIEEE_float",
    cppflags => "",
    defines => [ "OPENSSL_BUILDING_OPENSSL", "OPENSSL_VPROC=\$(OPENSSL_VPROC)", "_XOPEN_SOURCE", "_XOPEN_SOURCE_EXTENDED=1", "_TANDEM_SOURCE", "B_ENDIAN", "_TANDEM_ARCH=3" ],
    disable => [ "threads" ],
    dso_scheme => "DLFCN",
    enable => [ "egd" ],
    ex_libs => "-lrld",
    includes => [  ],
    lflags => "-Wxld=\"-set systype oss\" -Wxld=\"-set data_model lp64\" -Wxld=\"-set floattype ieee_float\"",
    lib_cflags => "",
    lib_cppflags => "",
    lib_defines => [  ],
    module_cflags => "",
    module_cxxflags => undef,
    module_ldflags => "-Wshared",
    perl => "/usr/bin/perl",
    perl_platform => "Unix",
    shared_argfileflag => "-Wxld_obey=",
    shared_cflag => "",
    shared_defflag => "-Wxld_obey=",
    shared_defines => [  ],
    shared_extension => ".so",
    shared_ldflag => "-Wshared",
    shared_rcflag => "",
    shared_target => "nonstop-shared",
    sys_id => "TANDEM",
    thread_defines => [  ],
    thread_scheme => "(unknown)",
    unistd => "<unistd.h>",

Recorded environment:

    AR =
    ARFLAGS =
    AS =
    ASFLAGS =
    BUILDFILE =
    CC =
    CFLAGS =
    CPP =
    CPPDEFINES =
    CPPFLAGS =
    CPPINCLUDES =
    CROSS_COMPILE =
    CXX =
    CXXFLAGS =
    HASHBANGPERL =
    LD =
    LDFLAGS =
    LDLIBS =
    MT =
    MTFLAGS =
    OPENSSL_LOCAL_CONFIG_DIR =
    PERL =
    RANLIB =
    RC =
    RCFLAGS =
    RM =
    WINDRES =
    __CNF_CFLAGS =
    __CNF_CPPDEFINES =
    __CNF_CPPFLAGS =
    __CNF_CPPINCLUDES =
    __CNF_CXXFLAGS =
    __CNF_LDFLAGS =
    __CNF_LDLIBS =

Makevars:

    AR              = ar
    ARFLAGS         = qc
    CC              = c99
    CFLAGS          =
    CPPDEFINES      =
    CPPFLAGS        =
    CPPINCLUDES     =
    CXXFLAGS        =
    HASHBANGPERL    = /usr/bin/env perl
    LDFLAGS         =
    LDLIBS          =
    PERL            = perl
    RANLIB          = ranlib
    RC              = windres
    RCFLAGS         =

NOTE: These variables only represent the configuration view.  The build file
template may have processed these variables further, please have a look at the
build file for more exact data:
    Makefile

build file:

    Makefile

build file templates:

    Configurations/common0.tmpl
    Configurations/unix-Makefile.tmpl
    Configurations/common.tmpl

Wait, when you answered my questions, were you still in the middle of a bisect?  I'm really only interested in the answer at the alpha13 tag, or current master HEAD

Wait, when you answered my questions, were you still in the middle of a bisect? I'm really only interested in the answer at the alpha13 tag, or current master HEAD

No, I aborted the bisect. It wasn't getting me anywhere. This is all (today's messages) based on a pull from an hour ago.

အောက်ပါရလဒ်သည် commit 6bbff16 တွင်ဖြစ်ပေါ်သည် ။ ဤသည် alpha12 နှင့်နှိုင်းယှဉ်လျှင်အသစ်ဖြစ်သည်။
( SRCTOP=. \
  BLDTOP=. \
  PERL="perl" \
  FIPSKEY="f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" \
  EXE_EXT= \
  perl ./test/run_tests.pl  )
01-test_abort.t .................... ok
01-test_fipsmodule_cnf.t ...........
version not found
VERIFY FAILED
00000000:error:0700006C:configuration file routines:NCONF_get_string:no value:/home/ituglib/randall/openssl-3.0/crypto/conf/conf_lib.c:282:group=fips_sect name=install-version
../../util/wrap.pl ../../apps/openssl fipsinstall -in ../../providers/fipsmodule.cnf -module ../../providers/fips.so -verify => 1
not ok 1 - fipsinstall verify

Ok.  So, you see the fipsinstall command line up the when you test...  you can also produce it manually, like this:
$ rm providers/fipsmodule.cnf
$ make providers/fipsmodule.cnf

Is it still ending up empty, even though the command appears successful?  If so, we might need your help debugging what's going on...

Ok. So, you see the fipsinstall command line up there when you test... you can also produce it manually, like this:
$ rm providers/fipsmodule.cnf
$ make providers/fipsmodule.cnf

Is it still ending up empty, even though the command appears successful? If so, we might need your help debugging what's going on...

Still empty. Where should I put gdb and breakpoints?

In crypto/conf/conf_mod.c, default_config_file = "/usr/local-ssl3.0/ssl/openssl.cnf". That does not seem to make sense, since we never did an install of OpenSSL 3.0. That file doesn't exist.

INSTALL PASSED indicates that write_config_fips_section(), in apps/fipsinstall.c, was called and succeeded.  It might be interesting to have a look at it and find out why it doesn't output anything...

I saw the BIO_printf(out) and ret=1 being executed. I tried putting in a BIO_flush, but that did not seem to help. The code got down to _dopr with no trouble ("activate = 1\n") was the first I/O. There were 8 in total, mostly "%s = %s" style except for the first one. The last mod time on the file is the same as the create time, which is suspicious as it appears that the writes never actually made it to disk.

I also tried putting a BIO_flush inside BIO_printf, but that did not help.

@levitte Any interest in my setting up a Zoom session to debug this together?

I can also use the output from openssl ... -out - | tee providers/fipsmodule.cnf and the contents are correct. Otherwise they are empty.

Hmmm, the BIO out should be connected to stdout in this command:
./util/wrap.pl apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - > providers/fipsmodule.cnf

Are you saying that's not quite the case?
As for bwrite_old, it's implemented as a bridge to call the newer write function... is that not happening?

If use the output from openssl ... -out - | tee providers/fipsmodule.cnf the contents of providers/fipsmodule.cnf are correct and I get 100% PASS. Using openssl ... -out - >providers/fipsmodule.cnf leaves that file empty. I am not seeing anything done by bwrite_old when I step in (actually gdb just steps over it), unlike bwrite_conv.

Hmmm, the BIO out should be connected to stdout in this command:
./util/wrap.pl apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - > providers/fipsmodule.cnf

Are you saying that's not quite the case?
As for bwrite_old, it's implemented as a bridge to call the newer write function... is that not happening?

If I use openssl ... -out - | tee providers/fipsmodule.cnf the contents of providers/fipsmodule.cnf are correct and I get 100% PASS. Using openssl ... -out - >providers/fipsmodule.cnf leaves that file empty. I am not seeing anything done by bwrite_old when I step in (actually gdb just steps over it), unlike bwrite_conv.

I should also mention that this occurs without the perl wrapper. I can get this behaviour from a shell prompt directly, so we can exclude perl from being at fault.

In effect you are saying that | and > are doing something different with the stdout of the openssl command.  Might this be something weird in NonStop?
> will replace the file before the command is executed and if something fails it will leave a zero byte file.
What if you remove providers/fipsmodule.cnf and then run the command?

Same effect. Is BIO detecting the file type or calling fcntl or ioctl?

They shouldn't be called.  BIOs are pretty basic wrappers over the underlying file/whatever.

They shouldn't be called.  BIOs are pretty basic wrappers over the underlying file/whatever.

So why did this work at alpha 11? The OS did not change since then.

So why did this work at alpha 11?

Because the command to generate it has change ever so slightly.  Earlier, it looked approximately like this:
./util/wrap.pl apps/openssl fipsinstall -out providers/fipsmodule.cnf -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect

now it looks like this:
./util/wrap.pl apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - > providers/fipsmodule.cnf

The latter is generated from a GENERATE statement in providers/build.info, which was modified recently (just before alpha13 was released).
There's really nothing weird with that command.  The output is supposed to go to stdout, and under normal Unix semantics, it doesn't matter if stdout is redirected to a file or to a pipe, it should look the same to apps/openssl.  It appears, though, that the semantics is different on NonStop, and the question is why.
Since the responsibility for setting that up normally belongs with the shell, I suspect that there's something weird going there, and I can only guess...:

The shell might be setting things up in a weird way, and we've encountered a corner case.  A distinct thing to look for is that redirecting to file or piping seem to differ somehow.
The shell might detect pipes and set those up properly, but otherwise do things Windows style and actually leave it to the application to do the right thing, such as parsing the command line for redirections and setting them up.  This is presumably handled by the setup code (often called crt0) before main() is called, and that code might be doing something weird...  another corner case.

I just looked through the BIO for known oddities, but they are platform specific (_setmode() and setvbuf() calls on Windows, for example) and shouldn't affect NonStop.
... and mind you, the weirdness might be perfectly legitimate, depending on OS specific details (as an anecdote, OpenVMS has the shell and the running program living in the same process, just different memory segments, and that leads to ...  interesting possibilities).  I know that Unix semantics can be challenging when the target OS doesn't work quite the same way.

I have never seen a pipe issue impacting stdout like this on platform (in 27 years). Going through sockets, yes, there are some default setup issues. I'll try to fine that one.
Is there anything I can test in isolation? The platform support team will need a smaller condition - I don't have the crt0 equivalent source code.

One hypothetical difference: buffering. A non-file pipe will tend to flush on LF, while a file pipe will wait for whatever buffer limit exists. If a DLL unloads badly(?) before the runtime flush, the output can be lost. I've seen this happen similarly when a program bypasses exit code and uses a low level abend.

If a DLL unloads badly(?) before the runtime flush

Hmmm, I believe that apps/fipsinstall.c does the printing on its own, and since it's essentially passing everything to stdout (via BIO, but still, there shouldn't be any buffering performed by the BIO code, it should all be passed directly to stdio).  The only DLLs involved with that would be libcrypto, and the C RTL everything is linked with, and since those are linked at build time (right?), the takedown is after main() returns, which is outside our control.  As far as I know, we use normal exit() / return mechanisms in our main...

Is there anything I can test in isolation?

$ echo foo | ./util/wrap.pl apps/openssl dgst -sha1 > foo.hashed

If foo.hashed has contents (one line of text), then we know we need to zero in on what fipsinstall does.  Otherwise, we know this is a general stdout issue.

Is there anything I can test in isolation?

$ echo foo | ./util/wrap.pl apps/openssl dgst -sha1 > foo.hashed

If foo.hashed has contents (one line of text), then we know we need to zero in on what fipsinstall does. Otherwise, we know this is a general stdout issue.

The result in foo.hashed is: SHA1(stdin)= f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
So fipsinstall it is.

Side question on this. Going back to 2015, we found a gnulib.c problem with poll/select where the pfds structure was not being initialized correctly. Basically, revents has to be set to 0 explicitly in order for post-select processing to work. We found this in git actually after a CPU memory dump of the kernel but that was in a hang situation. This is obviously different but I don't see any use of revents associated with any select in OpenSSL at all. Just wondering if there is a common history of this. It's something we look for when there is random weirdness.

@levitte I put a BIO_flush in BIO_close and was able to get providers/fipsmodules.cnf constructed. So this appears to be a flush issue. I don't think this is the correct fix, but for debugging...
diff --git a/crypto/bio/bio_lib.c b/crypto/bio/bio_lib.c
index 6d360b62ed..635cfaa152 100644
--- a/crypto/bio/bio_lib.c
+++ b/crypto/bio/bio_lib.c
@@ -692,6 +692,7 @@ void BIO_free_all(BIO *bio)
         b = bio;
         ref = b->references;
         bio = bio->next_bio;
+        BIO_flush(b);
         BIO_free(b);
         /* Since ref count > 1, don't free anyone else. */
         if (ref > 1)

It could be that we should flush in BIO_free(). I for one can't see anything wrong with that.

It could be that we should flush in BIO_free(). I for one can't see anything wrong with that.

I can put the PR together in about an hour.

I think I'm missing something regarding the BIO infrastructure:
include/openssl/bio.h:553:34: error: value computed is not used [-Werror=unused-value]
  553 | # define BIO_flush(b)            (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL)
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/bio/bio_lib.c:117:5: note: in expansion of macro 'BIO_flush'
  117 |     BIO_flush(a);
      |     ^~~~~~~~~

I can't push right now. It looks like the HEAD commit ee067bc066 is bad.
**** ERROR **** [1210]:
   providers/libnonfips.a(libnonfips-lib-rand_unix.o): In function
   `ossl_pool_acquire_entropy':
   libnonfips-lib-rand_unix.o(.text+0x6d): unresolved reference to
   ossl_prov_acquire_entropy_from_cpu.

I'm feeling a bit like the rug got pulled out from under me on this one.

I think I'm missing something regarding the BIO infrastructure:

That's the compiler complaining that the line isn't looking at the returned value.  It's pretty easy to shut the compiler up, though:
    (void)BIO_flush(a);

I'm going to try this based on alpha-13, which I know was broken. After that, I think I might need to open a separate issue regarding the undefined external.

I can't push right now. It looks like the HEAD commit ee067bc is bad.

Here's the patch to fix it:
diff --git a/providers/implementations/rands/seeding/rand_cpu_x86.c b/providers/implementations/rands/seeding/rand_cpu_x86.c
index 0bdf1c302f..39da74e293 100644
--- a/providers/implementations/rands/seeding/rand_cpu_x86.c
+++ b/providers/implementations/rands/seeding/rand_cpu_x86.c
@@ -35,7 +35,7 @@ static size_t get_hardware_random_value(unsigned char *buf, size_t len);
  * Returns the total entropy count, if it exceeds the requested
  * entropy count. Otherwise, returns an entropy count of 0.
  */
-size_t prov_acquire_entropy_from_cpu(RAND_POOL *pool)
+size_t ossl_prov_acquire_entropy_from_cpu(RAND_POOL *pool)
 {
     size_t bytes_needed;
     unsigned char *buffer;

I can't push right now. It looks like the HEAD commit ee067bc is bad.

Here's the patch to fix it:
diff --git a/providers/implementations/rands/seeding/rand_cpu_x86.c b/providers/implementations/rands/seeding/rand_cpu_x86.c
index 0bdf1c302f..39da74e293 100644
--- a/providers/implementations/rands/seeding/rand_cpu_x86.c
+++ b/providers/implementations/rands/seeding/rand_cpu_x86.c
@@ -35,7 +35,7 @@ static size_t get_hardware_random_value(unsigned char *buf, size_t len);
  * Returns the total entropy count, if it exceeds the requested
  * entropy count. Otherwise, returns an entropy count of 0.
  */
-size_t prov_acquire_entropy_from_cpu(RAND_POOL *pool)
+size_t ossl_prov_acquire_entropy_from_cpu(RAND_POOL *pool)
 {
     size_t bytes_needed;
     unsigned char *buffer;

Cool. I'll take care of that too in the PR.

Interesting thing: When I modified BIO_free instead of BIO_free_all with BIO_flush the fix stopped working. I'm going back to the debugging board to figure out why.

Replacing prior comment: When running openssl standalone:
apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - > providers/fipsmodule.cnf

The operation succeeds with my fix. When ./util/wrap.pl is added to the mix, providers/fipsmodule.cnf is now empty. I'm going digging in there.

@levitte There's definitely an issue with the perl wrapper (or perl on NonStop). It appears that my $waitcode = system @cmd; eats stdout on NonStop. Is there an alternative?

It appears that my $waitcode = system @cmd; eats stdout on NonStop. Is there an alternative?

First of all, I'd like to suggest that you file a bug report to whoever that should fix the underlying bug.  All opened files (that's stdout, among others) should be flushed before program exit.
However, perl has a mechanism...  I hope.  Try $| = 1; somewhere before that line.

It appears that my $waitcode = system @cmd; eats stdout on NonStop. Is there an alternative?

First of all, I'd like to suggest that you file a bug report to whoever that should fix the underlying bug. All opened files (that's stdout, among others) should be flushed before program exit.
However, perl has a mechanism... I hope. Try $| = 1; somewhere before that line.

Yeah, I tried that one. It didn't help. I'm going to report it. Something else...
There is a file named -i being created each time I run the command with perl involved. That file contains the correct output that is supposed to go to providers/fipsmodule.cnf. Without the perl wrapper, the output goes to the proper place. Go figure.

I created a PR for the BIO change. This does not completely fix this issue, but I think the util/wrap.pl is something completely different.

Hmmmmm
Please add this in util/wrap.pl, somewhere before my $waitcode = system @cmd;:
print STDERR "DEBUG: \@cmd = ", join(' ', @cmd), "\n";

If you try something simple like ./util/wrap.pl apps/openssl version > version.txt, you should get something like this:
DEBUG: @cmd = ./util/shlib_wrap.sh apps/openssl version

I have no idea where -i comes from...

Hmmmmm
Please add this in util/wrap.pl, somewhere before my $waitcode = system @cmd;:
print STDERR "DEBUG: \@cmd = ", join(' ', @cmd), "\n";

If you try something simple like ./util/wrap.pl apps/openssl version > version.txt, you should get something like this:
DEBUG: @cmd = ./util/shlib_wrap.sh apps/openssl version

I have no idea where -i comes from...

Nor do I, it does not happen if I run perl in debug mode. However, here's the output:
DEBUG: @cmd = util/../util/shlib_wrap.sh apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out -i

So there's the -i, which looks like it might be coming from an unterminated buffer.

It's not a buffer overrun, which was my working hypothesis:
$ util/wrap.pl apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out - -section_name fips_sect >providers/fipsmodule.cnf
DEBUG: @cmd = util/../util/shlib_wrap.sh apps/openssl fipsinstall -module providers/fips.so -provider_name fips -mac_name HMAC -section_name fips_sect -out -i -section_name fips_sect

The - is being definitely being converted to a -i for some weird reason.

@levitte Is it possible to change the first line of the wrap.pl from #!/usr/bin/env perl to #!/usr/bin/perl? The env program specifically changes - to -i. From the linux man page:

A mere - implies -i.

This appears to be the root cause and is outside perl. Alternatively, if the wrapper is run explicitly, using perl util/wrap.pk, the argument is passed correctly, so env and - is the cause of this problem.

Created PR #14613 to deal with the argument translation.

env is supposed to stop processing it's arguments when it finds the command name it's going to execute.  I'd call this a bug in your env.  It might be possible to fix this on our side, but pointing to perl isn't the way to do it.
What was wrong with -out providers/fipsmodule.cnf?

env is supposed to stop processing it's arguments when it finds the command name it's going to execute. I'd call this a bug in your env. It might be possible to fix this on our side, but pointing to perl isn't the way to do it.
What was wrong with -out providers/fipsmodule.cnf?

It was -out - providers/fipsmodule.cnf. The - has special meaning to env regardless of the operating system. The bug on NonStop is being reported but it will take a long time to get fixed and no guarantee of that. However, -out construct really should not have been done that way with env in the picture.

env is supposed to stop processing it's arguments when it finds the command name it's going to execute. I'd call this a bug in your env. It might be possible to fix this on our side, but pointing to perl isn't the way to do it.
What was wrong with -out providers/fipsmodule.cnf?

It was -out - providers/fipsmodule.cnf. The - has special meaning to env regardless of the operating system. The bug on NonStop is being reported but it will take a long time to get fixed and no guarantee of that.

@paulidale   That begs the question, why couldn't we just use -out providers/fipsmodule.cnf in the first place? That's actually a much easier change that doesn't have me messing about in unix-Makefile.tmpl.

@paulidale   That begs the question, why couldn't we just use -out providers/fipsmodule.cnf in the first place? That's actually a much easier change that doesn't have me messing about in unix-Makefile.tmpl.

a GENERATE[foo]=some-program with args in build.info will generate this in Makefile:
foo: {deps}
        ./util/wrap.pl some-program with args > foo

This is, very simply put, because redirection of stdout is the simplest way to get the output into the intended output file.  Otherwise, one will have to make a lot of assumptions about the command being used as generator; it's not at all certain that it will happily use the last command line argument as output file.

The fact that env massaged the wrong arguments was quite a surprise.

The fact that env massaged the wrong arguments was quite a surprise.

Tell me about it. Currently testing what I think is the least intrusive change.

BTW, it's quite possible that this diff fixes things:
diff --git a/providers/build.info b/providers/build.info
index 1fab34c28d..4296aa05a6 100644
--- a/providers/build.info
+++ b/providers/build.info
@@ -150,7 +150,7 @@ IF[{- !$disabled{fips} -}]
   DEPEND[|tests|]=fipsmodule.cnf
   GENERATE[fipsmodule.cnf]=../apps/openssl fipsinstall \
         -module providers/$(FIPSMODULENAME) -provider_name fips \
-        -mac_name HMAC -section_name fips_sect -out -
+        -mac_name HMAC -section_name fips_sect
   DEPEND[fipsmodule.cnf]=$FIPSGOAL
 ENDIF

Tell me about it

I suddenly don't feel quite as adventurous with OpenVMS :wink:

Tell me about it

I suddenly don't feel quite as adventurous with OpenVMS :wink:

Makes me wonder how s390x is doing.

BTW, it's quite possible that this diff fixes things:
diff --git a/providers/build.info b/providers/build.info
index 1fab34c28d..4296aa05a6 100644
--- a/providers/build.info
+++ b/providers/build.info
@@ -150,7 +150,7 @@ IF[{- !$disabled{fips} -}]
   DEPEND[|tests|]=fipsmodule.cnf
   GENERATE[fipsmodule.cnf]=../apps/openssl fipsinstall \
         -module providers/$(FIPSMODULENAME) -provider_name fips \
-        -mac_name HMAC -section_name fips_sect -out -
+        -mac_name HMAC -section_name fips_sect
   DEPEND[fipsmodule.cnf]=$FIPSGOAL
 ENDIF

Very likely. If it does, we won't need my PR.

Makes me wonder how s390x is doing.

Actually quite well

This is resolved.

When building with commit 814581bb7a, the Makefile does not correctly specify the creation of providers/fipsmodule.cnf The build line is:
$(BLDDIR)/util/wrap.pl apps/openssl fipsinstall -module providers/$(FIPSMODULENAME) -provider_name fips -mac_name HMAC -section_name fips_sect > $@

which looks like the prior behaviour of -out providers/fipsmodule.cnf has been undone. As a result, FIPS is now broken again on NonStop. This is leaving an empty file in providers/fipsmodule.cnf. This also reverted a previously merged changed that would include $(PERL) prior to the command.

The #14613 was not yet merged.

@rsbeckerca could you please amend the #14613 according to the suggestion there? And I'll approve it.

@rsbeckerca could you please amend the #14613 according to the suggestion there? And I'll approve it.

Done. I hope this fixes it, because the actual line for building providers/fipsmodule.cnf has changed. This may have exposed another problem.

I'm running through a full test suite of the expected major builds (std 64-bit, POSIX Threads, Standard Threads-32bit) for OpenSSL 3.0.0 today. will report results here (or elsewhere upon request).


Pulling conductor release 2.28.3

Lot of changes to manually review. Please test in u4 and do a deployment in prod with functional tests.
@rksinha let us know if you would suggest an alternative.

Agree with you Naveen.
On Tue, 1 Sep 2020 at 12:40 PM, naveenchlsn<EMAIL_ADDRESS>wrote:

Lot of changes to manually review. Please test in u4 and do a deployment
in prod with functional tests.
@rksinha https://github.com/rksinha let us know if you would suggest an
alternative.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Swiggy/conductor/pull/75#issuecomment-684503952, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABI5RGAODJSWMWC55XOVMA3SDSM4XANCNFSM4QRJ734A
.
--
Sent from iPhone


Mismatch between C++ and Python for callback index type

In eRPC, when multiple callbacks are defined, callbacks are stored
in an array on both the client and server. When a callback is register,
only the index of the callback in this array is sent over the transport.
In C++, the array index is encoded as a unit8, where as in Python it is
encoded as a uint32. So, a Python client will not be aligned with a C++
server, leading to wrong information being decoded by the server. This
fix aligns both to be a uint8 type for the callback index.

Looks like the build failed because the build server is missing the file /usr/local/opt/bison/bin/bison. How can this be resolved? Thanks.

Hi @RamseyTI , thanks for providing this bugfix. I am going to integrate it. As for the Travis build issue, it has just been solved on the develop branch. Could you please rebase your PR to trigger the Travis again with correct/updated config? Thank you.

Looks like the build passed. Thanks.


Are there unused dependancies in requirements.txt?

README.md currently lists the project dependencies as:
Dependencies

Python 2.x or Python 3.x
Node.js
Pip
Flask
BeautifulSoup4

But requirements.txt currently list many more dependencies.
This repo only contains two Python scripts and a quick read of them says that they use:

server.py: dicttoxml, flask, and pymongo
scraper.py: requests, BeautifulSoup4

Could the following dependencies be safely removed from requirements.txt?
coverage>=4.3.4  # could be pip installed in .travis.yml but not shipped in production
coveralls>=1.1  # could be pip installed in .travis.yml but not shipped in production
feedgen>=0.5.1
futures>=3.0.5
html5lib>=0.9999999
Jinja2>=2.9.5
librabbitmq>=1.5.1
mechanize>=0.2.5
pytest>=3.0.6  # there are no tests in the repo
pytest-cov>=2.4.0  # no pytest means no pytest-cov?
webencodings>=0.5

html5lib should remain in requirements.txt because it is used by bs4.

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser

Is this issue still open ?

Python 2.x or Python 3.x
Node.js
Pip
Flask
BeautifulSoup4

From these we all mean is the core modules.

coverage>=4.3.4  # could be pip installed in .travis.yml but not shipped in production
coveralls>=1.1  # could be pip installed in .travis.yml but not shipped in production

I agree.

pytest>=3.0.6  # there are no tests in the repo
pytest-cov>=2.4.0  # no pytest means no pytest-cov?

Now it has...


go.mod: Use go 1.21

We no longer need to support 1.20, switch to 1.21 and update the github workflow and prepare-source.sh script. Drop 1.20 from the test matrix.

I modified the branch merge requirements to need lint (21) and unit tests (21).  The PR was stuck waiting for the removed versions of those jobs.


24601268 - Tributary to Zymoetz River

[ ] culvert is ~30m away from modelled crossing so should confirm bcfishpass links once in PSCIS and if not link with https://github.com/NewGraphEnvironment/bcfishpass/blob/main/data/pscis_modelledcrossings_streams_xref.csv

Did not link. Will add to https://github.com/NewGraphEnvironment/bcfishpass/blob/main/data/pscis_modelledcrossings_streams_xref.csv and must check in again later

updated here https://github.com/lucy-schick/bcfishpass/commit/8592cc5f320b16af76811ffd8f8eec274c684633


Post-login automation does not send my command, merely types it in, for Windows

The server is Windows OpenSSH. Anything, even just
dir
put into post-login automation just gets copy pasted into the terminal but Enter is not pressed for me. It works on Ubuntu servers. Is there a special way of ensuring the command gets sent, or is this a bug? I tried newlines and ; character.

me too.Use it connect to windows,always need to press enter manually .

Same here connecting via SSH to Debian server.
@kruton any chance to look into this?

Duplicate of #1097? Although I've experienced the same for years now, not sure why both these issues were only opened recently.

Same For Termux As Well

I've just started using ConnectBot to do this, and I see the same thing.  I'm connecting to a Raspberry Pi running raspbian stretch, using a keypair so that I don't have to use a password.  I just want to execute a single command on the remote box and then disconnect, but the command in "post-login automation" just gets placed on the command line, and I have to press enter to actually execute it. (v1.9.9 according to menu > Help).

Two years later, and this issue is still open. As the matter of fact, the solution is trivial, just hit enter key after your command in the post-login automation box.


Bump XamlStyler.Console to 3.2404.2

XamlStyler.Console 3.2311.2 -> 3.2404.2

Better handle internal VS exceptions relating to .csproj files
Expand console support for axaml
Handle unhandled FileNotFoundException in XamlStylerConsole.cs
Fix entry in About window
Set minimum install target to match version of referenced SDK
This release adds support for Rider 2023.3

We can skip this version unless there are vulnerabilities in the one we have.


Parsing or setting style attributes with [out of range values] should not throw exceptions

Thanks for creating this excellent project. I really like it.
When using CssEngine, some of the websites I try to load throw OverflowException: Value was either too large or too small for an (Int32, ...).
The parser throws this error and ignores the rest of the style sheet.
Here is a shortened call stack where the error happens: (sorry, the call stack is to large to paste it here)
AngleSharp.Parser.Css.CssNumberToken.get_IntegerValue()
...
...
AngleSharp.Parser.Css.CssParser.ParseStylesheetAsync()
Practically, web browsers treat this errors in more relaxed mode and they don't throw any exceptions; they check the supplied value and set either the maximum or the minimum for the given data type. The same also applies for setting style values directly using CSSStyleDeclaration class
for example, the following script tries to set zIndex with too large value.
var elm=document.getElementById('ID');
elm.style.zIndex='99999999999999999999999999999999999999999';
elm.style.zIndex;
If you run this script in debugger console of any web browser you will get the maximum value of Int32 "2147483647"
While setting too small value like the following example
elm.style.zIndex='-99999999999999999999999999999999999999999';
will return the minimum value of Int32 "-2147483648"
So, does AngleSharp has any option to control whether to automatically convert out of range values or to throw exceptions (maybe something like strict mode). I'm talking about configuration option because I didn't read the specifications of parsing CSS style sheets and I don't want you to break any specs. But if the specs allow automatic conversion then there is no need for any option and the conversion should automatically applied.
Thanks and good luck,
Atef

CSS is not handled in the core anymore. Please report this in the dedicated repository.


Not working on the firebase messaging background handler

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );
  RemoteNotification? notification = message.notification;
  String? newTitle = notification?.title;
  print("Notification Title ${notification?.title}");
  if(notification?.title == "Session Expired"){
    ///custom handler
  }
  String messageCategory = message.data['category'].toString();
  if(messageCategory == "cash_request"){
    final alarmSettings = AlarmSettings(
      id: 42,
      dateTime: DateTime.now(),
      assetAudioPath: 'assets/nokia.mp3',
      loopAudio: true,
      vibrate: true,
      fadeDuration: 3.0,
      notificationTitle: 'This is the title',
      notificationBody: 'This is the body',
      enableNotificationOnKill: false,
    );
    await Alarm.set( alarmSettings: alarmSettings);
  }
}

Please check this code.
I am going to alarm when I receive specific push notficiation, but does not work.
When app is open and when I try to ring on the home.dart file, it works.
But when I try to ring on the firebase messaging background handler of main.dart file, does not work.
I followed this issue, but does not work on my side.
Thank you.

Hello @FullStack1106,
This is what the Firebase documentation says:

There are a few things to keep in mind about your background message handler:

It must not be an anonymous function.
It must be a top-level function (e.g. not a class method which requires initialization).
When using Flutter version 3.3.0 or higher, the message handler must be annotated with @pragma('vm:entry-point') right above the function declaration (otherwise it may be removed during tree shaking for release mode).

Let me know if it doesn't help and I'll take more time to analyze your issue.


Familiar ring not working on catserver

Describe the bug
Just switched my server from forgeserver to catserver. Everything else works fine, but the familiar ring has no effect, and the familar in the ring cannot be released once bounded.
To Reproduce
Steps to reproduce the behavior:

Install Catserver for 1.16.5
Run server with mod Occultism
Create a familiar ring like always
See error

Expected behavior
The ring can absorb a familiar, but cannnot extract it anymore, and it has no efffect.

That said from old reports it seems that only in certain cases it does not work (it seems that some of the familiar data stored in the ring is either deleted or prevented from being stored by some other mod that we never narrowed down), while in others it does

So I freshly remake a ring and the info shows like this. Any ideas?


Observer memory leak if debug = True

See if adding the following to event_loop.py fixes it:
from django import db
db.reset_queries()

Hopefully this is now fixed. I inserted reset_queries() into several strategic places -

main loop in event_loop.py
main loop in model_policies.py
loop that iterates over objects in syncstep.py


Revise osh templates and example ses_config.yml file

These changes revise the cinder, glance, libvirt, and nova templates to account for the new ses_config.yml format. The example file in workdir/examples has also been updated.

On top of my previous comment, this will effectively break tests, as the interface is changed, but the template generation was not adapted. I would add a commit on top of these to convert the existing template generation to the new format.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4732

Questions ?
Please refer to the Backport tool documentation


Test cluster provisioning on vSphere - Test Release KubeOne 1.5

This is a ticket for tracking the progress of testing cluster provisioning on vSphere.
Follow instructions in #2232. vSphere DOES NOT have working automated E2E tests.
Use the following manifest as a template:
apiVersion: kubeone.k8c.io/v1beta2
kind: KubeOneCluster
versions:
  kubernetes: << VERSION >>
cloudProvider:
  vsphere: {}
  external: << true/false >>
  cloudConfig: |
    ...
  csiConfig: |
    ... # only if external
addons:
  enable: true
  addons:
  - name: "default-storage-class"

Operating Systems to be tested:

[ ] Ubuntu 20.04
[ ] CentOS 7
[ ] RHEL
[ ] Rocky Linux
[ ] Flatcar

Supported Kubernetes versions (choose only one operating system -- for example, you can test 1.24.3 on all operating systems, and then test other versions only on Ubuntu):

[ ] 1.24.3
[ ] 1.23.9
[ ] 1.22.12

OSM or legacy:

[ ] OSM
[ ] Legacy (machine-controller)

In-tree cloud provider or external:

[ ] In-tree cloud provider
[ ] External CCM

For each test, you should:

Create a vSphere PV and attach it to the pod

/test pull-kubeone-e2e-vsphere-default-install-containerd-v1.24.3


When using takeEvery to replace while loop and take, the error handling stops working

The examples in https://redux-saga.js.org/docs/advanced/Channels.html uses while (true) loop with yield take(channel)
  while (true) {
    try {
      // An error from socketChannel will cause the saga jump to the catch block
      const payload = yield take(socketChannel)
      yield put({ type: INCOMING_PONG_PAYLOAD, payload })
      yield fork(pong, socket)
    } catch(err) {
      console.error('socket error:', err)
      // socketChannel is still open in catch block
      // if we want end the socketChannel, we need close it explicitly
      // socketChannel.close()
    }
  }

We want to use higher level API takeEvery(channel, saga, ...args) to replace this
try {
  takeEvery(socketChannel, function* (payload) {
      // An error from socketChannel will cause the saga jump to the catch block
      const payload = yield take(socketChannel)
      yield put({ type: INCOMING_PONG_PAYLOAD, payload })
      yield fork(pong, socket)
  })
} catch (err) {
     console.error('socket error:', err)
      // socketChannel is still open in catch block
      // if we want end the socketChannel, we need close it explicitly
      // socketChannel.close()
}

However, the error handling doesn't work anymore if socketChannel emits an error.
Expected behaviour: The error handling works the same way as while (true) loop with yield take(channel)

takeEvery is not a blocking effect - the forking saga has continued its execution and thus going past your try/catch block. Its suspension point is just at a different point than you expect it to - it's just how JS works.
You should be able to add a blocking effect within your try/catch block to make it work, smth like:
yield new Promise(() => {})

This probably ain't the best solution though. I would recommend not relying on errors for your application flow and convert them to explicit events.

takeEvery is not a blocking effect - the forking saga has continued its execution and thus going past your try/catch block. Its suspension point is just at a different point than you expect it to - it's just how JS works.
You should be able to add a blocking effect within your try/catch block to make it work, smth like:
yield new Promise(() => {})

This probably ain't the best solution though. I would recommend not relying on errors for your application flow and convert them to explicit events.

Thanks for taking the time explaining this.
I don't understand this part:

You should be able to add a blocking effect within your try/catch block to make it work, smth like:
yield new Promise(() => {})

Could you elaborate this or link me somewhere? Thanks a lot!

Thanks for taking the time explaining this.
I don't understand this part:

You should be able to add a blocking effect within your try/catch block to make it work, smth like:
yield new Promise(() => {})

Could you elaborate this or link me somewhere? Thanks a lot!

Consider how this works under the hood:
function runEffect(effect) {
  switch (effect) {
    case "takeEvery":
      return "task_" + Math.random().toString(36).substring(2);
  }
}

function* saga() {
  try {
    const task = yield "takeEvery";
  } catch (err) {
    console.log("caught", err);
  }
  console.log("we are already here");
}

const it = saga();
// kick off
const yielded = it.next();

const result = runEffect(yielded);

it.next(result);

Note that in the real redux-saga the it.next() is not always called immediately - if you block by yielding something that we need to await (such as a promise that never resolves) then we won't call it immediately and your saga will be able to still catch the error if we call it.throw() (because you will still be suspended within try/catch block(.

Consider how this works under the hood:
function runEffect(effect) {
  switch (effect) {
    case "takeEvery":
      return "task_" + Math.random().toString(36).substring(2);
  }
}

function* saga() {
  try {
    const task = yield "takeEvery";
  } catch (err) {
    console.log("caught", err);
  }
  console.log("we are already here");
}

const it = saga();
// kick off
const yielded = it.next();

const result = runEffect(yielded);

it.next(result);

Note that in the real redux-saga the it.next() is not always called immediately - if you block by yielding something that we need to await (such as a promise that never resolves) then we won't call it immediately and your saga will be able to still catch the error if we call it.throw() (because you will still be suspended within try/catch block(.

Closing as it looks like there was a resolution to this issue.


i18n translations do not work with error page handler

The i18n part does not work when response from the error page designated by the errorPages property  is included by the error page handler.
The translations work fine when the error page is directly requested. However it fails to pick up any values and falls back to the key when the response of the error page is included by includeUsingGET method
Example :
com.day.cq.i18n.I18n i18n = new     com.day.cq.i18n.I18n(slingRequest.getResourceBundle(currentPage.getLanguage(false)));
String translatedValue = i18n.get("key");
out.write(translatedValue);
1.Output when error page is accessed directly with a get request -> translatedValue
2.Output when the error page is included by errorpagehandler on a 404 -> key
The value of currentPage.getLanguage(false).getLanguage() is same in both the cases.

For CQ5.6, just edit your org.apache.sling.i18n.impl.I18NFilter.config, adding the following line (without spaces):
sling.filter.scope=["REQUEST","ERROR"]


[Question] Models missing tiktoken file

❓ General Questions

Now I'm trying to add a new model Baichuan, but I find that this model does not have Huggingface tokenizer files like Qwen and StableLM. In addition, it also does not have tiktoken file. What should I do to generate mlc-chat-config.json and process tokenizers successfully?
[2024-02-08 16:22:12] INFO auto_config.py:115: Found model configuration: dist/models/Baichuan2-7B-Chat/config.json
[2024-02-08 16:22:12] INFO auto_config.py:153: Found model type: baichuan. Use `--model-type` to override.
[2024-02-08 16:22:12] INFO baichuan_model.py:46: context_window_size not found in config.json. Falling back to max_position_embeddings (4096)
[2024-02-08 16:22:12] INFO baichuan_model.py:60: prefill_chunk_size defaults to context_window_size (4096)
[2024-02-08 16:22:12] WARNING config.py:99: Warning: Cannot override max_batch_size, because BaichuanConfig does not have this field
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting pad_token_id: 0
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting bos_token_id: 1
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting eos_token_id: 2
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting temperature: 0.3
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting top_p: 0.85
[2024-02-08 16:22:12] INFO gen_config.py:117: [generation_config.json] Setting repetition_penalty: 1.05
[2024-02-08 16:22:12] INFO gen_config.py:129: Found tokenizer config: dist/models/Baichuan2-7B-Chat/tokenizer.model. Copying to dist/Baichuan2-7B-Chat-q4f16_1-MLC/tokenizer.model
[2024-02-08 16:22:12] INFO gen_config.py:131: Not found tokenizer config: dist/models/Baichuan2-7B-Chat/tokenizer.json
[2024-02-08 16:22:12] INFO gen_config.py:131: Not found tokenizer config: dist/models/Baichuan2-7B-Chat/vocab.json
[2024-02-08 16:22:12] INFO gen_config.py:131: Not found tokenizer config: dist/models/Baichuan2-7B-Chat/merges.txt
[2024-02-08 16:22:12] INFO gen_config.py:131: Not found tokenizer config: dist/models/Baichuan2-7B-Chat/added_tokens.json
[2024-02-08 16:22:12] INFO gen_config.py:129: Found tokenizer config: dist/models/Baichuan2-7B-Chat/tokenizer_config.json. Copying to dist/Baichuan2-7B-Chat-q4f16_1-MLC/tokenizer_config.json
[2024-02-08 16:22:12] INFO gen_config.py:137: The model has `tokenizer.model` but not `tokenizer.json`. It is always recommended to prefer JSON instead. Attempting to convert using HuggingFace transformers library
[2024-02-08 16:22:12] ERROR gen_config.py:153: Failed with the exception below. Skipping
Traceback (most recent call last):
  File "/home/tlopex/mlc-llm/python/mlc_chat/interface/gen_config.py", line 148, in gen_config
    fast_tokenizer = AutoTokenizer.from_pretrained(str(config.parent), use_fast=True)
  File "/home/tlopex/.local/lib/python3.8/site-packages/transformers/models/auto/tokenization_auto.py", line 784, in from_pretrained
    raise ValueError(
ValueError: Tokenizer class BaichuanTokenizer does not exist or is not currently imported.
[2024-02-08 16:22:12] INFO gen_config.py:70: [System default] Setting mean_gen_len: 128
[2024-02-08 16:22:12] INFO gen_config.py:70: [System default] Setting max_gen_len: 512
[2024-02-08 16:22:12] INFO gen_config.py:70: [System default] Setting shift_fill_factor: 0.3
[2024-02-08 16:22:12] INFO gen_config.py:177: Dumping configuration file to: dist/Baichuan2-7B-Chat-q4f16_1-MLC/mlc-chat-config.json

https://github.com/mlc-ai/mlc-llm/pull/1705 maybe related

@rickzx maybe can followup, i believe tokenizer.model might still be fine, but indeed if we convert that would be better.

@rickzx maybe can followup, i believe tokenizer.model might still be fine, but indeed if we convert that would be better.

@tqchen @tlopex I'm able to reproduce. Will take a look today

@tlopex So it seems that Baichuan is not implementing a Fast tokenizer interface. You can see here https://huggingface.co/baichuan-inc/Baichuan-7B/blob/main/tokenization_baichuan.py#L42 that it implements PreTrainedTokenizer instead of PreTrainedTokenizerFast. In this case, it is not possible to convert the tokenizer to the rust-based fast tokenizer, and therefore, you see the ERROR in your log.
But as @tqchen mentioned, in this case, you can just ignore the error, and directly use tokenizer.model. We have logic in MLC chat to handle the case where there is just a single tokenizer.model file. See: https://github.com/mlc-ai/mlc-llm/blob/main/cpp/tokenizers.cc#L68

@rickzx Thanks!
So you mean that I can just ignore the ValueError
I found that when I use
cm = ChatModule(model="./dist/Baichuan2-7B-Chat-q4f16_1-MLC",model_lib_path="./dist/libs/Baichuan2-7B-Chat-q4f16_1-cuda.so")
There will still be warning:
Warning: Using `tokenizer.model` since we cannot locate `tokenizer.json`.
It is recommended to use `tokenizer.json` to ensure all token mappings are included, since currently, files like `added_tokens.json`, `tokenizer_config.json` are ignored.

However, it seems to work normally.

@rickzx shall we provide a better error message in this case?

@tlopex Awesome, please go ahead and send a PR. I can review it once it's published. Thank you!
@tqchen I agree. Provided a better message in https://github.com/mlc-ai/mlc-llm/pull/1753

@tqchen @rickzx Thanks very much!


Use bind parameters for all queries

Closes #16. However, it might be worth revisiting the underlying structure that separates the execution of a query from the setup of the query (cf. mfhd_is_suppressed? vs. get_orders).

@tpendragon Could you review this pull request for me? Since you brought up the issue of bind variables in the first place.
Thank you.

@mzelesky Sorry this slipped through the cracks for me, taking a look

I just finished it, so it hasn't been waiting or anything. I just did a sprint on it this morning.


Discussion creation won't currently actually work

Discussion store will simply create a discussion, but when creating a discussion the first post will also need creating with the content passed through.

Working on this... 😄


Ensure Proper Order of CLI Build Tasks

@bpoole16 is experiencing CLI build issues. Attempting to resolve those issues.

bpoole16, please test this out and see if the CLI builds and gets copied properly.

@mdeuser, please review.

PG3 861, approved.

@markusthoemmes, can you review this one?

@markusthoemmes, any comments?

@markusthoemmes, any more comments on this one?

Few nits, otherwise LGTM.

@dubeejw can you address the last suggestions?

@rabbah, comments addressed.

PG1 2196 ⏳


Add Dimensions as Labels

Hey, I’m looking at switching from cloudwatch_exporter to yace to be able to get tags into our metrics (thanks btw!). I’m just comparing the differences between them and one potential issue is that yace doesn’t add dimensions as labels like cloudwatch_exporter.
Labels for EC2 CPUCreditBalance:
cloudwatch_exporter
{job="aws_ec2",instance="",instance_id=“some-instance-id“,}

yace
{name="arn:aws:ec2:eu-west-1:some-owner:instance/some-instance-id”, tag_Foo=“bar”}

Labels for ES CPUUtilization
cloudwatch_exporter
{job="aws_es",instance="",domain_name=“some-domain-name”,client_id="some-client-id",}

yace
{name="arn:aws:es:eu-west-1:some-client-id:domain/some-domain-name", tag_Foo=“bar”}

The data is there in the name label but unless you know how to break it down it’s not clear.
Is this something you’d be happy adding? I'm also happy to raise a PR? Could prefix the labels with dimension_ similar to tag_?

Sounds awesome @adamdougal
I would be very happy about a PR. No need to make it optional. I would suggest adding it to all metrics as default.


1.05 enabling console crashes the game

When checking the logs the console is enabled, however trying to enable it crashes the game. The version is 1.05


[DOCS]: OpenApi Spec not valid

Description
I am using openapi-generator to automatically create interfaces to invoke the AnythingLLM API. The specification provided does not meet the validation rules (which I omit here).  In addition, the provided swagger-ui itself, does not allow valid visualization. The main errors, concern the payload definitions of POST requests.

Visualization bug patched in 1.6.0!


Add an indication to see whether farm patches are being looked after by a farmer

Sometimes I'd like to know what patches I have paid the farmer to take care of, adding a little indication to show whether patches are being cared for or not would be nice.
A solution for this could be a tick or a cross in the farming tab to show if patches are being taken cared of or not.

Duplicate of #2472


Does stringify support associative arrays ?

Hello. I see there is a posibility specify array format so stringify result can look like this
'foo[0]=1&foo[1]=2&foo[2]=3'
Is it possible to stringify also associative arrays. I need to build a url with search params looking like this..
'foo[carId]=1&foo[dealerId]=2&foo[anotherKey]=3'
Problem is, the parenthesis in key are normalized if i specify my object like this..
{
"foo[carId]" : 1,
"foo[dealerId]" : 2,
"foo[anotherKey]" : 3
}
Another approach with arrayFormat: 'index' option set is not working neither
{
"foo" : {
carId: 1,
dealerId: 2,
anotherKey: 3
} as { [index: string]: string }
}

Duplicate of #250


Build failed because of nscontrolkeymask

https://developer.apple.com/reference/appkit/nscontrolkeymask seems deprecated and is used on https://github.com/Neo11/ChitChat/blob/master/WhatsMac/WAMApplication.swift#L22

Figure out what we were checking for and either remove (if it doesn't impede on functionality) or replace

On it.


Duplicating node throws error

Godot version:
cc3b7d2
Issue description:
func _ready() -> void:
	var a = Node.new()
	var b = a.duplicate()

Obviously, happens also with nodes on scene.

I didn't looked closely at the circumstances, but this fixes that:
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 2a2a6bb41..b221e0fda 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -835,7 +835,8 @@ bool Node::is_processing_internal() const {
 void Node::set_process_priority(int p_priority) {
        data.process_priority = p_priority;

-       ERR_FAIL_COND(!data.tree);
+       if (!is_inside_tree())
+               return;

        if (is_processing())
                data.tree->make_group_changed("idle_process");

Weird, because this PR seems to have been merged in July, but the error isn't happening in 3.2 beta. It might be something different.

In any case, it makes no sense for me to notify groups if the node is outside the tree.
Here came the priority stuff  in #19888

Interesting. If I just add a print statement
		if (is_processing())
			if (!data.tree) printf("XXX IP\n");
			data.tree->make_group_changed("idle_process");

it later crashes
#0  make_group_changed () at scene/main/scene_tree.cpp:149
#1  0x000000000376439d in set_process_priority () at scene/main/node.cpp:844
#2  0x000000000378a973 in call () at ./core/method_bind.gen.inc:867
#3  0x0000000004876812 in call () at core/object.cpp:921
#4  0x0000000004931900 in call_ptr () at core/variant_call.cpp:1112
#5  0x0000000002401987 in call () at modules/gdscript/gdscript_function.cpp:1081
#6  0x0000000002395af7 in _ml_call_reversed () at modules/gdscript/gdscript.cpp:1195
#7  0x00000000048733ce in Object::notification(int, bool) () at core/object.cpp:931
#8  0x0000000003761c9c in _propagate_ready () at scene/main/node.cpp:196
#9  0x0000000003761c29 in _propagate_ready () at scene/main/node.cpp:188
#10 0x0000000003766daa in Node::_set_tree(SceneTree*) () at scene/main/node.cpp:2561
#11 0x00000000037994aa in SceneTree::init() () at scene/main/scene_tree.cpp:465
#12 0x0000000002020260 in OS_X11::run() () at platform/x11/os_x11.cpp:3247
#13 0x000000000201217b in main () at platform/x11/godot_x11.cpp:56

(gdb) l
144		if (E->get().nodes.empty())
145			group_map.erase(E);
146	}
147
148	void SceneTree::make_group_changed(const StringName &p_group) {
149		Map<StringName, Group>::Element *E = group_map.find(p_group);
150		if (E)
151			E->get().changed = true;
152	}
153


Path to loading script on wiki is outdated

The path referenced in the wiki is script/load_demo.py but this appears to have moved to tools/load_demo.py.

Thanks, fixed!


Empty "west build --test-item" doesn't report warnings/errors

Using --test-item tells west which entry from testcase/sample.yaml to use. However, this option returns no errors nor warnings when a given item cannot be selected.
To reproduce:

Modify testcase.yaml at zephyr/tests/kernel/common/testcase.yaml by adding some wrong option, e.g. -CONFIG_PAKSGPGKAGSGPADKG_SANE=y  into extra_configs  of kernel.common.misra

run west build zephyr/tests/kernel/common --pristine always --board native_posix --test-item kernel.common.misra
This will work correctly. kernel.common.misra will fail the build

The following scenarios are IMO problematic:

change name of testcase.yaml to eg. test.yaml and run the above command again.
change "tests" to sth else, e.g "builds" in testcase.yaml and run the above command again.
use an non-existing entry, e.g due to a typo --test-item kernel.common.mirsa and run the above command again.

West won't report any issue, most likely building the default one.
I believe an error has to be returned if an item cannot be found.

Thanks for the report. I transferred this to the zephyr repo because the west build command is not part of west. If you run git grep test.item in both repos you will find nothing in the west repo and the (relatively simple) implementation of --test-item in zephyr/scripts/west_commands/build.py. If you look at the short _parse_test_item() there you will see that the general logic of that function is "look everywhere and grab every CMake argument we can find". So it's not a big surprise that it does not fail when nothing is found.
You could change the logic a bit to fail when either no file is found or when no CMake argument is found (which one??) but this would unfortunately break backwards-compatibility. It's not a stretch of the imagination to think some current --test-item users may have come to actually rely on --test-item doing nothing in come cases: for instance you could use that generated some testcase.yml at build time and conveniently test with versus without some CMake option. Could also be convenient to compare results of tests run by CI.

@carlocaione originally added support for this feature to west build -- can you take a look?

@carlocaione originally added support for this feature to west build -- can you take a look?

nope, I suggested that but @nashif actually wrote the code.

@carlocaione originally added support for this feature to west build -- can you take a look?

nope, I suggested that but @nashif actually wrote the code.

Thanks for the correction; assignee applied


Remove deprecated goldpinger module

While you are cleaning can you also deprecate the new relic module?
Not in this PR of course


Add the possibility to read a variable encrypted with vault

Is your feature request related to a problem? Please describe.
It would be really useful to store ansible-vault encrypted string directly in tfvars files.
This way terraform could pass these encrypted strings to ansible provisionning without storing it in clear, but also read these values for himself.
Describe the solution you'd like
For example :
data "ansiblevault_string" "api_key" {
  encrypted = "!vault |
          $ANSIBLE_VAULT;1.1;AES256
<PHONE_NUMBER>3236336462626566653063336164663966303231363934653561363964363833313662
<PHONE_NUMBER>303530376336343832656537303632313433360a626438346336353331386135323734
<PHONE_NUMBER>3630373231613662633962316233633936396165386439616533353965373339616234
<PHONE_NUMBER>666330390a313736323265656432366236633330313963326365653937323833366536
<PHONE_NUMBER>6664623134383463316265643436343438623266623965636363326136"
}

${data.ansiblevault_string.api_key.value} will contain value encrypted in the string

Hi @gvcgael ,
We'll take a look on this feature.

Hey,
Pull request is open #41, I'll generate a 1.3 after merge is done

Available in https://github.com/MeilleursAgents/terraform-provider-ansiblevault/releases/tag/v1.3.0

Yeay !
Small question : why is it required to pass a key parameter to the data block ?

Hi,
data "ansiblevault_string" is a selector of yaml key in vault send throught encrypted.
If you want to make this reusable, use variable
variable "vault" {
  type = string
  default = <<EOF
$ANSIBLE_VAULT;1.1;AES256
65346463633165666232636636346631626565616132653339343961656336643930323937313231
3436383237633937636435636366386563313233366630380a316535376661653933373836633130
30336130396635363830373135643261346437366235303463643538336561356534666161353233
6133626433333965320a323966396162656332386265306539666436643033653466636335363363
35656432663266353133623834653735656534346639623233623531363332373461
EOF
}

data "ansiblevault_string" "string" {
  encrypted = var.vault
  key = "API_KEY"
}

But why do you add a yaml key in the string ?
https://docs.ansible.com/ansible/latest/user_guide/playbooks_vault.html#single-encrypted-variable
variable "vault" {
  type = string
  default = <<EOF
$ANSIBLE_VAULT;1.1;AES256
65346463633165666232636636346631626565616132653339343961656336643930323937313231
3436383237633937636435636366386563313233366630380a316535376661653933373836633130
30336130396635363830373135643261346437366235303463643538336561356534666161353233
6133626433333965320a323966396162656332386265306539666436643033653466636335363363
35656432663266353133623834653735656534346639623233623531363332373461
EOF
}

data "ansiblevault_string" "string" {
  encrypted = var.vault
}```

Should be enough don't you think ?

In our usage we do not use single encrypted variable. Our vaults are yaml format.
I'll check if the is a way to add this feature.

Well this data should be called "ansiblevault_yaml" probably then !

Being able to slurp an entire vault file into a variable would be great, I keep SSH key files in vault files.

@gvcgael By adding a true yaml parser, we have turn key param to optional. If key not provided, the decrypted data are return as it. Check out our example https://github.com/MeilleursAgents/terraform-provider-ansiblevault/pull/52/files#diff-e064ebb7d8fee15a0138bce21b1a19c5R23 and tell us if it meets your need

This seems perfect ! Thank you very much for your work !

We'll merge it today and bump to v2 (we have removed keySeparator parameter)


update README.md

Current coverage is 76.23%

Merging #156 into master will not affect coverage as of b404598

@@            master    #156   diff @@
======================================
  Files           28      28
  Stmts          404     404
  Branches         0       0
  Methods         86      86
======================================
  Hit            308     308
  Partial          0       0
  Missed          96      96

Review entire Coverage Diff as of b404598

Powered by Codecov. Updated on successful CI builds.


[BUG] ILocator.WaitFor() method always throw timeout exception.

Context:

Playwright Version: [1.3.2]
Operating System: [Windows]
.NET version: [NET 5]
Browser: [Chromium]
Extra: [any specific details about your environment]

Code Snippet
Help us help you! Put down a short code snippet that illustrates your bug and
that we can run and debug locally. For example:
using System.Threading.Tasks;
using Microsoft.Playwright;

class Program
{
    public static async Task Main()
    {
        using var playwright = await Playwright.CreateAsync();
        await using var browser = await playwright.Chromium.LaunchAsync();
        var page = await browser.NewPageAsync();
        locator = page.Locator(condition);
        await locator.WaitForAsync();
              await locator.WaitForAsync(new LocatorWaitForOptions()
                {
                    State = WaitForSelectorState.Attached
                });

        // ...
    }
}

Describe the bug
Add any other details about the problem here.
ILocator.WaitFor() method always throw timeout exception.
The locator is shown or registered, but a timeout occurs.
always throw exception timeout
https://github.com/microsoft/playwright/issues/21879

I tried the following which works for me, what do I do different?
using Microsoft.Playwright;

using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Chromium.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GotoAsync("https://example.com/");
var locator = page.Locator("text=Example Domain");
await locator.WaitForAsync();
await locator.WaitForAsync(new()
{
    State = WaitForSelectorState.Attached
});

Sorry,  I confirmed that it works normally due to a problem with the Selenium Grid 4 version.
Thanks for the answer.
@mxschmitt


Add Atomic registry integration tests

See the individual commits for detailed comments.

LGTM, will merge after questions answers (no blocking)


Google no longer offers the Helvetica font

We currently allow users to select a font for their PDF downloads. We allow: "Times New Roman", Times, Serifor Arial, Helvetica, Sans-Serif.
The wkhtmltopdf package installed on the individual machine/server must then import the appropriate web font indicated in our @import statement or use whatever is available on the local system. The available font then is dependent on the OS.
Google's API still offers 'Times' (although it is not findable on their search page so who knows how long this will continue) but the request for 'Helvetica' fails forcing the OS to use it's default Sans-Serif font.
The amzn2.x86_64 version of linux uses Nimbus Sans and Ubuntu uses Deja vuSans.
We should either update the UI so that the user selects simply between 'Serif (like Times New Roman)' and 'Sans Serif (like Helvetica)' so that its less specific and users aren't expecting a certain font; OR find some suitable open source fonts to work with and then update the UI accordingly.

Updated to use Roboto


fix: broken link for kbd roving tabindex

Fix

Replacing broken kbd roving tabindex pattern link to new one.

Hi @Viraj-10 Thanks for the contribution, I didn't realise you had already fixed it and ended up fixing it in another PR.


Suggestion: sorting keys in messages/* to improve translation experience

I'm translating the scripts from Japanese to Korean.
There are no big problems, but there is one thing I would like to suggest.

As you can see, the order of the keys is mixed up, making it difficult to translate one-to-one.
If the keys are sorted, I think I can proceed with the translation more comfortably.
If you are okay, I'll try making PR.

Messages are listed in alphabetical order (except Japanese), sorted by PHP's sort function.
Japanese messages are arranged in the order in which they are sorted by Vim in my environment.
If necessary, sort both in your environment once using the same procedure.
Then, just commit to the Korean translation and you'll be fine.

Do you have no plans to sort and keep Japanese messages in alphabetical order?
It's a minor issue so you can ignore this suggestion.


🐛 [all] Upgrade legacy build settings for android

Bug report
Several plugins like firebase_in_app_messaging, firebase_database and others still have deprecated jCenter declaration which needs to be replaced with mavenCentral.
Besides that, some plugins also use very old versions of gradle like firebase_auth and firebase_messaging.
As last, most of the plugins are currently targeting compileSdkVersion 29, while 31 is already out for a few months.
Expected behavior
I think it would be good practice to update these to the latest versions. The compileSdkVersion can bring some code changes.
I'm willing to check every plugin for this together with removing embedding v1 references like mentioned here. .
I think it's good to discuss first which version we want to use for Gradle, since it will impact the CI/CD street.

jCenter will shut down on February 2022.

No plugin is using jcenter(), all were updated to use mavenCentral(), only some of the example apps.

We have an internal ticket to update example apps which will cover updating legacy build settings. Thanks.


not work install.sh

please typing
 chmod 777 *.sh ; chown -R $(whoami):$(whoami) *.sh ; ln -sf *.sh ~/

[ ]  権限のないcpオプションでinstallsp.sh作る

you have to unlink list.

I'm working on my repository. Closing this issue.


[libmesh]Add new port.

Only support UNIX now.
Related: #5334.

/azp run

@vicroms ready to merge now.


Reverse a String in Java

Congrats on taking the first step to contributing to the Sample Programs in Every Language repository!
Please make sure that your pull request includes one and only one sample program and language. Each pull request corresponds to an article that may refer to code in this pull request.
Please Complete the Following

[x] Name the pull request using "Sample Program in Language" format
[x] Tag the pull request with the sample program name
[x] Update the language's README to include new article (i.e. https://therenegadecoder.com/code/pull-request-title)
[x] Provide a link to the language: https://en.wikipedia.org/wiki/Java_(programming_language)

Notes
I implemented string reversal in Java with some influence from Stack Overflow. I wanted a solution that was actually going to demonstrate language features, so I avoided the obvious StringBuilder solution.

Updated to use the new template.


social media buttons

New Task:
social media buttons
<misalignment with social media expanding buttons. Doesn't look good>
Who is the task for?

[x] I created this task for me to complete, I will create a PR soon.
[ ] I created this task for someone else to claim.
[ ] I think this is a task that multiple people can do

Confirm all of the following:

[x] I have looked at all the issues currently available and this does not exist or overlap with another ticket

⚠ PLEASE ONLY SUBMIT A PR FOR THIS TASK IF THIS TASK WAS AVAILABLE FOR YOU TO CLAIM

hey, can I add required social media buttons using required advanced CSS, transition, and translation? looking really interesting? can you please assign me with this issue ?

No new issues are to be added at this time, check issue #333. All problems with the site will be addressed later today. We are working to clean up current problems.


Create Front End Project for Practice App

This issue involves the task for creating and initializing the front end project of the Practice App using JavaScript's React framework. ( React has been decided as the technology we'll use on the front-end by the team. )

Install npm and node on the system.
Install necessary packages to create a React app using npm.
Create a React project named "client".
Design and code the first page of the Practice App.
Create "master" and "dev" branches on it.
Publish this project on remote repository.

Done.
To run client project, clone the code and execute the following commands from the terminal in the client directory:

npm install

npm run start

You will get the following page on your local machine.

All the instructions to run project will be added to readme file soon.

Done.
To run client project, do the followings:

check if node and npm is installed on your system ( node --version , npm --version)
if not installed:

install the latest version of node to your system (for mac you may use brew)
install the latest version of npm (node package manager) to your system(in most scenerios it will be served with node, so check after installing node)

using terminal clone the repo(git clone URL_OF_REPO) to a directory you want and change directory to "client" using cd command and run the following commands:

npm install
npm run start

You will get the following page on your local machine.

All the instructions to run project will be added to readme file soon.

thank you very useful


Add date created to vendor listing

It would be great to have the date created and/or approved for vendors list.

ok, the issue is in its new home now (that transfer issue function is great)


Images referenced with relative links are not parsed properly

Page<EMAIL_ADDRESS>The fix probably would just to prefix the [src] (e.g. media/logo.svg) with current pathname (e.g. /x/ky@v0.30.0/).

Same issue as #2408, closing in favour of the more recent one


Problem with switching visibility of coordinate systems

Noticed a bug, reporting it quickly here.
I had a SpatialData with two images, a and b. Each image is mapped to two coordinate system sys1 and sys2. The mapping is as follows:

a -> sys1: identity
b -> sys1: identity
a -> sys2: any affine/scale/translation
b -> sys2: any affine/scale/translation

In the viewer I do the following:

select sys1. Then I open the elements a and b.
select sys2. Then I open the elements a and b.
click to sys1. The layers visibility changes as expected (the transformed layers disappear)
click to sys2. Nothing happens. Expected is that the untransformed layers disappear and the transformed ones appear.

hmm I will check reproducing this later, but in any case we should move of applying a transform when switching coordinate systems so layers do not have to be reopened when switching coordinate systems. Do you agree?
I first wanted to have #120 in before doing this.

Yes, I think that's a better approach.

Correct, I verified and with the new approach the issue is not relevant anymore because the affine transformation of the images is updated in-place.


Update apache-jena-libs to 4.0.0

Updates org.apache.jena:apache-jena-libs from 3.17.0 to 4.0.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.jena", artifactId = "apache-jena-libs" } ]

labels: library-update, semver-major

Superseded by #36.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-30-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4388

Questions ?
Please refer to the Backport tool documentation


Accessibility guidance clarification

We've had a request to update this page in the accessibility guidance so that it reflects the approach CDDO is taking re internal versus external web-based products and 3rd party products.
https://service-manual.nhs.uk/accessibility/what-all-NHS-services-need-to-do
Wording to be agreed. Drawing on DWP?
Draft:
"Anything that runs in a browser and uses web technologies is considered a website under the regulations. It includes products and services for the public and staff, and 3rd party programmes, tools or portals.".

Waiting for Accessibility Working Group.

Tie this in with: "Firm up wording around expectations of systems in meeting the requirements" and with "Make the published guidance very clear on accessibility and staff systems, including procured systems" (from accessibility UR) .