Bug 2352573 - Can't choose a bootloader device, crash when biosboot partition is on the second one
Summary: Can't choose a bootloader device, crash when biosboot partition is on the sec...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda-webui
Version: 42
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Katerina Koukiou
QA Contact:
URL:
Whiteboard: AcceptedBlocker https://discussion.fe...
Depends On:
Blocks: F42FinalBlocker
TreeView+ depends on / blocked
 
Reported: 2025-03-14 15:27 UTC by Kamil Páral
Modified: 2025-04-15 10:53 UTC (History)
8 users (show)

Fixed In Version: anaconda-webui-28-1.fc43
Clone Of:
Environment:
Last Closed: 2025-03-24 06:58:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
anaconda.log (7.03 KB, text/plain)
2025-03-14 15:28 UTC, Kamil Páral
no flags Details
dbus.log (3.91 KB, text/plain)
2025-03-14 15:28 UTC, Kamil Páral
no flags Details
packaging.log (4.15 KB, text/plain)
2025-03-14 15:28 UTC, Kamil Páral
no flags Details
program.log (1.68 KB, text/plain)
2025-03-14 15:28 UTC, Kamil Páral
no flags Details
storage.log (170.04 KB, text/plain)
2025-03-14 15:28 UTC, Kamil Páral
no flags Details
webui.log (768.58 KB, text/plain)
2025-03-14 15:29 UTC, Kamil Páral
no flags Details
bug demonstration video (1.18 MB, video/mp4)
2025-03-17 08:08 UTC, Kamil Páral
no flags Details

Description Kamil Páral 2025-03-14 15:27:59 UTC
Description of problem:
With two completely empty drives, I have configured most of the system on vdb (biosboot, /boot, and /), and just placed /home on vda. I got warned that biosboot needs to be present on vda. I ignored that warning, and wanted to continue the installation. Quite weirdly, all summaries in anaconda had just blank spaces under "vda" and "vdb" sections, no partition listed. After starting the installation, anaconda crashed.

Question #1:
Is it an intentional change that in WebUI, I can no longer install BIOS bootloader to a different drive than the first one?

Question #2:
Should anaconda allow to start an installation, when its own criteria are not met? I.e. shouldn't the warning dialog prevent starting the installation?

Question #3:
How do we feel about anaconda crashes when the user ignores a warning?


Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/dasbus/server/handler.py", line 455, in _method_callback
    result = self._handle_call(
        interface_name,
    ...<2 lines>...
        **additional_args
    )
  File "/usr/lib/python3.13/site-packages/dasbus/server/handler.py", line 265, in _handle_call
    return handler(*parameters, **additional_args)
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task_interface.py", line 115, in Finish
    self.implementation.finish()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task.py", line 176, in finish
    thread_manager.raise_if_error(self._thread_name)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/core/threads.py", line 172, in raise_if_error
    raise exc_info[1]
  File "/usr/lib64/python3.13/site-packages/pyanaconda/core/threads.py", line 281, in run
    threading.Thread.run(self)
    ~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib64/python3.13/threading.py", line 992, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task.py", line 97, in _thread_run_callback
    self._task_run_callback()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/common/task/task.py", line 110, in _task_run_callback
    self._set_result(self.run())
                     ~~~~~~~~^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/storage/installation.py", line 84, in run
    self._turn_on_filesystems(
    ~~~~~~~~~~~~~~~~~~~~~~~~~^
        self._storage,
        ^^^^^^^^^^^^^^
        callbacks=register
        ^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/storage/installation.py", line 165, in _turn_on_filesystems
    self._setup_bootable_devices(storage)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib64/python3.13/site-packages/pyanaconda/modules/storage/installation.py", line 184, in _setup_bootable_devices
    if boot.type == "mdarray":
       ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'type'



Version-Release number of selected component (if applicable):
anaconda-42.27.3-1.fc42.x86_64
F42 Beta Workstation

How reproducible:
not sure. I saw a different error in the past, but couldn't done a few steps differently

Steps to Reproduce:
1. have two completely clean disks, run in BIOS mode
2. add biosboot, /boot and / to vdb (sdb)
3. add /home to vda (sda)
4. ignore the warning and start the installation

Comment 1 Kamil Páral 2025-03-14 15:28:45 UTC
Created attachment 2080243 [details]
anaconda.log

Comment 2 Kamil Páral 2025-03-14 15:28:48 UTC
Created attachment 2080244 [details]
dbus.log

Comment 3 Kamil Páral 2025-03-14 15:28:51 UTC
Created attachment 2080245 [details]
packaging.log

Comment 4 Kamil Páral 2025-03-14 15:28:56 UTC
Created attachment 2080246 [details]
program.log

Comment 5 Kamil Páral 2025-03-14 15:28:59 UTC
Created attachment 2080247 [details]
storage.log

Comment 6 Kamil Páral 2025-03-14 15:29:03 UTC
Created attachment 2080248 [details]
webui.log

Comment 7 Kamil Páral 2025-03-17 08:08:22 UTC
Created attachment 2080498 [details]
bug demonstration video

The problem can be easily reproduced. See the video.

Comment 8 Kamil Páral 2025-03-17 08:16:02 UTC
(In reply to Kamil Páral from comment #0)
> Question #1:
> Is it an intentional change that in WebUI, I can no longer install BIOS
> bootloader to a different drive than the first one?

After discussion with devs on the Matrix channel, it's not intentional, just a TODO. I don't think the current limitation is well communicated, though.

Also, we seem to require exactly this in our release criteria:
"The installer must allow the user to choose which disk the system bootloader will be installed to, and to choose not to install one at all. "
https://fedoraproject.org/wiki/Fedora_42_Final_Release_Criteria#Bootloader_disk_selection

> Question #3:
> How do we feel about anaconda crashes when the user ignores a warning?

This is actually also covered in our criteria:
"Reject or disallow invalid disk and volume configurations without crashing."
https://fedoraproject.org/wiki/Fedora_42_Beta_Release_Criteria#Custom_partitioning


Proposing as a blocker due to the two unsatisfied criteria mentioned above.

Comment 9 Jiri Konecny 2025-03-17 11:52:44 UTC
Hi Kamile,

we would like to add support for this but currently I don't think there are many installations of Workstation who needs this feature. For that reason we decided to focus on different features. We can work on this limitation in the future releases and if this is necessary I would say netinstall iso is the good enough workaround for now. Do you agree?

Comment 10 Lukas Brabec 2025-03-17 17:43:26 UTC
Discussed during the 2025-03-17 blocker review meeting [1]:

* AGREED: 2352573 - AcceptedBlocker (Final) - this is accepted as a violation of "Reject or disallow invalid disk and volume configurations without crashing". We agree that, for webUI, it will be satisfactory if it correctly prevents the user from attempting this configuration, rather than allowing the user to proceed and crashing. We consider the ability to do this in gtkUI to fulfill the requirement that this operation be possible, so we do not require webUI to implement it for F42

[1] https://meetbot-raw.fedoraproject.org/blocker-review_matrix_fedoraproject-org/2025-03-17/f42-blocker-review.2025-03-17-16.00.log.html

Comment 11 Fedora Update System 2025-03-20 13:39:48 UTC
FEDORA-2025-9514d70fb8 (anaconda-webui-28-1.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-9514d70fb8

Comment 12 Fedora Update System 2025-03-20 14:56:59 UTC
FEDORA-2025-9514d70fb8 (anaconda-webui-28-1.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 13 Kamil Páral 2025-03-21 09:02:38 UTC
Reopening for blocker verification.

Comment 14 Kamil Páral 2025-03-21 09:30:02 UTC
We're waiting for this update to land:
https://bodhi.fedoraproject.org/updates/FEDORA-2025-a50e6b787b

I've tested it and the bug is fixed. Anaconda now doesn't allow to proceed until biosboot is present on the first disk.

Comment 15 Kamil Páral 2025-03-24 06:58:48 UTC
The update is stable, closing.

Comment 16 Kamil Páral 2025-04-01 06:52:19 UTC
(In reply to Kamil Páral from comment #14)
> Anaconda now doesn't allow to proceed
> until biosboot is present on the first disk.

We might want to document this temporary regression in anaconda capabilities. Adding CommonBugs.

Comment 17 Kamil Páral 2025-04-01 07:28:05 UTC
The workaround is:
If a user wants to install Fedora just to a single drive, but not the first one, they can only select that particular drive in anaconda interface, and then the installation allows to proceed and the (MBR-style) bootloader is installed to that particular drive.
If a user wants to install Fedora to multiple drives (e.g. /home on a different drive than /), and the (MBR-style) bootloader should be on a different drive than the first drive, then a GTK UI needs to be used (e.g. Everything netinst).

Comment 18 Kamil Páral 2025-04-15 10:53:23 UTC
Common Issue description:
https://discussion.fedoraproject.org/t/common-issue/148708


Note You need to log in before you can comment on or make changes to this bug.