Skip to content

[AIX] Hanging test_bio_dgram - guidance needed #29292

@makr73

Description

@makr73

Hi *,

I am trying the get the testsuite running on AIX. Continuing now with the following issue. I am running it this way, because the testsuite just hangs without any output ...

[email protected]...:~/tmp/openssl-master $ ./util/wrap.pl ./test/bio_dgram_test
1..2
    # Subtest: test_bio_dgram
    1..4
    # INFO:  @ test/bio_dgram_test.c:120
    # # Testing with AF_INET, local=0
    #
    ok 1 - iteration 1
    # INFO:  @ test/bio_dgram_test.c:126
    # # Testing with AF_INET6, local=0
    #
    ok 2 - iteration 2
    # INFO:  @ test/bio_dgram_test.c:120
    # # Testing with AF_INET, local=1
    #
    # ERROR: (bool) 'do_sendmmsg(b1, tx_msg, 2, 0, &num_processed) == true' failed @ test/bio_dgram_test.c:277
    # false
    # 00000001:error:8000003A:system library:dgram_sendmmsg:Destination address required:crypto/bio/bss_dgram.c:1433:
    # 00000001:error:1000006F:BIO routines:dgram_sendmmsg:local address not available:crypto/bio/bss_dgram.c:1419:
    # 00000001:error:1000006F:BIO routines:dgram_sendmmsg:local address not available:crypto/bio/bss_dgram.c:1425:
    # OPENSSL_TEST_RAND_SEED=1764682240
    not ok 3 - iteration 3
    # INFO:  @ test/bio_dgram_test.c:126
    # # Testing with AF_INET6, local=1
    #

That is all it prints, then it just hangs there...

Digging deeper and doing some printf debugging shows that it stops after receiving 110 of 128 messages:

    # # Testing with AF_INET6, local=1
    #

>>>> sent msgs: 2
>>>> msgs to recv: 2
>>>> msgs to recv: 2
 1 2
>>>> sent msgs: 2
>>>> msgs to recv: 2
 1 2
>>>> sent msgs: 128
>>>> msgs to recv: 128
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

The 111th message never appears.

For testing I also enabled using sendmmsg() and recvmmsg() on AIX in crypto/bio/bss_dgram.c:69. The behavior is the same: It successfully receives the first block of 64 messages, then hangs while waiting for the 2nd block.

Now I wonder what is actually expected from the test? In general this seems to work except for local=1 which gives an error on AF_INET and hangs in AF_INET6. If the implementation of the test is correct, then I would check through bss_dgram.c. Otherwise, I need more context what the test is about to actually test and the expected result. "Try more than it can handle" isn't telling me if it should actually fail or nevertheless succeed...

Also ... the *mmsg()-calls can have a timeout, as it seems. But that isn't utilized in the test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    triaged: bugThe issue/pr is/fixes a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions