NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/58033: Complete system crash dues to FFSv2 logging.



>Number:         58033
>Category:       kern
>Synopsis:       Complete system crash dues to FFSv2 logging.
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 12 23:25:00 +0000 2024
>Originator:     naguam
>Release:        NetBSD 10 RC5
>Organization:
None
>Environment:
NetBSD i5-1gen.Home 10.0_RC5 NetBSD 10.0_RC5 (GENERIC) #0: Tue Feb 27 05:27:39 UTC 2024  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
Unsafe unplug of an external usb storage volume with the following configuration is causing complete system crash (even ssh stopped working not work).

- 16 GB usb drive with a GPT partition table countaing a single partition.
- That partition, formated  in FFSv2 partition and a 64M WAPBL setup.
- Volume mounted with -o log.

No external DATA storage sudden removal should be able to completely crash the OS. Indeed data loss is expected but not a complete system crash.

Also when writing files, the loss is even worst than without logging (not news though https://mail-index.netbsd.org/tech-kern/2020/07/23/msg026633.html).

>How-To-Repeat:
Step zero: Have a default NetBSD 10 RC5 installation.
(I used the default xdm ctwm x11 environment provided by NetBSD).

Step one: format an external volume (usb drive) in FFSv2 (or 2ea, I tested both).

Step two: (optional) setup custom (bigger) log size such as 64M.

Step three: mount the partition with -o log.

Step four: simulate a power loss by suddenly unplugging the external volume.

Step five: admire the complete freeze and force reboot with the power button.
>Fix:
No idea, but if the FFSv2 log system is not ready, maybe it should not be in the release, as someone could genuinely use it without understanding the risk, as it is considered as a feature right now.

Keeping it into a development branch could be an option.



Home | Main Index | Thread Index | Old Index