openssl: OpenSSL 3.2.0-alpha1 04-test_bio_dgram fails on NonStop

A significant number of tests are failing on NonStop. I have not included the detailed test log because of the size. Configuration is at the bottom. I can split this if they have different root causes:

Portion of the log:

04-test_bio_dgram.t .....................
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:125
        # # Testing with AF_INET6, local=0
        #
        # ERROR: (int) 'fd1 >= 0' failed @ /home/randall/openssl/test/bio_dgram_test.c:171
        # [-1] compared to [0]
        # 00000000:error:80001011:system library:BIO_socket:Address family not supported:/home/randall/openssl/crypto/bio/bio_sock2.c:51:calling socket()
        # 00000000:error:10000076:BIO routines:BIO_socket:unable to create socket:/home/randall/openssl/crypto/bio/bio_sock2.c:53:
        # OPENSSL_TEST_RAND_ORDER=1694107046
        not ok 2 - iteration 2
# ------------------------------------------------------------------------------
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:125
        # # Testing with AF_INET6, local=1
        #
        # ERROR: (int) 'fd1 >= 0' failed @ /home/randall/openssl/test/bio_dgram_test.c:171
        # [-1] compared to [0]
        # 00000000:error:80001011:system library:BIO_socket:Address family not supported:/home/randall/openssl/crypto/bio/bio_sock2.c:51:calling socket()
        # 00000000:error:10000076:BIO routines:BIO_socket:unable to create socket:/home/randall/openssl/crypto/bio/bio_sock2.c:53:
        # OPENSSL_TEST_RAND_ORDER=1694107046
        not ok 4 - iteration 4
# ------------------------------------------------------------------------------
    # OPENSSL_TEST_RAND_ORDER=1694107046
    not ok 1 - test_bio_dgram
# ------------------------------------------------------------------------------
        # ERROR: (int) 'i >= 9' failed @ /home/randall/openssl/test/bio_dgram_test.c:565
        # [6] compared to [9]
        # 00000000:error:10000070:BIO routines:dgram_pair_write:non-fatal or transient error:/home/randall/openssl/crypto/bio/bss_dgram_pair.c:1271:
        # OPENSSL_TEST_RAND_ORDER=1694107046
        not ok 5 - iteration 1
# ------------------------------------------------------------------------------
        # ERROR: (int) 'i >= 9' failed @ /home/randall/openssl/test/bio_dgram_test.c:565
        # [6] compared to [9]
        # 00000000:error:10000070:BIO routines:dgram_pair_write:non-fatal or transient error:/home/randall/openssl/crypto/bio/bss_dgram_pair.c:1271:
        # OPENSSL_TEST_RAND_ORDER=1694107046
        not ok 6 - iteration 2
# ------------------------------------------------------------------------------
    # OPENSSL_TEST_RAND_ORDER=1694107046
    not ok 2 - test_bio_dgram_pair
# ------------------------------------------------------------------------------
../../util/wrap.pl ../../test/bio_dgram_test => 255
not ok 1 - running bio_dgram_test
04-test_bio_dgram.t ..................... 1/? ----------------------------------
#   Failed test 'running bio_dgram_test'
#   at /home/randall/openssl/util/perl/OpenSSL/Test/Simple.pm line 77.
04-test_bio_dgram.t ..................... Dubious, test returned 1 (wstat 256, 0

Configuration:

Command line (with current working directory = .):

    perl ./Configure nonstop-nsx_64 --with-rand-seed=rdcpu enable-fips

Perl information:

    perl
    5.30.3 for NSV-D-nonstop_kernel

Enabled features:

    acvp-tests
    apps
    argon2
    aria
    async
    autoalginit
    autoerrinit
    autoload-config
    bf
    blake2
    bulk
    cached-fetch
    camellia
    capieng
    cast
    chacha
    cmac
    cmp
    cms
    comp
    ct
    deprecated
    des
    dgram
    dh
    docs
    dsa
    dso
    dtls
    dynamic-engine
    ec
    ec2m
    ecdh
    ecdsa
    ecx
    egd
    engine
    err
    filenames
    fips
    fips-securitychecks
    gost
    http
    idea
    legacy
    loadereng
    md4
    mdc2
    module
    multiblock
    nextprotoneg
    ocb
    ocsp
    padlockeng
    pic
    pinshared
    poly1305
    posix-io
    psk
    quic
    rc2
    rc4
    rdrand
    rfc3779
    rmd160
    scrypt
    secure-memory
    seed
    shared
    siphash
    siv
    sm2
    sm2-precomp
    sm3
    sm4
    sock
    srp
    srtp
    sse2
    ssl
    ssl-trace
    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
    brotli              [default]        OPENSSL_NO_BROTLI
    brotli-dynamic      [default]        OPENSSL_NO_BROTLI_DYNAMIC
    buildtest-c++       [default]
    winstore            [not-windows]    OPENSSL_NO_WINSTORE
    crypto-mdebug       [default]        OPENSSL_NO_CRYPTO_MDEBUG
    default-thread-pool [cascade]        OPENSSL_NO_DEFAULT_THREAD_POOL
    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-afl            [default]        OPENSSL_NO_FUZZ_AFL
    fuzz-libfuzzer      [default]        OPENSSL_NO_FUZZ_LIBFUZZER
    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
    tfo                 [default]        OPENSSL_NO_TFO
    thread-pool         [cascade]        OPENSSL_NO_THREAD_POOL
    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]        OPENSSL_NO_ZLIB
    zlib-dynamic        [default]        OPENSSL_NO_ZLIB_DYNAMIC
    zstd                [default]        OPENSSL_NO_ZSTD
    zstd-dynamic        [default]        OPENSSL_NO_ZSTD_DYNAMIC
    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", "__NSK_OPTIONAL_TYPES__", "B_ENDIAN" ],
    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",
    multibin => "64",
    multilib => "64",
    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
    ASFLAGS         =
    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

About this issue

  • Original URL
  • State: closed
  • Created 10 months ago
  • Comments: 38 (38 by maintainers)

Commits related to this issue

Most upvoted comments

@mattcaswell Hurrah!

04-test_bio_dgram.t ..
# The results of this test will end up in test-runs/test_bio_dgram
1..1
    # Subtest: ../../test/bio_dgram_test
    1..2
        # Subtest: test_bio_dgram
        1..4
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:120
        # # Testing with AF_INET, local=0
        #
        ok 1 - iteration 1
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:126
        # # Testing with AF_INET6, local=0
        #
        ok 2 - iteration 2
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:120
        # # Testing with AF_INET, local=1
        #
        ok 3 - iteration 3
        # INFO:  @ /home/randall/openssl/test/bio_dgram_test.c:126
        # # Testing with AF_INET6, local=1
        #
        ok 4 - iteration 4
    ok 1 - test_bio_dgram
        # Subtest: test_bio_dgram_pair
        1..3
        ok 5 - iteration 1
        ok 6 - iteration 2
        ok 7 - iteration 3
    ok 2 - test_bio_dgram_pair
../../util/wrap.pl ../../test/bio_dgram_test => 0
ok 1 - running bio_dgram_test
ok
All tests successful.
Files=1, Tests=1,  1 wallclock secs ( 0.01 usr  0.00 sys +  0.63 cusr  0.00 csys =  0.64 CPU)
Result: PASS

There are some considerations on the platform that may apply here. Binding to specific sockets from 0-1024 are restricted to root only. I cannot change that. This applies to both UDP and TCP. I am wondering whether that is the cause of both errors above.

It seems unlikely since the same restrictions apply to Linux.

The failing of the dgram_pair test is curious since that is an in-memory BIO and doesn’t do anything with OS sockets.