Skip to content

ERROR: Unhandled python exception: KeyError: 'options' #15407

@user202729

Description

@user202729

Describe the bug

As in the title. I see that error. The full traceback is

  Traceback (most recent call last):
    File ".../mesonmain.py", line 193, in run
      return options.run_func(options)
             ~~~~~~~~~~~~~~~~^^^^^^^^^
    File ".../msetup.py", line 394, in run
      app.generate()
      ~~~~~~~~~~~~^^
    File ".../msetup.py", line 193, in generate
      return self._generate(env, capture, vslite_ctx)
             ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
    File ".../msetup.py", line 291, in _generate
      coredata.update_cmd_line_file(self.build_dir, self.options)
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File ".../coredata.py", line 644, in update_cmd_line_file
      config['options'].update({str(k): str(v) for k, v in options.cmd_line_options.items()})
      ~~~~~~^^^^^^^^^^^
    File ".../python3.13/configparser.py", line 1000, in __getitem__
      raise KeyError(key)
  KeyError: 'options'

To Reproduce

I do the following.

  • Install mamba
  • git clone SageMath.
  • mamba env create -n sage-dev -f environment-3.13-linux.yml
  • mamba activate sage-dev
  • pip install --no-build-isolation --editable . --verbose

Then interrupt it in the middle of the "Generating targets" step (that step is quite slow)

  Generating targets:   0%|          | 0/1680 eta ?
  Generating targets:   3%|▎         | 49/1680 eta 00:03
  Generating targets:   8%|▊         | 139/1680 eta 00:02
  Generating targets:  14%|█▎        | 227/1680 eta 00:01
  Generating targets:  19%|█▉        | 318/1680 eta 00:01
  Generating targets:  24%|██▍       | 402/1680 eta 00:01
  Generating targets:  29%|██▉       | 491/1680 eta 00:01
  Generating targets:  34%|███▍      | 576/1680 eta 00:01
^C  Preparing editable metadata (pyproject.toml) ... canceled

then run the following (the "Generating targets" step should be quite fast now)

pip install --no-build-isolation --config-settings=setup-args=-Dbuild-docs=false --editable . --verbose

you'll see

  Generating targets:   0%|          | 0/575 eta ?
  Generating targets:   8%|▊         | 44/575 eta 00:01
  Generating targets:  24%|██▍       | 137/575 eta 00:00
  Generating targets:  39%|███▉      | 226/575 eta 00:00
  Generating targets:  55%|█████▌    | 318/575 eta 00:00
  Generating targets:  70%|███████   | 403/575 eta 00:00
  Generating targets:  86%|████████▌ | 494/575 eta 00:00


  Writing build.ninja:   0%|          | 0/2384 eta ?

  Traceback (most recent call last): <as above>

It can be fixed by rm -r build/cp313 then run the command again without interrupting it.

Expected behavior
No error

system parameters

  • native build
  • Linux
  • Python 3.13.7
  • meson 1.9.0
  • ninja 1.13.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    exceptionMajor bug that raises a python-level exceptionneeds-infowaiting information from user. May close if no response for long time.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions