Bug 237130

Summary: sys.opencrypto.runtests.main fails on the i386 ^/stable/11 and ^/stable/12 Jenkins jobs when calling ioctl on /dev/crypto with EINVAL
Product: Base System Reporter: Enji Cooper <ngie>
Component: testsAssignee: John-Mark Gurney <jmg>
Status: Closed FIXED    
Severity: Affects Some People CC: lwhsu
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   

Description Enji Cooper freebsd_committer freebsd_triage 2019-04-09 01:07:27 UTC
From https://ci.freebsd.org/job/FreeBSD-stable-12-i386-test/754/testReport/junit/sys.opencrypto/runtests/main/:

Error Message

Returned non-success exit status 1
Standard Output

kern.cryptodevallowsoft: 1 -> 1
Standard Error

Test case metadata
------------------

allowed_architectures is empty
allowed_platforms is empty
description is empty
has_cleanup = false
is_exclusive = false
required_configs is empty
required_disk_space = 0
required_files is empty
required_memory = 0
required_programs is empty
required_user is empty
timeout = 300

Timing information
------------------

Start time: 2019-04-08T21:52:55.997690Z
End time:   2019-04-08T21:52:56.055041Z
Duration:   0.057s

Original stderr
---------------

+ [ ! -d /usr/local/share/nist-kat ]
+ loaded_modules=''
+ trap cleanup_tests EXIT INT TERM
+ kldstat -q -m nexus/aesni
+ kldstat -q -m cryptodev
+ sysctl -e kern.cryptodevallowsoft
+ oldcdas='kern.cryptodevallowsoft=1'
+ sysctl 'kern.cryptodevallowsoft=1'
+ dirname /usr/tests/sys/opencrypto/runtests
+ python /usr/tests/sys/opencrypto/cryptotest.py
EE.EsEEE.EEE
======================================================================
ERROR: test_cbc (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 70, in test_cbc
    self.runCBC(i)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 178, in runCBC
    c = Crypto(cryptodev.CRYPTO_AES_CBC, cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_gcm (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 75, in test_gcm
    self.runGCM(i, 'ENCRYPT')
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 115, in runGCM
    mackey=cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_sha1hmac (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 269, in test_sha1hmac
    self.runSHA1HMAC(i)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 314, in runSHA1HMAC
    crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_xts (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 65, in test_xts
    self.runXTS(i, cryptodev.CRYPTO_AES_XTS)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 211, in runXTS
    c = Crypto(meth, cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_cbc (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 70, in test_cbc
    self.runCBC(i)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 178, in runCBC
    c = Crypto(cryptodev.CRYPTO_AES_CBC, cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_gcm (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 75, in test_gcm
    self.runGCM(i, 'ENCRYPT')
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 115, in runGCM
    mackey=cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_sha1hmac (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 269, in test_sha1hmac
    self.runSHA1HMAC(i)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 314, in runSHA1HMAC
    crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_tdes (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 226, in test_tdes
    self.runTDES(i)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 252, in runTDES
    c = Crypto(cryptodev.CRYPTO_3DES_CBC, cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

======================================================================
ERROR: test_xts (__main__.GendCryptoTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 65, in test_xts
    self.runXTS(i, cryptodev.CRYPTO_AES_XTS)
  File "/usr/tests/sys/opencrypto/cryptotest.py", line 211, in runXTS
    c = Crypto(meth, cipherkey, crid=crid)
  File "/usr/tests/sys/opencrypto/cryptodev.py", line 181, in __init__
    ioctl(_cryptodev, CIOCGSESSION2, s, 1)
IOError: [Errno 22] Invalid argument

----------------------------------------------------------------------
Ran 12 tests in 0.007s

FAILED (errors=9, skipped=1)
+ cleanup_tests
+ trap - EXIT INT TERM
+ set +e
+ echo
+ tr ' ' '\n'
+ sort -r
Comment 1 Enji Cooper freebsd_committer freebsd_triage 2019-04-09 01:18:05 UTC
This happens with the ^/stable/11 i386 job as well.
Comment 2 Li-Wen Hsu freebsd_committer freebsd_triage 2019-07-22 07:12:47 UTC
Fixed in r349872 and MFC'd in r350164.
Comment 3 Li-Wen Hsu freebsd_committer freebsd_triage 2019-07-22 08:39:06 UTC
Also MFC'd to 11 in r350209.