Bug 2308279

Summary: If anaconda-webui crashes on startup, the information is shown only very briefly then replaced with a blank screen
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: anaconda-webuiAssignee: Katerina Koukiou <kkoukiou>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 41CC: jkonecny, k.koukiou, kkoukiou, mkolman, rvykydal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: openqa
Fixed In Version: anaconda-webui-16-1.fc42 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-09-26 01:14:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Adam Williamson 2024-08-27 22:53:07 UTC
anaconda-webui currently crashes on startup in both F41 and Rawhide (see #2308278). When this happens, the details of the crash are shown for less than a second, then replaced with a blank grey screen. You can see this in e.g. https://openqa.fedoraproject.org/tests/2821952/video?filename=video.webm . At 13:15:07.478, we still see "Initializing...". Then at 13:15:07.982 we see a title "Critical error" and a line "The installer cannot continue due to a critical error." and a "Report Issue" button. Then at 13:15:08.488 we see "Critical error", the details of the error and a partial log, and an unlabeled button. Then at 13:15:08.992, the window is blank light grey, which is how it stays for the rest of the time until openQA times out waiting for the installer to launch.

Comment 1 Katerina Koukiou 2024-09-05 08:18:11 UTC
Hi Adam, I tried to reproduce the exact same storage setup with the following:
                                           
 mkdir -p /tmp/lower /tmp/upper /tmp/work /tmp/overlay;                                     
 mount -t overlay overlay -o lowerdir=/tmp/lower,upperdir=/tmp/upper,workdir=/tmp/work /tmp/overlay
 rm -rf /tmp/upper 

The error dialog appear but it persisted as expected.

Also I am not able to reproduce this with different error causes. We even have multiple upstream CI tests for the error dialog, [1] [2] for errors coming from the front-end and back-end code. In all cases the dialog persists after error creation.

Since the root cause of this actual error was fixed [3], I suggest closing this bug as it's no longer reproducible. Otherwise if should investigate it further I would need a cleaner reproducer and maybe the JS console output, as I assume that is that the Error Dialog component itself crashed, after showing the error. 

[1] https://github.com/rhinstaller/anaconda-webui/blob/14/test/check-basic#L200
[2] https://github.com/rhinstaller/anaconda-webui/blob/14/test/check-basic#L236
[3] https://bugzilla.redhat.com/show_bug.cgi?id=2308278

Comment 2 Adam Williamson 2024-09-05 15:31:06 UTC
well, I would say it should still be reproducible by grabbing a Rawhide live from before the fix for the other bug landed, booting it in a pretty normal VM, and trying to run the installer, which is all the affected test did. In fact, current Rawhide is still broken, since you did not send a combined anaconda+anaconda-webui update yet. So you can just try it with today's Rawhide nightly.

Comment 3 Katerina Koukiou 2024-09-06 07:18:46 UTC
@Adam the affected test (according to #2308278) has some directory from an overlayfs mount which causes the crash (/overlay (deleted)).
In order that I reproduce I would need some hint for replicating that /overlay (deleted) device.

How is the target disk setup for the test? Is there some test code I could look at?

Comment 4 Adam Williamson 2024-09-06 15:36:08 UTC
I was assuming it just came from the live environment. You can see how openQA launches the VM in the logs:

[2024-08-27T13:12:54.679653Z] [debug] [pid:3960172] qemu version detected: 8.2.2
[2024-08-27T13:12:54.683815Z] [debug] [pid:3960172] running `/usr/bin/chattr +C /var/lib/openqa/pool/13/raid`
[2024-08-27T13:12:54.703034Z] [debug] [pid:3960172] Command `/usr/bin/chattr +C /var/lib/openqa/pool/13/raid` terminated with 0
[2024-08-27T13:12:54.703266Z] [debug] [pid:3960172] Configuring storage controllers and block devices
[2024-08-27T13:12:54.704392Z] [debug] [pid:3960172] running `/usr/bin/qemu-img info --output=json /var/lib/openqa/pool/13/Fedora-Workstation-Live-osb-41-20240827.n.0.x86_64.iso`
[2024-08-27T13:12:54.732703Z] [debug] [pid:3960172] running `/usr/bin/qemu-img info --output=json /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd`
[2024-08-27T13:12:54.763917Z] [debug] [pid:3960172] running `/usr/bin/qemu-img info --output=json /usr/share/edk2/ovmf/OVMF_VARS.secboot.fd`
[2024-08-27T13:12:54.792483Z] [debug] [pid:3960172] Initializing block device images
[2024-08-27T13:12:54.792803Z] [debug] [pid:3960172] running `/usr/bin/qemu-img create -f qcow2 /var/lib/openqa/pool/13/raid/hd0 20G`
[2024-08-27T13:12:54.816643Z] [debug] [pid:3960172] Formatting '/var/lib/openqa/pool/13/raid/hd0', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=21474836480 lazy_refcounts=off refcount_bits=16
[2024-08-27T13:12:54.816801Z] [debug] [pid:3960172] running `/usr/bin/qemu-img create -f qcow2 -F raw -b /var/lib/openqa/pool/13/Fedora-Workstation-Live-osb-41-20240827.n.0.x86_64.iso /var/lib/openqa/pool/13/raid/cd0-overlay0 2815819776`
[2024-08-27T13:12:54.844796Z] [debug] [pid:3960172] Formatting '/var/lib/openqa/pool/13/raid/cd0-overlay0', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=2815819776 backing_file=/var/lib/openqa/pool/13/Fedora-Workstation-Live-osb-41-20240827.n.0.x86_64.iso backing_fmt=raw lazy_refcounts=off refcount_bits=16
[2024-08-27T13:12:54.845034Z] [debug] [pid:3960172] running `/usr/bin/qemu-img create -f qcow2 -F raw -b /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd /var/lib/openqa/pool/13/raid/pflash-code-overlay0 1966080`
[2024-08-27T13:12:54.880301Z] [debug] [pid:3960172] Formatting '/var/lib/openqa/pool/13/raid/pflash-code-overlay0', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1966080 backing_file=/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd backing_fmt=raw lazy_refcounts=off refcount_bits=16
[2024-08-27T13:12:54.880476Z] [debug] [pid:3960172] running `/usr/bin/qemu-img create -f qcow2 -F raw -b /usr/share/edk2/ovmf/OVMF_VARS.secboot.fd /var/lib/openqa/pool/13/raid/pflash-vars-overlay0 131072`
[2024-08-27T13:12:54.906719Z] [debug] [pid:3960172] Formatting '/var/lib/openqa/pool/13/raid/pflash-vars-overlay0', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=131072 backing_file=/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd backing_fmt=raw lazy_refcounts=off refcount_bits=16
[2024-08-27T13:12:54.906850Z] [debug] [pid:3960172] init_blockdev_images: Finished creating block devices
[2024-08-27T13:12:54.908648Z] [debug] [pid:3960172] starting: /usr/bin/qemu-system-x86_64 -device virtio-vga,edid=on,xres=1024,yres=768 -only-migratable -chardev ringbuf,id=serial0,logfile=serial0,logappend=on -serial chardev:serial0 -audiodev none,id=snd0 -device intel-hda -device hda-output,audiodev=snd0 -global isa-fdc.fdtypeA=none -m 3072 -machine q35,smm=on -cpu Nehalem -netdev user,id=qanet0,net=172.16.2.0/24 -device virtio-net,netdev=qanet0,mac=52:54:00:12:34:56 -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0 -device qemu-xhci -device usb-tablet -smp 2 -enable-kvm -no-shutdown -vnc :103,share=force-shared -device virtio-serial -chardev pipe,id=virtio_console,path=virtio_console,logfile=virtio_console.log,logappend=on -device virtconsole,chardev=virtio_console,name=org.openqa.console.virtio_console -chardev pipe,id=virtio_console_user,path=virtio_console_user,logfile=virtio_console_user.log,logappend=on -device virtconsole,chardev=virtio_console_user,name=org.openqa.console.virtio_console_user -chardev socket,path=qmp_socket,server=on,wait=off,id=qmp_socket,logfile=qmp_socket.log,logappend=on -qmp chardev:qmp_socket -S -global driver=cfi.pflash01,property=secure,value=on -device virtio-scsi-pci,id=scsi0 -blockdev driver=file,node-name=hd0-file,filename=/var/lib/openqa/pool/13/raid/hd0,cache.no-flush=on -blockdev driver=qcow2,node-name=hd0,file=hd0-file,cache.no-flush=on,discard=unmap -device virtio-blk,id=hd0-device,drive=hd0,serial=hd0 -blockdev driver=file,node-name=cd0-overlay0-file,filename=/var/lib/openqa/pool/13/raid/cd0-overlay0,cache.no-flush=on -blockdev driver=qcow2,node-name=cd0-overlay0,file=cd0-overlay0-file,cache.no-flush=on,discard=unmap -device scsi-cd,id=cd0-device,drive=cd0-overlay0,serial=cd0 -drive id=pflash-code-overlay0,if=pflash,file=/var/lib/openqa/pool/13/raid/pflash-code-overlay0,unit=0,readonly=on -drive id=pflash-vars-overlay0,if=pflash,file=/var/lib/openqa/pool/13/raid/pflash-vars-overlay0,unit=1

there is some overlay stuff going on there, but I don't *think* it's visible to the guest kernel. To the guest system it should just look like one pretty normal disk, I think - see https://openqa.fedoraproject.org/tests/2821910#step/disk_guided_empty/4 , that's what we see on the installation destination screen on the non-webui image from the same compose.

I'll see if I can reproduce it locally myself later today...

Comment 5 Adam Williamson 2024-09-06 20:31:47 UTC
Yeah, this reproduces for me with https://kojipkgs.fedoraproject.org/compose/rawhide/Fedora-Rawhide-20240904.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-osb-Rawhide-20240904.n.0.x86_64.iso booted in a perfectly normal test VM, just created with virt-manager with no special properties, just a single virtio disk. All you have to do is boot it and launch the installer.

Comment 6 Adam Williamson 2024-09-09 15:25:28 UTC
And for bonus points: in the latest Rawhide, webui is crashing for a different reason, but this still happens. See https://openqa.fedoraproject.org/tests/2864631/video?filename=video.webm&t=7.75,7.79 - the error is now "undefined: console.warning is not a function", but again it is shown only for a split second before the screen goes blank white.

Comment 7 Katerina Koukiou 2024-09-13 06:41:43 UTC
This is fixed by https://github.com/rhinstaller/anaconda-webui/pull/437

Comment 8 Fedora Update System 2024-09-23 07:30:28 UTC
FEDORA-2024-7201cb0c73 (anaconda-webui-16-1.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-7201cb0c73

Comment 9 Fedora Update System 2024-09-26 01:14:35 UTC
FEDORA-2024-7201cb0c73 (anaconda-webui-16-1.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.