UBIFS power cut error on i.MX7s

Hi,

The UBIFS crashed after a power cut in our board. Is there any recommendation to void such problems? We had a lot of headaches with Linux Image 2.7 version.

U-Boot 2016.11-00015-gf4db39e-dirty (Sep 12 2018 - 19:10:06 -0300)

CPU:   Freescale i.MX7S rev1.2 at 792MHz
CPU:   Extended Commercial temperature grade (-20C to 105C) at 34C
Reset cause: POR
DRAM:  256 MiB
Enabling LCD pin on GPIO 2
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Video: 640x480x18
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Solo 256MB V1.1B, Serial# 02952312
Net:   FEC0
Hit any key to stop autoboot:  0 
Booting from NAND...
ubi0: default fastmap pool size: 200
ubi0: default fastmap WL pool size: 100
ubi0: attaching mtd1
ubi0: attached by fastmap
ubi0: fastmap pool size: 200
ubi0: fastmap WL pool size: 100
ubi0: attached mtd1 (name "mtd=4", size 508 MiB)
ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
ubi0: good PEBs: 4060, bad PEBs: 4, corrupted PEBs: 0
ubi0: user volume: 5, internal volumes: 1, max. volumes count: 128
ubi0: max/mean erase counter: 31/5, WL threshold: 4096, image sequence number: 0
ubi0: available PEBs: 0, total reserved PEBs: 4060, PEBs reserved for bad PEB handling: 76
No size specified -> Using max size (5588008)
Read 5588008 bytes from volume kernel to 81000000
No size specified -> Using max size (41150)
Read 41150 bytes from volume dtb to 82000000
Kernel image @ 0x81000000 [ 0x000000 - 0x554428 ]
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Using Device Tree in place at 82000000, end 8200d0bd
   Updating MTD partitions...

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.87-dirty (joao@joao-Inspiron-7520) (gcc version 5.2.1 20151005 (Linaro GCC 5.2-2015.11-2) ) #1 SMP PREEMPT Tue Oct 16 13:34:14 -03 2018
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: Toradex Colibri iMX7S on Colibri Evaluation Board V3
[    0.000000] cma: Reserved 128 MiB at 0x88000000
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 14 pages/cpu @87d8e000 s26624 r8192 d22528 u57344
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024
[    0.000000] Kernel command line: ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs ubi.fm_autoconvert=1 threadirqs console=tty1 console=ttymxc0,115200n8 consoleblank=0 video=dcufb:pixclockpol:0,vsync:0,hs0
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 116340K/262144K available (7168K kernel code, 304K rwdata, 2260K rodata, 1024K init, 401K bss, 14732K reserved, 131072K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0x90800000 - 0xff800000   (1776 MB)
[    0.000000]     lowmem  : 0x80000000 - 0x90000000   ( 256 MB)
[    0.000000]     modules : 0x7f000000 - 0x80000000   (  16 MB)
[    0.000000]       .text : 0x80008000 - 0x80800000   (8160 kB)
[    0.000000]       .init : 0x80b00000 - 0x80c00000   (1024 kB)
[    0.000000]       .data : 0x80c00000 - 0x80c4c360   ( 305 kB)
[    0.000000]        .bss : 0x80c4e000 - 0x80cb2658   ( 402 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000]  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] arm_arch_timer: Architected cp15 timer(s) running at 8.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[    0.000007] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.000020] Switching to timer-based delay loop, resolution 125ns
[    0.000354] Ignoring duplicate/late registration of read_current_timer delay
[    0.000375] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[    0.001853] Console: colour dummy device 80x30
[    0.002606] console [tty1] enabled
[    0.002639] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=8000)
[    0.002690] pid_max: default: 32768 minimum: 301
[    0.002824] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.002858] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.003619] CPU: Testing write buffer coherency: ok
[    0.003988] Setting up static identity map for 0x80100000 - 0x80100058
[    0.016093] Brought up 1 CPUs
[    0.016129] SMP: Total of 1 processors activated (16.00 BogoMIPS).
[    0.016158] CPU: All CPU(s) started in SVC mode.
[    0.016790] devtmpfs: initialized
[    0.030554] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.030932] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.030993] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.036162] pinctrl core: initialized pinctrl subsystem
[    0.037651] NET: Registered protocol family 16
[    0.044805] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.048839] cpuidle: using governor menu
[    0.062126] DDR type is DDR3!
[    0.070370] imx7d_enet_clk_sel: fec1: failed to get enet_out clock, assuming ext. clock source
[    0.070454] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.070498] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.070884] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[    0.072652] imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
[    0.073601] imx-gpcv2 30000000.aips-bus:pgc: mipi regulator not ready.
[    0.074509] MU is ready for cross core communication!
[    0.105134] mxs-dma 33000000.dma-apbh: initialized
[    0.106865] VCC_USB[1-4]: supplied by 5V
[    0.107634] SCSI subsystem initialized
[    0.107959] usbcore: registered new interface driver usbfs
[    0.108127] usbcore: registered new interface driver hub
[    0.108248] usbcore: registered new device driver usb
[    0.108500] 30800000.aips-bus:usbphynop1 supply vcc not found, using dummy regulator
[    0.108668] 30800000.aips-bus:usbphynop3 supply vcc not found, using dummy regulator
[    0.110078] i2c i2c-0: IMX I2C adapter registered
[    0.110173] i2c i2c-0: can't use DMA, using PIO instead.
[    0.110416] Linux video capture interface: v2.00
[    0.110491] pps_core: LinuxPPS API ver. 1 registered
[    0.110520] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.110581] PTP clock support registered
[    0.111118] imx rpmsg driver is registered.
[    0.111366] Advanced Linux Sound Architecture Driver Initialized.
[    0.113521] clocksource: Switched to clocksource arch_sys_counter
[    0.113685] VFS: Disk quotas dquot_6.6.0
[    0.113784] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.126122] NET: Registered protocol family 2
[    0.126868] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[    0.126937] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[    0.127003] TCP: Hash tables configured (established 2048 bind 2048)
[    0.127077] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.127132] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.127309] NET: Registered protocol family 1
[    0.129797] RPC: Registered named UNIX socket transport module.
[    0.129835] RPC: Registered udp transport module.
[    0.129861] RPC: Registered tcp transport module.
[    0.129887] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.131933] Bus freq driver module loaded
[    0.134572] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[    0.145082] NFS: Registering the id_resolver key type
[    0.145142] Key type id_resolver registered
[    0.145170] Key type id_legacy registered
[    0.145206] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.148005] ntfs: driver 2.1.32 [Flags: R/W].
[    0.148450] fuse init (API version 7.26)
[    0.157128] io scheduler noop registered
[    0.157167] io scheduler deadline registered
[    0.157404] io scheduler cfq registered (default)
[    0.161384] 30730000.lcdif supply lcd not found, using dummy regulator
[    0.229928] mxsfb 30730000.lcdif: failed to find mxc display driver 
[    0.241938] Console: switching to colour frame buffer device 128x37
[    0.256617] mxsfb 30730000.lcdif: initialized
[    0.258383] imx-sdma 30bd0000.sdma: no iram assigned, using external mem
[    0.262001] imx-sdma 30bd0000.sdma: loaded firmware 4.2
[    0.269961] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 52, base_baud = 1500000) is a IMX
[    0.961253] console [ttymxc0] enabled
[    0.968304] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 53, base_baud = 1500000) is a IMX
[    0.980463] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 54, base_baud = 1500000) is a IMX
[    1.008255] loop: module loaded
[    1.019823] vdd1p0d: supplied by DCDC3
[    1.046449] random: fast init done
[    1.054807] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
[    1.063548] nand: Macronix MX30LF4G28AB
[    1.069713] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 112
[    1.081781] gpmi-nand 33002000.gpmi-nand: enable the asynchronous EDO mode 5
[    1.091479] Bad block table found at page 262080, version 0x01
[    1.100052] Bad block table found at page 262016, version 0x01
[    1.108856] 5 ofpart partitions found on MTD device gpmi-nand
[    1.117085] Creating 5 MTD partitions on "gpmi-nand":
[    1.124605] 0x000000000000-0x000000080000 : "mx7-bcb"
[    1.132664] 0x000000080000-0x000000200000 : "u-boot1"
[    1.140598] 0x000000200000-0x000000380000 : "u-boot2"
[    1.148475] 0x000000380000-0x000000400000 : "u-boot-env"
[    1.156604] 0x000000400000-0x000020000000 : "ubi"
[    1.172754] gpmi-nand 33002000.gpmi-nand: driver registered.
[    1.182011] spi_imx 30840000.ecspi: dma setup error -19, use pio
[    1.191157] spi_imx 30840000.ecspi: probed
[    1.198076] libphy: Fixed MDIO Bus: probed
[    1.207045] pps pps0: new PPS source ptp0
[    1.222014] libphy: fec_enet_mii_bus: probed
[    1.229700] fec 30be0000.ethernet eth0: registered PHC device 0
[    1.238070] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.246892] ehci-mxc: Freescale On-Chip EHCI Host driver
[    1.254733] usbcore: registered new interface driver usb-storage
[    1.263154] usbcore: registered new interface driver usbserial
[    1.271275] usbcore: registered new interface driver usbserial_generic
[    1.280005] usbserial: USB Serial support registered for generic
[    1.288186] usbcore: registered new interface driver ftdi_sio
[    1.296033] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.305572] usbcore: registered new interface driver pl2303
[    1.313284] usbserial: USB Serial support registered for pl2303
[    1.322599] 30b10200.usbmisc supply vbus-wakeup not found, using dummy regulator
[    1.332372] 30b30200.usbmisc supply vbus-wakeup not found, using dummy regulator
[    1.343481] mousedev: PS/2 mouse device common for all mice
[    1.354750] input: AD7879 Touchscreen as /devices/soc0/soc/30800000.aips-bus/30a20000.i2c/i2c-0/0-002c/input/input0
[    1.368927] snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs- as rtc1
[    1.380156] i2c /dev entries driver
[    1.388802] imx2-wdt 30280000.wdog: timeout 60 sec (nowayout=0)
[    1.398801] sdhci: Secure Digital Host Controller Interface driver
[    1.407361] sdhci: Copyright(c) Pierre Ossman
[    1.414040] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.423030] sdhci-esdhc-imx 30b40000.usdhc: Got CD GPIO
[    1.465751] mmc0: SDHCI controller on 30b40000.usdhc [30b40000.usdhc] using ADMA
[    1.482277] caam 30900000.caam: ERA source: CCBVID.
[    1.491332] caam 30900000.caam: Entropy delay = 3200
[    1.500053] caam 30900000.caam: Instantiated RNG4 SH0
[    1.559468] caam 30900000.caam: Instantiated RNG4 SH1
[    1.566949] caam 30900000.caam: device ID = 0x0a16030000000000 (Era 8)
[    1.575953] caam 30900000.caam: job rings = 3, qi = 0
[    1.606671] caam algorithms registered in /proc/crypto
[    1.630404] caam_jr 30901000.jr0: registering rng-caam
[    1.641466] caam 30900000.caam: caam pkc algorithms registered in /proc/crypto
[    1.652102] hidraw: raw HID events driver (C) Jiri Kosina
[    1.660294] usbcore: registered new interface driver usbhid
[    1.668406] usbhid: USB HID core driver
[    1.683669] coresight-etm3x 3007c000.etm: ETM 3.5 initialized
[    1.700182] sgtl5000 0-000a: sgtl5000 revision 0x11
[    1.766078] Netfilter messages via NETLINK v0.30.
[    1.773481] nfnl_acct: registering with nfnetlink.
[    1.781021] nf_conntrack version 0.5.0 (4096 buckets, 16384 max)
[    1.789893] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[    1.801373] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.813013] NET: Registered protocol family 10
[    1.822225] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    1.831285] NET: Registered protocol family 17
[    1.838334] Bridge firewalling registered
[    1.846923] 8021q: 802.1Q VLAN Support v1.8
[    1.855567] Key type dns_resolver registered
[    1.874788] Registering SWP/SWPB emulation handler
[    1.884697] registered taskstats version 1
[    1.938924] ci_hdrc ci_hdrc.0: EHCI Host Controller
[    1.946115] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[    1.962578] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[    1.971421] hub 1-0:1.0: USB hub found
[    1.977445] hub 1-0:1.0: 1 port detected
[    1.985720] imx_thermal 30000000.aips-bus:tempmon: Extended Commercial CPU temperature grade - max:105C critical:100C passive:95C
[    2.022677] asoc-simple-card sound: sgtl5000 <-> 308a0000.sai mapping ok
[    2.033405] ubi0: default fastmap pool size: 200
[    2.040570] ubi0: default fastmap WL pool size: 100
[    2.047909] ubi0: attaching mtd4
[    2.267743] ubi0: attached by fastmap
[    2.273867] ubi0: fastmap pool size: 200
[    2.280155] ubi0: fastmap WL pool size: 100
[    2.298507] ubi0: attached mtd4 (name "ubi", size 508 MiB)
[    2.306389] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    2.315615] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    2.324779] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    2.334093] ubi0: good PEBs: 4060, bad PEBs: 4, corrupted PEBs: 0
[    2.342605] ubi0: user volume: 5, internal volumes: 1, max. volumes count: 128
[    2.352239] ubi0: max/mean erase counter: 31/5, WL threshold: 4096, image sequence number: 0
[    2.363141] ubi0: available PEBs: 0, total reserved PEBs: 4060, PEBs reserved for bad PEB handling: 76
[    2.374966] ubi0: background thread "ubi_bgt0d" started, PID 181
[    2.384474] input: gpio-keys as /devices/soc0/gpio-keys/input/input1
[    2.384999] hctosys: unable to open rtc device (rtc0)
[    2.428714] ALSA device list:
[    2.435240]   #0: imx7-sgtl5000
[    2.480222] UBIFS (ubi0:4): recovery needed
[    2.830664] random: crng init done
[    3.246219] UBIFS error (ubi0:4 pid 1): ubifs_get_pnode.part.4: error -22 reading pnode at 8:19711
[    3.257891] (pid 1) dumping pnode:
[    3.263907]  address 86599c80 parent 86599c00 cnext 0
[    3.271596]  flags 0 iip 1 level 0 num 0
[    3.278141]  0: free 0 dirty 126576 flags 1 lnum 0
[    3.285548]  1: free 0 dirty 126464 flags 1 lnum 0
[    3.292903]  2: free 0 dirty 130976 flags 34 lnum 0
[    3.300408]  3: free 248 dirty 126480 flags 1 lnum 0
[    3.307850] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.87-dirty #1
[    3.316657] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    3.324765] [<8010e904>] (unwind_backtrace) from [<8010b5f4>] (show_stack+0x10/0x14)
[    3.334905] [<8010b5f4>] (show_stack) from [<804100b0>] (dump_stack+0x78/0x8c)
[    3.344570] [<804100b0>] (dump_stack) from [<80380848>] (ubifs_get_pnode.part.4+0x23c/0x2ac)
[    3.355505] [<80380848>] (ubifs_get_pnode.part.4) from [<803821e8>] (ubifs_lpt_lookup_dirty+0x264/0x2ac)
[    3.367584] [<803821e8>] (ubifs_lpt_lookup_dirty) from [<8038556c>] (ubifs_update_one_lp+0x34/0x140)
[    3.379349] [<8038556c>] (ubifs_update_one_lp) from [<80374270>] (ubifs_tnc_remove_range+0xd4/0x258)
[    3.391179] [<80374270>] (ubifs_tnc_remove_range) from [<803746d4>] (ubifs_tnc_remove_ino+0x12c/0x134)
[    3.403230] [<803746d4>] (ubifs_tnc_remove_ino) from [<80376e74>] (ubifs_replay_journal+0xe74/0x12a0)
[    3.415201] [<80376e74>] (ubifs_replay_journal) from [<8036cb78>] (ubifs_mount+0x11c0/0x15e8)
[    3.426463] [<8036cb78>] (ubifs_mount) from [<80204e78>] (mount_fs+0x14/0xa4)
[    3.436325] [<80204e78>] (mount_fs) from [<8021f788>] (vfs_kern_mount+0x4c/0xf4)
[    3.446453] [<8021f788>] (vfs_kern_mount) from [<80222590>] (do_mount+0x154/0xb88)
[    3.456753] [<80222590>] (do_mount) from [<80223364>] (SyS_mount+0x90/0xc0)
[    3.466413] [<80223364>] (SyS_mount) from [<80b011b0>] (mount_block_root+0x138/0x2a0)
[    3.476928] [<80b011b0>] (mount_block_root) from [<80b014e0>] (prepare_namespace+0x9c/0x194)
[    3.488046] [<80b014e0>] (prepare_namespace) from [<80b00e48>] (kernel_init_freeable+0x1d4/0x1e4)
[    3.499628] [<80b00e48>] (kernel_init_freeable) from [<807a3308>] (kernel_init+0x8/0x108)
[    3.510531] [<807a3308>] (kernel_init) from [<801078d0>] (ret_from_fork+0x14/0x24)
[    3.520944] UBIFS error (ubi0:4 pid 1): ubifs_get_pnode.part.4: calc num: 425
[    3.530923] UBIFS error (ubi0:4 pid 1): ubifs_update_one_lp: cannot update properties of LEB 1713, error -22
[    3.543680] znode 8659aa00, LEB 1862:115280 len 188 parent 8659a900 iip 0 level 0 child_cnt 8 flags 1
[    3.555867] zbranches:
[    3.561084]  0: LNC   (null) LEB 1835:118736 len 1030 key (17899, data, 1203)
[    3.571130]  1: LNC   (null) LEB 1835:119768 len 983 key (17899, data, 1204)
[    3.581074]  2: LNC   (null) LEB 1835:120752 len 1018 key (17899, data, 1205)
[    3.591101]  3: LNC   (null) LEB 1835:121776 len 1077 key (17899, data, 1206)
[    3.601100]  4: LNC   (null) LEB 1835:122856 len 1048 key (17899, data, 1207)
[    3.611097]  5: LNC   (null) LEB 1835:123904 len 1025 key (17899, data, 1208)
[    3.621085]  6: LNC   (null) LEB 1835:124936 len 1036 key (17899, data, 1209)
[    3.631054]  7: LNC   (null) LEB 1713:0 len 1009 key (17899, data, 1210)
[    3.648919] List of all partitions:
[    3.655369] No filesystem could mount root, tried: [    3.660244]  ubifs
[    3.665039] 
[    3.669247] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    3.680325] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Best regards

Hi @joaopaulob

The module needs stable voltage supply to work correctly. A sudden power loss can always lead to corruption of data on storage devices especially if you are doing log of write operations.

We had a lot of headaches with Linux Image 2.7 version.

What kind of issues did you have with Bsp 2.7. Did you reinstall the image and check if this works? Additionally you should update to Bsp 2.8, which is our actual release.

Best regards, Jaski

@jaski.tx , sorry to jump into this. I also get the same report from other customer. UBI is designed to be tolerant of power failures and unclean reboots. However, such issue still happens. So is clean poweroff suggested even for iMX7/Vybrid based modules using UBI ?

@jaski.tx , I checked the log of customers’ imx7s module. Bad blocks are found at page 262080 and 262016, the same location as post by joaopaulob here. Module version is imx7s v1.1B as well. Accident power loss can rarely leads to same bad block address. The log is attached.

In general, UBI/UBIFS should of course be very well power cut safe. However, in practise, there are quite a few subtle issues which one may run into. While our regular demo images should meet such needs and are thoroughly validated in our temperature chambers doing millions of power cuts we are working with the UBI/UBIFS maintainers to fix one remaining issue we are still rarely seeing.