Skip to content

CI nighly build: creating namespaces fails sometimes #3251

@igaw

Description

@igaw

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
  ...
==============================================================================

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions