The nightyli CI build fails because the nvme create-ns sometimes fails.
last good: https://github.com/linux-nvme/nvme-cli/actions/runs/23993741402
first broken: https://github.com/linux-nvme/nvme-cli/actions/runs/24018026373
with extensive logging: https://github.com/linux-nvme/nvme-cli/actions/runs/24180791444
Note this against the some nvme-cli version, so we can rule out changes in nvme-cli which are causing this. And as far I can there wasn't many changes in the kernel. Anyway I don't know what is causing it.
The failure looks like this:
=================================== 62/81 ====================================
test: nvme-cli - nvme_error_log_test
start time: 09:20:37
duration: 3.74s
result: exit status 0
command: MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 PATH=/nvme-cli/.build-ci:/usr/bin:/usr/sbin MALLOC_PERTURB_=99 MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /usr/bin/python3 /nvme-cli/tests/tap_runner.py --start-dir /nvme-cli/tests nvme_error_log_test
----------------------------------- stdout -----------------------------------
TAP version 13
1..1
# Using nvme binary '/nvme-cli/.build-ci/nvme'
...
# /nvme-cli/.build-ci/nvme create-ns /dev/nvme1 --nsze=1875385008 --ncap=1875385008 --flbas=0 --dps=0 --verbose --output-format=json
not ok 1 - test_get_error_log (TestNVMeErrorLogCmd)
----------------------------------- stderr -----------------------------------
---
traceback: |
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib/python3.13/unittest/case.py", line 647, in run
self._callSetUp()
~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/unittest/case.py", line 603, in _callSetUp
self.setUp()
~~~~~~~~~~^^
File "/nvme-cli/tests/nvme_error_log_test.py", line 42, in setUp
super().setUp()
~~~~~~~~~~~~~^^
File "/nvme-cli/tests/nvme_test.py", line 90, in setUp
self.create_and_attach_default_ns()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/nvme-cli/tests/nvme_test.py", line 125, in create_and_attach_default_ns
self.assertEqual(err, 0)
~~~~~~~~~~~~~~~~^^^^^^^^
AssertionError: 1 != 0
...
==============================================================================
but sometimes during the same run:
=================================== 80/81 ====================================
test: nvme-cli - nvme_create_max_ns_test
start time: 09:20:36
duration: 14.09s
result: exit status 0
command: MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MALLOC_PERTURB_=104 PATH=/nvme-cli/.build-ci:/usr/bin:/usr/sbin MESON_TEST_ITERATION=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 /usr/bin/python3 /nvme-cli/tests/tap_runner.py --start-dir /nvme-cli/tests nvme_create_max_ns_test
----------------------------------- stdout -----------------------------------
TAP version 13
1..1
# Using nvme binary '/nvme-cli/.build-ci/nvme'
...
# /nvme-cli/.build-ci/nvme create-ns /dev/nvme1 --nsze=1875385008 --ncap=1875385008 --flbas=0 --dps=0 --verbose --output-format=json
# {
# "create-ns":"success",
# "nsid":"1"
# }
#
# /nvme-cli/.build-ci/nvme id-ns /dev/nvme1 --namespace-id=1
# ##### Attaching 1
# /nvme-cli/.build-ci/nvme attach-ns /dev/nvme1 --namespace-id=1 --controllers=0 --verbose
# ##### Running IOs in 1
# /nvme-cli/.build-ci/nvme id-ns /dev/nvme1n1 --output-format=json
# {
# "nsze":7325728,
# "ncap":7325728,
...
# ##### Creating 2
# /nvme-cli/.build-ci/nvme create-ns /dev/nvme1 --nsze=7325722 --ncap=7325722 --flbas=0 --dps=0 --verbose --output-format=json
# {
# "create-ns":"success",
# "nsid":"2"
# }
#
# /nvme-cli/.build-ci/nvme id-ns /dev/nvme1 --namespace-id=2
# ##### Attaching 2
# /nvme-cli/.build-ci/nvme attach-ns /dev/nvme1 --namespace-id=2 --controllers=0 --verbose
not ok 1 - test_attach_detach_ns (TestNVMeCreateMaxNS)
# /nvme-cli/.build-ci/nvme create-ns /dev/nvme1 --nsze=7325722 --ncap=7325722 --flbas=0 --dps=0 --verbose --output-format=json
not ok 2 - test_attach_detach_ns (TestNVMeCreateMaxNS)
----------------------------------- stderr -----------------------------------
---
traceback: |
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib/python3.13/unittest/case.py", line 651, in run
self._callTestMethod(testMethod)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/usr/lib/python3.13/unittest/case.py", line 606, in _callTestMethod
if method() is not None:
~~~~~~^^
File "/nvme-cli/tests/nvme_create_max_ns_test.py", line 98, in test_attach_detach_ns
self.assertEqual(self.attach_ns(self.ctrl_id, nsid), 0)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 1 != 0
...
---
traceback: |
Traceback (most recent call last):
File "/usr/lib/python3.13/unittest/case.py", line 58, in testPartExecutor
yield
File "/usr/lib/python3.13/unittest/case.py", line 654, in run
self._callTearDown()
~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3.13/unittest/case.py", line 611, in _callTearDown
self.tearDown()
~~~~~~~~~~~~~^^
File "/nvme-cli/tests/nvme_create_max_ns_test.py", line 78, in tearDown
self.assertEqual(self.create_and_validate_ns(self.default_nsid,
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.nsze,
^^^^^^^^^^
self.ncap,
^^^^^^^^^^
self.flbas,
^^^^^^^^^^^
self.dps), 0)
^^^^^^^^^^^^^
AssertionError: 1 != 0
...
==============================================================================
The nightyli CI build fails because the
nvme create-nssometimes fails.last good: https://github.com/linux-nvme/nvme-cli/actions/runs/23993741402
first broken: https://github.com/linux-nvme/nvme-cli/actions/runs/24018026373
with extensive logging: https://github.com/linux-nvme/nvme-cli/actions/runs/24180791444
Note this against the some nvme-cli version, so we can rule out changes in nvme-cli which are causing this. And as far I can there wasn't many changes in the kernel. Anyway I don't know what is causing it.
The failure looks like this:
but sometimes during the same run: