Kitura / BlueCryptor

Swift cross-platform crypto library using CommonCrypto/libcrypto
Apache License 2.0
191 stars 46 forks source link

Bug: `swift test` fails on 5.10 #81

Open mman opened 2 months ago

mman commented 2 months ago

As originally discussed in https://github.com/Kitura/BlueCryptor/pull/79#issuecomment-1840848290, the swift test fails on the master branch using the latest couple releases of swift.

Docker swift versions 5.7, 5.8, 5.9, 5.10 on linux/x86_64 fail consistently.

Docker swift 5.7, 5.8, 5.9, 5.10 on linux/arm64 fail consistently.

I was trying to figure out what is happening but have no clue, the underlying C code returns unexpected error.

root@d2f91e491b96:/src# swift --version
Swift version 5.10 (swift-5.10-RELEASE)
Target: aarch64-unknown-linux-gnu
root@d2f91e491b96:/src# swift test     
Building for debugging...
[1/1] Write swift-version-24593BA9C3E375BF.txt
Build complete! (0.06s)
Test Suite 'All tests' started at 2024-07-19 10:55:20.526
Test Suite 'debug.xctest' started at 2024-07-19 10:55:20.526
Test Suite 'CryptorTests' started at 2024-07-19 10:55:20.526
Test Case 'CryptorTests.test_fatalError_keySize' started at 2024-07-19 10:55:20.526
Test Case 'CryptorTests.test_fatalError_keySize' passed (0.001 seconds)
Test Case 'CryptorTests.test_fatalError_AES_CBC_ivSize' started at 2024-07-19 10:55:20.527
Test Case 'CryptorTests.test_fatalError_AES_CBC_ivSize' passed (0.0 seconds)
Test Case 'CryptorTests.test_Cryptor_AES_ECB' started at 2024-07-19 10:55:20.527
Test Case 'CryptorTests.test_Cryptor_AES_ECB' passed (0.001 seconds)
Test Case 'CryptorTests.test_Cryptor_AES_ECB_Padded' started at 2024-07-19 10:55:20.528
Test Case 'CryptorTests.test_Cryptor_AES_ECB_Padded' passed (0.0 seconds)
Test Case 'CryptorTests.test_Cryptor_AES_ECB_2' started at 2024-07-19 10:55:20.528
Test Case 'CryptorTests.test_Cryptor_AES_ECB_2' passed (0.0 seconds)
Test Case 'CryptorTests.test_Cryptor_AES_ECB_Short' started at 2024-07-19 10:55:20.528
Test Case 'CryptorTests.test_Cryptor_AES_ECB_Short' passed (0.0 seconds)
Test Case 'CryptorTests.test_Cryptor_AES_CBC_1' started at 2024-07-19 10:55:20.528
3ad77bb40d7a3660a89ecaf32466ef97
Test Case 'CryptorTests.test_Cryptor_AES_CBC_1' passed (0.0 seconds)
Test Case 'CryptorTests.test_Cryptor_DES_EBC_1' started at 2024-07-19 10:55:20.529
CryptorTests/CryptorTests.swift:409: Fatal error: Unexpectedly found nil while unwrapping an Optional value
*** Signal 5: Backtracing from 0xffff940af1bc...
done ***

*** Program crashed: System trap at 0x0000ffff940af1bc ***

Thread 0 "CryptorPackageT" crashed:
0              0x0000ffff940af1bc closure #1 in closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 236 in libswiftCore.so
 1 [ra]         0x0000ffff940aefa8 closure #1 in closure #1 in _assertionFailure(_:_:file:line:flags:) + 199 in libswiftCore.so
 2 [ra]         0x0000ffff940aee98 closure #1 in _assertionFailure(_:_:file:line:flags:) + 327 in libswiftCore.so
 3 [ra]         0x0000ffff940aea68 _assertionFailure(_:_:file:line:flags:) + 175 in libswiftCore.so
 4 [ra]         0x0000aaaae2130674 CryptorTests.test_Cryptor_DES_EBC_1() + 6339 in CryptorPackageTests.xctest at /src/Tests/CryptorTests/CryptorTests.swift:409:54
 5 [ra]         0x0000aaaae2127790 implicit closure #16 in implicit closure #15 in static CryptorTests.allTests.getter + 43 in CryptorPackageTests.xctest at /src/Tests/CryptorTests/CryptorTests.swift:42:31
 6 [ra] [thunk] 0x0000aaaae2127044 thunk for @escaping @callee_guaranteed () -> (@error @owned Error) + 23 in CryptorPackageTests.xctest at /src/<compiler-generated>
 7 [ra] [thunk] 0x0000aaaae213ee88 partial apply for thunk for @escaping @callee_guaranteed () -> (@error @owned Error) + 27 in CryptorPackageTests.xctest at /src/<compiler-generated>
 8 [ra] [thunk] 0x0000ffff933f673c partial apply for thunk for @escaping @callee_guaranteed () -> (@out (), @error @owned Error) + 19 in libXCTest.so
 9 [ra] [thunk] 0x0000ffff933f6604 partial apply for closure #1 in test<A>(_:) + 67 in libXCTest.so
10 [ra] [thunk] 0x0000ffff933f65b4 partial apply for thunk for @escaping @callee_guaranteed (@guaranteed XCTestCase) -> (@error @owned Error) + 23 in libXCTest.so
11 [ra] [thunk] 0x0000ffff933f6840 thunk for @escaping @callee_guaranteed (@guaranteed XCTestCase) -> (@error @owned Error)partial apply + 11 in libXCTest.so
12 [ra] [thunk] 0x0000ffff933e8c68 partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed XCTestCase) -> (@out (), @error @owned Error) + 39 in libXCTest.so
13 [ra]         0x0000ffff933f4664 XCTestCase.invokeTest() + 367 in libXCTest.so
14 [ra]         0x0000ffff933f42f4 XCTestCase.perform(_:) + 139 in libXCTest.so
15 [ra]         0x0000ffff933f850c XCTest.run() + 163 in libXCTest.so
16 [ra]         0x0000ffff933f6ad0 XCTestSuite.perform(_:) + 155 in libXCTest.so
17 [ra]         0x0000ffff933f850c XCTest.run() + 163 in libXCTest.so
18 [ra]         0x0000ffff933f6ad0 XCTestSuite.perform(_:) + 155 in libXCTest.so
19 [ra]         0x0000ffff933f850c XCTest.run() + 163 in libXCTest.so
20 [ra]         0x0000ffff933f6ad0 XCTestSuite.perform(_:) + 155 in libXCTest.so
21 [ra]         0x0000ffff933f850c XCTest.run() + 163 in libXCTest.so
22 [ra]         0x0000ffff933f3694 XCTMain(_:arguments:observers:) + 947 in libXCTest.so
23 [ra]         0x0000ffff933f3234 XCTMain(_:) + 111 in libXCTest.so
24 [ra]         0x0000aaaae2124cc4 main + 143 in CryptorPackageTests.xctest at /src/Tests/LinuxMain.swift:22:1
25 [ra]         0x0000ffff931973fc <unknown> in libc.so.6
26 [ra]         0x0000ffff931974cc <unknown> in libc.so.6
Registers:

 x0 0x0000ffff94ab7b58  00 1f 46 fd c0 0d 0c 1b 00 00 00 00 1f 06 06 00  ··FýÀ···········
 x1 0x0000000000000000  0
 x2 0x0000000000000000  0
x3 0x0000aaab19e53010  01 00 02 00 03 00 06 00 01 00 00 00 07 00 07 00  ················
x4 0x0000000000000006  6
x5 0x0000aaab19ec26e0  62 3b 5b b3 a1 aa 00 00 8c e4 71 6e 6f 83 27 a4  b;[³¡ª···äqno·'¤
x6 0xa427836f6e71e48c  11828567460929463436
x7 0x656e55203a726f72  7308872842176786290
x8 0x77206c696e20646e  8583980089843147886
x9 0x776e7520656c6968  8605944719952603496
x10 0x72776e7520656c69  8248182691886099561
x11 0x6120676e69707061  6998707544846790753
x12 0x6e6f6974704f206e  7957695015408312430
x13 0x65756c6176206c61  7310868735955332193
x14 0x0000000000000001  1
x15 0x0000ffff945251e8  00 02 00 00 00 00 00 00 98 e7 3a 94 ff ff 00 00  ·········ç:·ÿÿ··
x16 0x0000ffff94530038  d4 db 1f 93 ff ff 00 00 88 f8 08 94 ff ff 00 00  ÔÛ··ÿÿ···ø··ÿÿ··
x17 0x0000ffff931fdbd4  40 07 00 b4 fd 7b bc a9 01 40 00 d1 fd 03 00 91  @··´ý{¼©·@·Ñý···
x18 0x0000000000000001  1
x19 0x0000ffffd0c85ab0  00 5d c8 d0 ff ff 00 00 00 00 00 00 02 00 00 00  ·]ÈÐÿÿ··········
x20 0x0000ffffd0c85eb8  22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e1  "··············á
x21 0x0000000000000000  0
x22 0x0000aaaae21a0bf8  00 00 00 00 00 00 00 00 38 0f 43 93 ff ff 00 00  ········8·C·ÿÿ··
x23 0x0000000000000000  0
x24 0x0000aaab19e6fed0  f8 0b 1a e2 aa aa 00 00 03 00 00 00 0a 00 00 00  ø··âªª··········
x25 0x0000ffff933f8468  ff 83 01 d1 fd 7b 03 a9 f5 23 00 f9 f4 4f 05 a9  ÿ··Ñý{·©õ#·ùôO·©
x26 0x0000000000000025  37
x27 0x0000aaab19e7b018  d0 fe e6 19 ab aa 00 00 90 06 e7 19 ab aa 00 00  Ðþæ·«ª····ç·«ª··
x28 0x0000ffff93430980  00 00 00 00 00 00 00 00 b0 11 43 93 ff ff 00 00  ········°·C·ÿÿ··
 fp 0x0000ffffd0c85930  60 59 c8 d0 ff ff 00 00 a8 ef 0a 94 ff ff 00 00  `YÈÐÿÿ··¨ï··ÿÿ··
lr 0x0000ffff940af1bc  20 00 20 d4 28 00 80 52 29 ba 81 52 4a 00 80 52   · Ô(··R)º·RJ··R
 sp 0x0000ffffd0c85910  18 b0 e7 19 ab aa 00 00 e0 c4 f7 93 ff ff 00 00  ·°ç·«ª··àÄ÷·ÿÿ··
 pc 0x0000ffff940af1bc  20 00 20 d4 28 00 80 52 29 ba 81 52 4a 00 80 52   · Ô(··R)º·RJ··R

Images (18 omitted):
0x0000aaaae2100000–0x0000aaaae2181198 <no build ID>                            CryptorPackageTests.xctest /src/.build/aarch64-unknown-linux-gnu/debug/CryptorPackageTests.xctest
0x0000ffff93170000–0x0000ffff932f7404 3ba44e06b9dc66aeeb2651db4dd015ffaf6e0849 libc.so.6                  /usr/lib/aarch64-linux-gnu/libc.so.6
0x0000ffff933c0000–0x0000ffff9341cf38 <no build ID>                            libXCTest.so               /usr/lib/swift/linux/libXCTest.so
0x0000ffff93f50000–0x0000ffff945073d0 <no build ID>                            libswiftCore.so            /usr/lib/swift/linux/libswiftCore.so

Backtrace took 0.02s
error: Exited with unexpected signal code 5