Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-98807

Stratis-cli fails with unhandled error when attempting to create a pool with a very large number for the journal size

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • rhel-10.2
    • rhel-10.1
    • stratis-cli
    • None
    • No
    • Low
    • rhel-storage-crs
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • All
    • None

      What were you trying to do that didn't work?

      Creating a Stratis pool with an excessively large --journal-size value fails and results in a Python stack trace instead of a proper error message.

      What is the impact of this issue to you?

      The issue causes the command to fail without a proper error message. Instead, it shows a stack trace when trying to create a Stratis pool with a very large --journal-size.

      Please provide the package NVR for which the bug is seen:

      stratis-cli-3.8.1-1.el10

      stratisd-3.8.1-1.el10 

      How reproducible is this bug?:

      always

      Steps to reproduce

      1. stratis pool create --journal-size 999999999999999999KiB p3 /dev/nvme0n1 
      2.  
      3.  

      Expected results

      The command fails with a message similar to the one shown when an invalid file system size is provided. For example:
      Execution failed:
      stratisd failed to perform the operation that you requested. It returned the following information via the D-Bus: ERROR: Requested size or size limit of filesystem fs exceeds maximum specifiable filesystem size 9444732965739290426880 bytes.

      Actual results

      stratis pool create --journal-size 999999999999999999KiB p3 /dev/nvme0n1 
      stratis encountered an unexpected error during execution. Please report the error and include in your report the stack trace shown below. 

      Traceback (most recent call last):
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 238, in the_func
          return klass(value, variant_level=variant)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      OverflowError: int too big to convert

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/usr/lib/python3.12/site-packages/dbus_python_client_gen/_invokers.py", line 327, in dbus_func
          xformed_args = func(args)
                         ^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 339, in the_func
          return [f(a) for (f, a) in zip(funcs, objects)]
                  ^^^^
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 57, in the_func
          raise err
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 52, in the_func
          return func(expr, variant=variant)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 213, in the_func
          elements = [f(x) for (f, x) in zip(funcs, a_list)]
                      ^^^^
        File "/usr/lib/python3.12/site-packages/into_dbus_python/_xformer.py", line 243, in the_func
          raise IntoDPUnexpectedValueError(
      into_dbus_python._errors.IntoDPUnexpectedValueError: inappropriate value passed to dbus-python constructor

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/usr/lib/python3.12/site-packages/stratis_cli/_main.py", line 48, in the_func
          namespace.func(namespace)
        File "/usr/lib/python3.12/site-packages/stratis_cli/_parser/_parser.py", line 142, in wrapped_func
          func(*args)
        File "/usr/lib/python3.12/site-packages/stratis_cli/_actions/_pool.py", line 194, in create_pool
          ) = Manager.Methods.CreatePool(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/stratis_cli/_actions/_data.py", line 131, in new_method
          return orig_method(proxy, args)
                 ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/dbus_python_client_gen/_invokers.py", line 335, in dbus_func
          raise DPClientMarshallingError(
      dbus_python_client_gen._errors.DPClientMarshallingError: Failed to format arguments (p3, frozenset({'/dev/nvme0n1'}), [], [], (True, 1023999999999999998976), (True, <IntegrityTagSpec.B512: '512b'>), (True, True)) according to signature "sasa((bu)s)a((bu)ss)(bt)(bs)(bb)" for method "CreatePool" belonging to interface "org.storage.stratis3.Manager.r8"

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/usr/bin/stratis", line 35, in <module>
          main()
        File "/usr/bin/stratis", line 32, in main
          return run()(sys.argv[1:])
                 ^^^^^^^^^^^^^^^^^^^
        File "/usr/lib/python3.12/site-packages/stratis_cli/_main.py", line 69, in the_func
          handle_error(err)
        File "/usr/lib/python3.12/site-packages/stratis_cli/_error_reporting.py", line 364, in handle_error
          raise err
        File "/usr/lib/python3.12/site-packages/stratis_cli/_main.py", line 64, in the_func
          raise StratisCliActionError(command_line_args, namespace) from err
      stratis_cli._errors.StratisCliActionError: Action selected by command-line arguments ['pool', 'create', '--journal-size', '999999999999999999KiB', 'p3', '/dev/nvme0n1'] which were parsed to Namespace(print_all_help=None, propagate=False, unhyphenated_uuids=False, func=<function add_subcommand.<locals>.wrap_func.<locals>.wrapped_func at 0x7f2e26de0ae0>, key_desc=None, post_parser=<class 'stratis_cli._parser._pool.CreateOptions'>, pool_name='p3', blockdevs=['/dev/nvme0n1'], no_overprovision=False, journal_size_default=False, clevis=None, integrity=<stratis_cli._parser._pool.IntegrityOptions object at 0x7f2e2788b470>) failed

              amulhern@redhat.com the Mulhern
              rhn-support-fsuba Filip Suba
              stratis-team stratis-team
              Filip Suba Filip Suba
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: