Closed elFarto closed 4 years ago
Thanks for the report. From the content above, I'm going to assume that you are using the ext
driver, right?
I'm also seeing quite a few error: not a regular file.
being thrown in your listing. Can you confirm that these are symlinks? What happens if you try to list the content of a directory that doesn't have symlinks?
Alternatively, have you been able to replicate this issue with other file system drivers than ext
?
I guess one thing I'd like you to do, if you can, is upload the OVMF firmware you use somewhere, that produces the error, so that I can test it with QEMU and see if I can reproduce the problem. Or you can compress it and e-mail it to pete@akoe.ie.
It may also help if you indicate how you run your test. What virtual platform are you using OVMF against, and what is the command line you use to launch it? Maybe also, if you can mount a virtual disk, can I ask you to try to test against the .img
you'll find inside https://efi.akeo.ie/test/ext2.zip, since that is the disk target I'm using for my testing. Knowing that whether it also fails for you when trying to list its content would remove one question mark on whether the content is relevant, as well as, if it does fail too, give me a better chance to reproduce the issue.
For the record I just ran a quick test with symlinks and whereas I got the error: not a regular file.
message, everything seemed fine. Of course, for the time being, I'm using a custom very recent version of OVMF, that I built, so I didn't really expect that test to fail.
Yes, it's the ext2 driver, on an ext4 filesystem. /bin and /sbin are symlinks, but they don't seem to be the cause of the issue. Running ls in an empty directory works fine, but creating an empty file in there will cause it to crash. Doing an ls on your ext2 image in the root directory has the same issue. I've uploaded my OVMF copy here. I'm using the OVMF_CODE.fd file, and it's running under qemu/kvm.
Thanks. I was able to replicate your issue with your OVMF in qemu.
The first thing I will point out then is that it's not a regression from 1.4, as the same problem occurs with the 1.3 version of the driver. And I also seem to get the crash regardless of the file system being used.
Considering that this happens after we close all access to the drive, and that I'm not crawling under "Your file system drivers crash on my system!" reports, I'm very inclined to think that this was a transient bug in EDK2, that happened to make it into an OVMF release, but that has long since been fixed, so I'm not sure I wanna spend too much time investigating it. Real hardware users don't seem to be affected by it, and, unless proven otherwise, virtual users should easily be able to fix that issue, if they happen to run into it, by upgrading or downgrading to a non affected version of OVMF.
As such, unless someone can demonstrate that this is something that didn't happen with some older version of EfiFs, or that such a crash may still be experienced with current OVMF, I think I will just close this issue.
I agree, I just wanted to make sure it wasn't a regression. Thanks for spending time on it anyway.
I've been testing out v1.4 with the various versions of the EFI shell I've accumulated, and while two of them (the newest versions) work perfectly, one of them manages to cause a machine fault. I'm not entirely sure this is the drivers fault, as I would expect that on all the versions, but it may be the case some other field hasn't been initialised just right.
It's claiming it's version edk2-stable201905, and it's one that came with the OVMF firmware that's on Fedora, not one of the versions I've downloaded directly from their github page. Since it works with one of the other shells, it's not an urgent issue at all.