aws / aws/aws-lc

ssl_test segfaults on Alpine Linux Edge ppc64le

Open
#3,210 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
Assembly
Stars
830
Forks
212
Avg merge
2d 22h
Merged PRs (30d)
61

Description

### Problem:

I'm observing a segmentation fault when running the `ssl_test` unit test on Alpine Linux ppc64le.

#### Relevant details
AWS-LC commit: 1.72.1

System information: for linux, below info can be collected by running `uname -srvmp`
* CPU architecture: ppc64le
* CPU name: IBM POWER8
* OS: Alpine Linux Edge

Note that I'm unable to reproduce this on Fedora 44. The issue is probably specific to aws-lc with musl.
Running `ssl_test` inside of gdb, I see the following backtrace:
```
(gdb) bt
#0 get_meta (p=p@entry=0x7ffff7573d30 "") at src/malloc/mallocng/meta.h:141
#1 0x00007ffff7f4ce60 in __libc_free (p=0x7ffff7573d30) at src/malloc/mallocng/free.c:105
#2 0x00007ffff7f4c034 in free (p=) at src/malloc/free.c:5
#3 0x00007ffff7c4028c in OPENSSL_free () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#4 0x00007ffff7c5dd1c in OPENSSL_sk_free () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#5 0x00007ffff7c5dd70 in OPENSSL_sk_pop_free_ex () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#6 0x00007ffff7c81d3c in local_sk_X509_NAME_ENTRY_pop_free () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#7 0x00007ffff7c81a3c in sk_X509_NAME_ENTRY_call_free_func () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#8 0x00007ffff7c5dda4 in OPENSSL_sk_pop_free_ex () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#9 0x00007ffff7c81f64 in x509_name_canon () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#10 0x00007ffff7c82594 in x509_name_ex_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#11 0x00007ffff7c09430 in asn1_item_ex_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#12 0x00007ffff7c09d2c in asn1_template_noexp_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#13 0x00007ffff7c0991c in asn1_item_ex_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#14 0x00007ffff7c09d2c in asn1_template_noexp_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#15 0x00007ffff7c0991c in asn1_item_ex_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#16 0x00007ffff7c09fb4 in ASN1_item_d2i () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#17 0x00007ffff7c837c8 in d2i_X509 () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#18 0x00007ffff7c83a78 in X509_parse_from_buffer () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/crypto/libcrypto.so
#19 0x00007ffff7e88ae8 in bssl::ssl_crypto_x509_session_cache_objects(ssl_session_st*) () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/libssl.so
#20 0x00007ffff7e5d8fc in bssl::ssl_client_handshake(bssl::SSL_HANDSHAKE*) () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/libssl.so
#21 0x00007ffff7e5b1ec in bssl::ssl_run_handshake(bssl::SSL_HANDSHAKE*, bool*) () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/libssl.so
#22 0x00007ffff7e7b204 in SSL_do_handshake () from /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/libssl.so
#23 0x000000010006c78c in bssl::CompleteHandshakes(ssl_st*, ssl_st*) ()
#24 0x000000010006d790 in bssl::ConnectClientAndServer(std::unique_ptr*, std::unique_ptr*, ssl_ctx_st*, ssl_ctx_st*, bssl::ClientConfig const&, bool) ()
#25 0x0000000100088644 in bssl::SSLVersionTest_SessionCacheThreads_Test::TestBody()::{lambda(ssl_session_st*)#1}::operator()(ssl_session_st*) const [clone .isra.0] ()
#26 0x00000001000888c0 in std::thread::_State_impl > >::_M_run() ()
#27 0x00007ffff7985070 in ?? () from /lib/libstdc++.so.6
#28 0x00007ffff7f9973c in start (p=0x7ffff755fad8) at src/thread/pthread_create.c:207
#29 0x00007ffff7faacac in __clone () at src/thread/powerpc64/clone.s:44
```

Build log:
* The log tells compiler and version. It's available when building awslc with CMake.

Expand me

```text
-- Go compiler 1.26.2 found
-- SET_LIB_SONAME: 0
-- COHABITANT_HEADERS: 0
-- INSTALL_OPENSSL_SHIM: 1
-- The C compiler identification is GNU 15.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Entropy source configured: Dynamic (default: CPU Jitter)
-- The CXX compiler identification is GNU 15.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Perl: /usr/bin/perl (found version "5.42.2")
-- Checking for module 'libunwind-generic'
-- Package 'libunwind-generic' not found
libunwind not found. Disabling unwind tests.
-- Setting CMAKE_C_STANDARD=11
-- Performing Test HAVE_C_FLAG__Wno_cast_function_type
-- Performing Test HAVE_C_FLAG__Wno_cast_function_type - Success
-- Compiler supports '-Wno-cast-function-type', adding to CMAKE_C_FLAGS
-- Performing Test HAVE_C_FLAG__Wno_free_nonheap_object
-- Performing Test HAVE_C_FLAG__Wno_free_nonheap_object - Success
-- Compiler supports '-Wno-free-nonheap-object', adding to C_CXX_FLAGS
-- Performing Test HAVE_C_FLAG__Wmissing_braces
-- Performing Test HAVE_C_FLAG__Wmissing_braces - Success
-- Compiler supports '-Wmissing-braces', adding to C_CXX_FLAGS
-- Performing Test HAVE_C_FLAG__Wstring_concatenation
-- Performing Test HAVE_C_FLAG__Wstring_concatenation - Failed
-- Performing Test HAVE_C_FLAG__Wimplicit_fallthrough
-- Performing Test HAVE_C_FLAG__Wimplicit_fallthrough - Success
-- Compiler supports '-Wimplicit-fallthrough', adding to C_CXX_FLAGS
-- linux_random_h.c probe is positive, enabling HAVE_LINUX_RANDOM_H
-- stdalign_check.c probe is positive, enabling AWS_LC_STDALIGN_AVAILABLE
-- builtin_swap_check.c probe is positive, enabling AWS_LC_BUILTIN_SWAP_SUPPORTED
-- Performing Test HAVE_C_FLAG__Wshadow
-- Performing Test HAVE_C_FLAG__Wshadow - Success
-- Compiler supports '-Wshadow', adding to C_CXX_FLAGS
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- The ASM compiler identification is GNU
-- Found assembler: /usr/lib/ccache/bin/cc
-- Generating test executable mem_test.
-- Generating test executable mem_set_test.
-- Generating test executable rand_isolated_test.
-- Generating test executable tree_drbg_jitter_entropy_isolated_test.
-- Generating test executable dynamic_loading_test.
-- Generating test executable rwlock_static_init.
-- Installing: /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/tool-openssl/c_rehash
-- Installing: /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/tool-openssl/c_rehash_test
-- Configuring done (1.6s)
-- Generating done (0.2s)
-- Build files have been written to: /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build
[snip to not hit issue description limit]
[1/2] cd /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1 && /usr/bin/cmake -E echo Running\ SSL\ tests && cd ssl/test/runner && /usr/bin/go test -timeout 10m -shim-path /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/test/bssl_shim -handshaker-path /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build/ssl/test/handshaker -ssl-transfer-test-file /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/ssl/test/runner/ssl_transfer/test_case_names.txt
Running SSL tests
go: downloading golang.org/x/crypto v0.31.0
0/0/960/1000/9323
0/0/960/1000/9323
0/0/961/1000/9323
0/0/1960/2000/9323
0/0/1960/2000/9323
0/0/1960/2000/9323
0/0/1961/2000/9323
0/0/2960/3000/9323
0/0/2960/3000/9323
0/0/2961/3000/9323
0/0/3960/4000/9323
0/0/3960/4000/9323
0/0/3961/4000/9323
0/0/4960/5000/9323
0/0/4961/5000/9323
0/0/5960/6000/9323
0/0/5960/6000/9323
0/0/5961/6000/9323
0/0/6960/7000/9323
0/0/6960/7000/9323
0/0/6960/7000/9323
0/0/6961/7000/9323
0/0/7960/8000/9323
0/0/7960/8000/9323
0/0/7961/8000/9323
0/0/8960/9000/9323
0/0/8960/9000/9323
0/0/8960/9000/9323
0/0/8961/9000/9323
0/0/9323/9323/9323

PASS
ok github.com/aws/aws-lc/ssl/test/runner 139.927s
[2/2] cd /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1 && /usr/bin/cmake -E echo && /usr/bin/cmake -E echo Running\ Go\ tests && /usr/bin/go test ./ssl/test/runner/hpke ./util/ar && /usr/bin/cmake -E echo && /usr/bin/cmake -E echo Running\ unit\ tests && /usr/bin/go run util/all_tests.go -build-dir /home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/build

Running Go tests
ok github.com/aws/aws-lc/ssl/test/runner/hpke 0.133s
ok github.com/aws/aws-lc/util/ar 0.003s

Running unit tests
[6s] crypto/crypto_test [shard 20/40]
[6s] crypto/crypto_test [shard 40/40]
[6s] crypto/crypto_test [shard 19/40]
[0s] crypto/urandom_test
[0s] crypto/crypto_test --gtest_also_run_disabled_tests --gtest_filter=RSATest.DISABLED_BlindingCacheConcurrency
[0s] crypto/crypto_test --gtest_also_run_disabled_tests --gtest_filter=VmUbeGenerationTest.*
[0s] crypto/crypto_test --gtest_filter=RandTest.*:-RandTest.Fork (custom environment)
[0s] crypto/crypto_test --gtest_filter=RandTest.* (custom environment)
[0s] crypto/crypto_test --gtest_filter=ForkDetect.* (custom environment)
[7s] crypto/crypto_test [shard 32/40]
[7s] crypto/crypto_test [shard 17/40]
[8s] crypto/crypto_test [shard 18/40]
[10s] crypto/crypto_test [shard 38/40]
[10s] crypto/crypto_test [shard 30/40]
[5s] ssl/ssl_test [shard 2/40]
[11s] crypto/crypto_test [shard 13/40]
[11s] crypto/crypto_test [shard 25/40]
[5s] ssl/ssl_test [shard 1/40]
[12s] crypto/crypto_test [shard 4/40]
Note: This is test shard 6 of 40.
[==========] Running 65 tests from 9 test suites.
[----------] Global test environment set-up.
[----------] 1 test from SpanTest
[ RUN ] SpanTest.MakeConstSpan
[ OK ] SpanTest.MakeConstSpan (0 ms)
[----------] 1 test from SpanTest (0 ms total)

[----------] 2 tests from SSLTest
[ RUN ] SSLTest.SSLFileTests
[ OK ] SSLTest.SSLFileTests (315 ms)
[ RUN ] SSLTest.NoCiphersAvailable
[ OK ] SSLTest.NoCiphersAvailable (0 ms)
[----------] 2 tests from SSLTest (315 ms total)

[----------] 1 test from SSLBufferSizeFailureTest
[ RUN ] SSLBufferSizeFailureTest.SerDeLargeBuffer
[ OK ] SSLBufferSizeFailureTest.SerDeLargeBuffer (1 ms)
[----------] 1 test from SSLBufferSizeFailureTest (1 ms total)

[----------] 2 tests from MultipleCertificateSlotAllTest/MultipleCertificateSlotTest
[ RUN ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.CertificateSlotIndex/10
[ OK ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.CertificateSlotIndex/10 (11 ms)
[ RUN ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.MissingCertificate/2
/home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/ssl/ssl_test.cc:1884: Skipped

[ SKIPPED ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.MissingCertificate/2 (0 ms)
[----------] 2 tests from MultipleCertificateSlotAllTest/MultipleCertificateSlotTest (11 ms total)

[----------] 1 test from SuiteTests/MultiTransferReadWriteTest
[ RUN ] SuiteTests/MultiTransferReadWriteTest.SuiteTransfers/18
[ OK ] SuiteTests/MultiTransferReadWriteTest.SuiteTransfers/18 (14 ms)
[----------] 1 test from SuiteTests/MultiTransferReadWriteTest (15 ms total)

[----------] 1 test from TicketAEADMethodTests/TicketAEADMethodTest
[ RUN ] TicketAEADMethodTests/TicketAEADMethodTest.Resume/TLS12_1Retries_OK_SSLTransfer
[ OK ] TicketAEADMethodTests/TicketAEADMethodTest.Resume/TLS12_1Retries_OK_SSLTransfer (11 ms)
[----------] 1 test from TicketAEADMethodTests/TicketAEADMethodTest (12 ms total)

[----------] 1 test from InvalidTransferEncodings/InvalidTransferEncoding
[ RUN ] InvalidTransferEncodings/InvalidTransferEncoding.FailsDeserialization/0
[ OK ] InvalidTransferEncodings/InvalidTransferEncoding.FailsDeserialization/0 (1 ms)
[----------] 1 test from InvalidTransferEncodings/InvalidTransferEncoding (1 ms total)

[----------] 55 tests from WithVersion/SSLVersionTest
[ RUN ] WithVersion/SSLVersionTest.SequenceNumber/DTLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.SequenceNumber/DTLS1_BufferSize_512 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.OneSidedShutdown/TLS1_3_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.OneSidedShutdown/TLS1_3_BufferSize_0 (13 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterShutdown/TLS1_1_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.WriteAfterShutdown/TLS1_1_BufferSize_65535 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_BufferSize_512 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_3_SSL_TRANSFER_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_3_SSL_TRANSFER_BufferSize_0 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterHandshakeSentFatalAlert/DTLS1_2_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.WriteAfterHandshakeSentFatalAlert/DTLS1_2_BufferSize_65535 (2 ms)
[ RUN ] WithVersion/SSLVersionTest.GetPeerCertificate/DTLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.GetPeerCertificate/DTLS1_BufferSize_512 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.NoPeerCertificate/TLS1_3_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.NoPeerCertificate/TLS1_3_BufferSize_0 (13 ms)
[ RUN ] WithVersion/SSLVersionTest.RetainOnlySHA256OfCerts/TLS1_1_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.RetainOnlySHA256OfCerts/TLS1_1_BufferSize_65535 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_BufferSize_512 (34 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_3_SSL_TRANSFER_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_3_SSL_TRANSFER_BufferSize_0 (49 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionTimeout/DTLS1_2_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.SessionTimeout/DTLS1_2_BufferSize_65535 (66 ms)
[ RUN ] WithVersion/SSLVersionTest.DefaultTicketKeyInitialization/DTLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.DefaultTicketKeyInitialization/DTLS1_BufferSize_512 (2 ms)
[ RUN ] WithVersion/SSLVersionTest.DefaultTicketKeyRotation/TLS1_3_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.DefaultTicketKeyRotation/TLS1_3_BufferSize_0 (64 ms)
[ RUN ] WithVersion/SSLVersionTest.SNICallback/TLS1_1_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.SNICallback/TLS1_1_BufferSize_65535 (10 ms)
[ RUN ] WithVersion/SSLVersionTest.Version/TLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.Version/TLS1_BufferSize_512 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.Version/TLS1_3_SSL_TRANSFER_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.Version/TLS1_3_SSL_TRANSFER_BufferSize_0 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.ALPNCipherAvailable/DTLS1_2_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.ALPNCipherAvailable/DTLS1_2_BufferSize_65535 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClearSessionResumption/DTLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.SSLClearSessionResumption/DTLS1_BufferSize_512 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClearFailsWithShedding/TLS1_3_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.SSLClearFailsWithShedding/TLS1_3_BufferSize_0 (22 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClientCiphers/TLS1_1_BufferSize_65535
[ OK ] WithVersion/SSLVersionTest.SSLClientCiphers/TLS1_1_BufferSize_65535 (18 ms)
[ RUN ] WithVersion/SSLVersionTest.AutoChain/TLS1_BufferSize_512
[ OK ] WithVersion/SSLVersionTest.AutoChain/TLS1_BufferSize_512 (127 ms)
[ RUN ] WithVersion/SSLVersionTest.AutoChain/TLS1_3_SSL_TRANSFER_BufferSize_0
[ OK ] WithVersion/SSLVersionTest.AutoChain/TLS1_3_SSL_TRANSFER_BufferSize_0 (140 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionCacheThreads/DTLS1_2_BufferSize_65535
[2s] ssl/ssl_test [shard 6/40]
ssl/ssl_test failed to complete: signal: segmentation fault
[5s] ssl/ssl_test [shard 3/40]
Note: This is test shard 9 of 40.
[==========] Running 65 tests from 8 test suites.
[----------] Global test environment set-up.
[----------] 3 tests from SSLTest
[ RUN ] SSLTest.AddClientCA
[ OK ] SSLTest.AddClientCA (293 ms)
[ RUN ] SSLTest.CertCompression
[ OK ] SSLTest.CertCompression (14 ms)
[ RUN ] SSLTest.HandoffDeclined
[ OK ] SSLTest.HandoffDeclined (12 ms)
[----------] 3 tests from SSLTest (319 ms total)

[----------] 1 test from QUICMethodTest
[ RUN ] QUICMethodTest.HelloRetryRequest
[ OK ] QUICMethodTest.HelloRetryRequest (11 ms)
[----------] 1 test from QUICMethodTest (11 ms total)

[----------] 2 tests from MultipleCertificateSlotAllTest/MultipleCertificateSlotTest
[ RUN ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.SetChainAndKeyIndex/1
[ OK ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.SetChainAndKeyIndex/1 (8 ms)
[ RUN ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.MissingCertificate/5
/home/aelin/aports/community/aws-lc/src/aws-lc-1.72.1/ssl/ssl_test.cc:1884: Skipped

[ SKIPPED ] MultipleCertificateSlotAllTest/MultipleCertificateSlotTest.MissingCertificate/5 (0 ms)
[----------] 2 tests from MultipleCertificateSlotAllTest/MultipleCertificateSlotTest (8 ms total)

[----------] 1 test from BadKemKeyShareOfferTests/BadKemKeyShareOfferTest
[ RUN ] BadKemKeyShareOfferTests/BadKemKeyShareOfferTest.BadKemKeyShareOffers/0
[ OK ] BadKemKeyShareOfferTests/BadKemKeyShareOfferTest.BadKemKeyShareOffers/0 (1 ms)
[----------] 1 test from BadKemKeyShareOfferTests/BadKemKeyShareOfferTest (1 ms total)

[----------] 1 test from TicketAEADMethodTests/TicketAEADMethodTest
[ RUN ] TicketAEADMethodTests/TicketAEADMethodTest.Resume/TLS12_1Retries_SealFail
Server error: SSL
[ OK ] TicketAEADMethodTests/TicketAEADMethodTest.Resume/TLS12_1Retries_SealFail (10 ms)
[----------] 1 test from TicketAEADMethodTests/TicketAEADMethodTest (10 ms total)

[----------] 1 test from InvalidTransferEncodings/InvalidTransferEncoding
[ RUN ] InvalidTransferEncodings/InvalidTransferEncoding.FailsDeserialization/3
[ OK ] InvalidTransferEncodings/InvalidTransferEncoding.FailsDeserialization/3 (1 ms)
[----------] 1 test from InvalidTransferEncodings/InvalidTransferEncoding (1 ms total)

[----------] 55 tests from WithVersion/SSLVersionTest
[ RUN ] WithVersion/SSLVersionTest.SequenceNumber/DTLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.SequenceNumber/DTLS1_BufferSize_131072 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.OneSidedShutdown/TLS1_3_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.OneSidedShutdown/TLS1_3_BufferSize_8192 (13 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterShutdown/TLS1_2_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.WriteAfterShutdown/TLS1_2_BufferSize_128 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_BufferSize_131072 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_3_SSL_TRANSFER_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.WriteAfterReadSentFatalAlert/TLS1_3_SSL_TRANSFER_BufferSize_8192 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.WriteAfterHandshakeSentFatalAlert/TLS1_2_SSL_TRANSFER_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.WriteAfterHandshakeSentFatalAlert/TLS1_2_SSL_TRANSFER_BufferSize_128 (2 ms)
[ RUN ] WithVersion/SSLVersionTest.GetPeerCertificate/DTLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.GetPeerCertificate/DTLS1_BufferSize_131072 (15 ms)
[ RUN ] WithVersion/SSLVersionTest.NoPeerCertificate/TLS1_3_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.NoPeerCertificate/TLS1_3_BufferSize_8192 (13 ms)
[ RUN ] WithVersion/SSLVersionTest.RetainOnlySHA256OfCerts/TLS1_2_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.RetainOnlySHA256OfCerts/TLS1_2_BufferSize_128 (14 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_BufferSize_131072 (35 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_3_SSL_TRANSFER_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.SessionIDContext/TLS1_3_SSL_TRANSFER_BufferSize_8192 (49 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionTimeout/TLS1_2_SSL_TRANSFER_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.SessionTimeout/TLS1_2_SSL_TRANSFER_BufferSize_128 (66 ms)
[ RUN ] WithVersion/SSLVersionTest.DefaultTicketKeyInitialization/DTLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.DefaultTicketKeyInitialization/DTLS1_BufferSize_131072 (2 ms)
[ RUN ] WithVersion/SSLVersionTest.DefaultTicketKeyRotation/TLS1_3_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.DefaultTicketKeyRotation/TLS1_3_BufferSize_8192 (68 ms)
[ RUN ] WithVersion/SSLVersionTest.SNICallback/TLS1_2_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.SNICallback/TLS1_2_BufferSize_128 (9 ms)
[ RUN ] WithVersion/SSLVersionTest.Version/TLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.Version/TLS1_BufferSize_131072 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.Version/TLS1_3_SSL_TRANSFER_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.Version/TLS1_3_SSL_TRANSFER_BufferSize_8192 (13 ms)
[ RUN ] WithVersion/SSLVersionTest.ALPNCipherAvailable/TLS1_2_SSL_TRANSFER_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.ALPNCipherAvailable/TLS1_2_SSL_TRANSFER_BufferSize_128 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClearSessionResumption/DTLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.SSLClearSessionResumption/DTLS1_BufferSize_131072 (11 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClearFailsWithShedding/TLS1_3_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.SSLClearFailsWithShedding/TLS1_3_BufferSize_8192 (22 ms)
[ RUN ] WithVersion/SSLVersionTest.SSLClientCiphers/TLS1_2_BufferSize_128
[ OK ] WithVersion/SSLVersionTest.SSLClientCiphers/TLS1_2_BufferSize_128 (27 ms)
[ RUN ] WithVersion/SSLVersionTest.AutoChain/TLS1_BufferSize_131072
[ OK ] WithVersion/SSLVersionTest.AutoChain/TLS1_BufferSize_131072 (175 ms)
[ RUN ] WithVersion/SSLVersionTest.AutoChain/TLS1_3_SSL_TRANSFER_BufferSize_8192
[ OK ] WithVersion/SSLVersionTest.AutoChain/TLS1_3_SSL_TRANSFER_BufferSize_8192 (140 ms)
[ RUN ] WithVersion/SSLVersionTest.SessionCacheThreads/TLS1_2_SSL_TRANSFER_BufferSize_128
[2s] ssl/ssl_test [shard 9/40]
ssl/ssl_test failed to complete: signal: segmentation fault
[5s] ssl/ssl_test [shard 4/40]
[14s] crypto/crypto_test [shard 14/40]
[6s] ssl/ssl_test [shard 5/40]
[14s] crypto/crypto_test [shard 29/40]
[14s] crypto/crypto_test [shard 36/40]
[14s] crypto/crypto_test [shard 2/40]
[14s] crypto/crypto_test [shard 15/40]
[15s] crypto/crypto_test [shard 16/40]
[15s] crypto/crypto_test [shard 31/40]
[5s] ssl/ssl_test [shard 7/40]
[16s] crypto/crypto_test [shard 33/40]
[16s] crypto/crypto_test [shard 10/40]
[6s] ssl/ssl_test [shard 8/40]
[6s] ssl/ssl_test [shard 10/40]
[6s] ssl/ssl_test [shard 11/40]
[6s] ssl/ssl_test [shard 14/40]
[18s] crypto/crypto_test [shard 34/40]
[5s] ssl/ssl_test [shard 16/40]
[6s] ssl/ssl_test [shard 15/40]
[19s] crypto/crypto_test [shard 12/40]
[5s] ssl/ssl_test [shard 19/40]
[19s] crypto/crypto_test [shard 26/40]
[20s] crypto/crypto_test [shard 39/40]
[6s] ssl/ssl_test [shard 18/40]
[6s] ssl/ssl_test [shard 21/40]
[9s] ssl/ssl_test [shard 12/40]
[0s] crypto/mem_test
[0s] crypto/mem_set_test
[6s] ssl/ssl_test [shard 20/40]
[7s] ssl/ssl_test [shard 17/40]
[0s] crypto/rand_isolated_test
[3s] ssl/ssl_test [shard 30/40]
[6s] ssl/ssl_test [shard 22/40]
[0s] crypto/dynamic_loading_test
[3s] ssl/ssl_test [shard 31/40]
[0s] crypto/rwlock_static_init
[9s] ssl/ssl_test [shard 13/40]
[3s] ssl/ssl_test [shard 33/40]
[3s] ssl/ssl_test [shard 32/40]
[2s] ssl/ssl_test [shard 34/40]
[6s] ssl/ssl_test [shard 24/40]
[6s] ssl/ssl_test [shard 25/40]
[5s] ssl/ssl_test [shard 27/40]
[5s] ssl/ssl_test [shard 28/40]
[7s] ssl/ssl_test [shard 23/40]
[2s] ssl/ssl_test [shard 35/40]
[6s] ssl/ssl_test [shard 26/40]
[22s] crypto/crypto_test [shard 8/40]
[7s] ssl/ssl_test [shard 29/40]
[5s] ssl/ssl_test [shard 36/40]
[5s] ssl/ssl_test [shard 37/40]
[5s] ssl/ssl_test [shard 38/40]
[5s] ssl/ssl_test [shard 39/40]
[5s] ssl/ssl_test [shard 40/40]
[4s] tool-openssl/tool_openssl_test [shard 18/40]
[7s] crypto/tree_drbg_jitter_entropy_isolated_test
[28s] crypto/crypto_test [shard 22/40]
[29s] crypto/crypto_test [shard 6/40]
[31s] crypto/crypto_test [shard 24/40]
[6s] tool-openssl/tool_openssl_test [shard 20/40]
[7s] tool-openssl/tool_openssl_test [shard 19/40]
[10s] tool-openssl/tool_openssl_test [shard 16/40]
[32s] crypto/crypto_test [shard 28/40]
[13s] tool-openssl/tool_openssl_test [shard 1/40]
[34s] crypto/crypto_test [shard 11/40]
[13s] tool-openssl/tool_openssl_test [shard 14/40]
[5s] tool-openssl/tool_openssl_test [shard 27/40]
[10s] tool-openssl/tool_openssl_test [shard 21/40]
[14s] tool-openssl/tool_openssl_test [shard 8/40]
[36s] crypto/crypto_test [shard 35/40]
[15s] tool-openssl/tool_openssl_test [shard 9/40]
[14s] tool-openssl/tool_openssl_test [shard 13/40]
[15s] tool-openssl/tool_openssl_test [shard 10/40]
[16s] tool-openssl/tool_openssl_test [shard 4/40]
[15s] tool-openssl/tool_openssl_test [shard 12/40]
[17s] tool-openssl/tool_openssl_test [shard 6/40]
[38s] crypto/crypto_test [shard 5/40]
[18s] tool-openssl/tool_openssl_test [shard 3/40]
[11s] tool-openssl/tool_openssl_test [shard 24/40]
[17s] tool-openssl/tool_openssl_test [shard 15/40]
[40s] crypto/crypto_test [shard 21/40]
[13s] tool-openssl/tool_openssl_test [shard 25/40]
[12s] tool-openssl/tool_openssl_test [shard 26/40]
[20s] tool-openssl/tool_openssl_test [shard 7/40]
[20s] tool-openssl/tool_openssl_test [shard 2/40]
[41s] crypto/crypto_test [shard 37/40]
[21s] tool-openssl/tool_openssl_test [shard 11/40]
[22s] tool-openssl/tool_openssl_test [shard 5/40]
[13s] tool-openssl/tool_openssl_test [shard 28/40]
[12s] tool-openssl/tool_openssl_test [shard 32/40]
[20s] tool-openssl/tool_openssl_test [shard 22/40]
[11s] tool-openssl/tool_openssl_test [shard 35/40]
[12s] tool-openssl/tool_openssl_test [shard 33/40]
[11s] tool-openssl/tool_openssl_test [shard 36/40]
[11s] tool-openssl/tool_openssl_test [shard 40/40]
[15s] tool-openssl/tool_openssl_test [shard 30/40]
[13s] tool-openssl/tool_openssl_test [shard 34/40]
[15s] tool-openssl/tool_openssl_test [shard 31/40]
[16s] tool-openssl/tool_openssl_test [shard 29/40]
[12s] tool-openssl/tool_openssl_test [shard 37/40]
[47s] crypto/crypto_test [shard 27/40]
[12s] tool-openssl/tool_openssl_test [shard 39/40]
[27s] tool-openssl/tool_openssl_test [shard 17/40]
[25s] tool-openssl/tool_openssl_test [shard 23/40]
[50s] crypto/crypto_test [shard 7/40]
[50s] crypto/crypto_test [shard 1/40]
[51s] crypto/crypto_test [shard 23/40]
[52s] crypto/crypto_test [shard 3/40]
[21s] tool-openssl/tool_openssl_test [shard 38/40]
[1m1s] crypto/crypto_test [shard 9/40]
[1m10s] crypto/crypto_test --gtest_also_run_disabled_tests --gtest_filter=BNTest.DISABLED_WycheproofPrimality

2 of 27 tests failed:
ssl/ssl_test [shard 6/40]
ssl/ssl_test [shard 9/40]

To reproduce this failure locally, run with:
AWS_LC_NUM_TEST_WORKERS=40 go run util/all_tests.go -build-dir

To run the failing shard directly:
GTEST_TOTAL_SHARDS=40 GTEST_SHARD_INDEX=5 .//ssl/ssl_test
exit status 1
```

Contributor guide

Open the contributing guide

Research direction

Reproduce ssl_test on Alpine Linux Edge ppc64le and compare it with Fedora 44, using the reported gdb backtrace as the starting point. Inspect the path through x509_name_canon and X509_parse_from_buffer, including ssl/ssl_test.cc and the session-cache test; done means the test no longer segfaults and the relevant test coverage passes on the affected environment.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, go, linux
Domain
operating-systems, security, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.