Hi,
Our company has around 400 iMX7 on the field. In a period of 8 months we’ve already had 4 cases of kernel panic due to ubifs errors. Is there any recommendation to avoid this problem? eg. a new kernel 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 30C
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# 02952173
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: 22/3, 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 console=tty1 console=ttymxc0,115200n8 consoleblank=0
[ 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.000021] Switching to timer-based delay loop, resolution 125ns
[ 0.000357] Ignoring duplicate/late registration of read_current_timer delay
[ 0.000378] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[ 0.001861] Console: colour dummy device 80x30
[ 0.002593] console [tty1] enabled
[ 0.002627] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=8000)
[ 0.002679] pid_max: default: 32768 minimum: 301
[ 0.002815] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.002850] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.003600] CPU: Testing write buffer coherency: ok
[ 0.003970] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.016065] Brought up 1 CPUs
[ 0.016103] SMP: Total of 1 processors activated (16.00 BogoMIPS).
[ 0.016132] CPU: All CPU(s) started in SVC mode.
[ 0.016762] devtmpfs: initialized
[ 0.030484] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.030866] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[ 0.030927] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.035970] pinctrl core: initialized pinctrl subsystem
[ 0.037340] NET: Registered protocol family 16
[ 0.044406] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.048771] cpuidle: using governor menu
[ 0.061674] DDR type is DDR3!
[ 0.069732] imx7d_enet_clk_sel: fec1: failed to get enet_out clock, assuming ext. clock source
[ 0.069814] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.069857] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.070273] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[ 0.071962] imx7d-pinctrl 30330000.iomuxc: initialized IMX pinctrl driver
[ 0.072843] imx-gpcv2 30000000.aips-bus:pgc: mipi regulator not ready.
[ 0.073527] MU is ready for cross core communication!
[ 0.103568] mxs-dma 33000000.dma-apbh: initialized
[ 0.105292] VCC_USB[1-4]: supplied by 5V
[ 0.106031] SCSI subsystem initialized
[ 0.106353] usbcore: registered new interface driver usbfs
[ 0.106457] usbcore: registered new interface driver hub
[ 0.106595] usbcore: registered new device driver usb
[ 0.106881] 30800000.aips-bus:usbphynop1 supply vcc not found, using dummy regulator
[ 0.107054] 30800000.aips-bus:usbphynop3 supply vcc not found, using dummy regulator
[ 0.108255] i2c i2c-0: IMX I2C adapter registered
[ 0.108297] i2c i2c-0: can't use DMA, using PIO instead.
[ 0.108573] Linux video capture interface: v2.00
[ 0.108650] pps_core: LinuxPPS API ver. 1 registered
[ 0.108679] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.108740] PTP clock support registered
[ 0.109295] imx rpmsg driver is registered.
[ 0.109496] Advanced Linux Sound Architecture Driver Initialized.
[ 0.111250] clocksource: Switched to clocksource arch_sys_counter
[ 0.111416] VFS: Disk quotas dquot_6.6.0
[ 0.111513] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.123704] NET: Registered protocol family 2
[ 0.124423] TCP established hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.124492] TCP bind hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.124558] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.124636] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.124691] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.124868] NET: Registered protocol family 1
[ 0.127387] RPC: Registered named UNIX socket transport module.
[ 0.127423] RPC: Registered udp transport module.
[ 0.127450] RPC: Registered tcp transport module.
[ 0.127475] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.129502] Bus freq driver module loaded
[ 0.132115] workingset: timestamp_bits=30 max_order=16 bucket_order=0
[ 0.142580] NFS: Registering the id_resolver key type
[ 0.142640] Key type id_resolver registered
[ 0.142667] Key type id_legacy registered
[ 0.142703] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.145491] ntfs: driver 2.1.32 [Flags: R/W].
[ 0.145937] fuse init (API version 7.26)
[ 0.154681] io scheduler noop registered
[ 0.154720] io scheduler deadline registered
[ 0.154959] io scheduler cfq registered (default)
[ 0.158151] 30730000.lcdif supply lcd not found, using dummy regulator
[ 0.225526] mxsfb 30730000.lcdif: failed to find mxc display driver
[ 0.237361] Console: switching to colour frame buffer device 128x37
[ 0.252070] mxsfb 30730000.lcdif: initialized
[ 0.253645] imx-sdma 30bd0000.sdma: no iram assigned, using external mem
[ 0.257228] imx-sdma 30bd0000.sdma: loaded firmware 4.2
[ 0.264832] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 52, base_baud = 1500000) is a IMX
[ 0.948517] console [ttymxc0] enabled
[ 0.955399] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 53, base_baud = 1500000) is a IMX
[ 0.967400] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 54, base_baud = 1500000) is a IMX
[ 0.995095] loop: module loaded
[ 1.006340] vdd1p0d: supplied by DCDC3
[ 1.028857] random: fast init done
[ 1.035834] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xdc
[ 1.044552] nand: Macronix MX30LF4G28AB
[ 1.050707] nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 112
[ 1.062552] gpmi-nand 33002000.gpmi-nand: enable the asynchronous EDO mode 5
[ 1.072208] Bad block table found at page 262080, version 0x01
[ 1.080673] Bad block table found at page 262016, version 0x01
[ 1.089327] 5 ofpart partitions found on MTD device gpmi-nand
[ 1.097543] Creating 5 MTD partitions on "gpmi-nand":
[ 1.105049] 0x000000000000-0x000000080000 : "mx7-bcb"
[ 1.113058] 0x000000080000-0x000000200000 : "u-boot1"
[ 1.120941] 0x000000200000-0x000000380000 : "u-boot2"
[ 1.128803] 0x000000380000-0x000000400000 : "u-boot-env"
[ 1.136879] 0x000000400000-0x000020000000 : "ubi"
[ 1.152853] gpmi-nand 33002000.gpmi-nand: driver registered.
[ 1.161911] spi_imx 30840000.ecspi: dma setup error -19, use pio
[ 1.171059] spi_imx 30840000.ecspi: probed
[ 1.177970] libphy: Fixed MDIO Bus: probed
[ 1.186832] pps pps0: new PPS source ptp0
[ 1.200417] libphy: fec_enet_mii_bus: probed
[ 1.208107] fec 30be0000.ethernet eth0: registered PHC device 0
[ 1.216482] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.225293] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 1.233085] usbcore: registered new interface driver usb-storage
[ 1.241491] usbcore: registered new interface driver usbserial
[ 1.249597] usbcore: registered new interface driver usbserial_generic
[ 1.258326] usbserial: USB Serial support registered for generic
[ 1.266468] usbcore: registered new interface driver ftdi_sio
[ 1.274348] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 1.283842] usbcore: registered new interface driver pl2303
[ 1.291542] usbserial: USB Serial support registered for pl2303
[ 1.300774] 30b10200.usbmisc supply vbus-wakeup not found, using dummy regulator
[ 1.310518] 30b30200.usbmisc supply vbus-wakeup not found, using dummy regulator
[ 1.321592] mousedev: PS/2 mouse device common for all mice
[ 1.332550] input: AD7879 Touchscreen as /devices/soc0/soc/30800000.aips-bus/30a20000.i2c/i2c-0/0-002c/input/input0
[ 1.346526] snvs_rtc 30370000.snvs:snvs-rtc-lp: rtc core: registered 30370000.snvs:snvs- as rtc1
[ 1.357732] i2c /dev entries driver
[ 1.366067] imx2-wdt 30280000.wdog: timeout 60 sec (nowayout=0)
[ 1.375959] sdhci: Secure Digital Host Controller Interface driver
[ 1.384538] sdhci: Copyright(c) Pierre Ossman
[ 1.391212] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.400140] sdhci-esdhc-imx 30b40000.usdhc: Got CD GPIO
[ 1.442519] mmc0: SDHCI controller on 30b40000.usdhc [30b40000.usdhc] using ADMA
[ 1.458920] caam 30900000.caam: ERA source: CCBVID.
[ 1.467908] caam 30900000.caam: Entropy delay = 3200
[ 1.476599] caam 30900000.caam: Instantiated RNG4 SH0
[ 1.536013] caam 30900000.caam: Instantiated RNG4 SH1
[ 1.543507] caam 30900000.caam: device ID = 0x0a16030000000000 (Era 8)
[ 1.554541] caam 30900000.caam: job rings = 3, qi = 0
[ 1.582311] caam algorithms registered in /proc/crypto
[ 1.605904] caam_jr 30901000.jr0: registering rng-caam
[ 1.616961] caam 30900000.caam: caam pkc algorithms registered in /proc/crypto
[ 1.627603] hidraw: raw HID events driver (C) Jiri Kosina
[ 1.635782] usbcore: registered new interface driver usbhid
[ 1.643885] usbhid: USB HID core driver
[ 1.658750] coresight-etm3x 3007c000.etm: ETM 3.5 initialized
[ 1.675017] sgtl5000 0-000a: sgtl5000 revision 0x11
[ 1.735909] Netfilter messages via NETLINK v0.30.
[ 1.745348] nfnl_acct: registering with nfnetlink.
[ 1.752866] nf_conntrack version 0.5.0 (4096 buckets, 16384 max)
[ 1.761729] nf_tables: (c) 2007-2009 Patrick McHardy <kaber@trash.net>
[ 1.773228] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.784858] NET: Registered protocol family 10
[ 1.794069] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 1.803110] NET: Registered protocol family 17
[ 1.810162] Bridge firewalling registered
[ 1.818729] 8021q: 802.1Q VLAN Support v1.8
[ 1.827331] Key type dns_resolver registered
[ 1.846459] Registering SWP/SWPB emulation handler
[ 1.856353] registered taskstats version 1
[ 1.909475] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 1.916662] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 1.933368] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 1.942180] hub 1-0:1.0: USB hub found
[ 1.948194] hub 1-0:1.0: 1 port detected
[ 1.956154] imx_thermal 30000000.aips-bus:tempmon: Extended Commercial CPU temperature grade - max:105C critical:100C passive:95C
[ 1.990975] asoc-simple-card sound: sgtl5000 <-> 308a0000.sai mapping ok
[ 2.001766] ubi0: default fastmap pool size: 200
[ 2.008913] ubi0: default fastmap WL pool size: 100
[ 2.016224] ubi0: attaching mtd4
[ 2.202288] ubi0: attached by fastmap
[ 2.208394] ubi0: fastmap pool size: 200
[ 2.214682] ubi0: fastmap WL pool size: 100
[ 2.232061] ubi0: attached mtd4 (name "ubi", size 508 MiB)
[ 2.239897] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[ 2.249090] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[ 2.258210] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[ 2.267504] ubi0: good PEBs: 4060, bad PEBs: 4, corrupted PEBs: 0
[ 2.275999] ubi0: user volume: 5, internal volumes: 1, max. volumes count: 128
[ 2.285623] ubi0: max/mean erase counter: 22/3, WL threshold: 4096, image sequence number: 0
[ 2.296498] ubi0: available PEBs: 0, total reserved PEBs: 4060, PEBs reserved for bad PEB handling: 76
[ 2.308340] ubi0: background thread "ubi_bgt0d" started, PID 155
[ 2.317656] input: gpio-keys as /devices/soc0/gpio-keys/input/input1
[ 2.318165] hctosys: unable to open rtc device (rtc0)
[ 2.361472] ALSA device list:
[ 2.367840] #0: imx7-sgtl5000
[ 2.405439] UBIFS (ubi0:4): recovery needed
[ 2.647855] random: crng init done
[ 2.743696] UBIFS error (ubi0:4 pid 1): ubifs_get_pnode.part.4: error -22 reading pnode at 9:75862
[ 2.755321] (pid 1) dumping pnode:
[ 2.761312] address 864aa880 parent 864aa800 cnext 0
[ 2.768980] flags 0 iip 3 level 0 num 0
[ 2.775499] 0: free 77824 dirty 131048 flags 1 lnum 0
[ 2.783252] 1: free 0 dirty 6944 flags 1 lnum 0
[ 2.790493] 2: free 0 dirty 94192 flags 1 lnum 0
[ 2.797853] 3: free 0 dirty 2552 flags 1 lnum 0
[ 2.804953] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.87-dirty #1
[ 2.813793] Hardware name: Freescale i.MX7 Dual (Device Tree)
[ 2.821936] [<8010e904>] (unwind_backtrace) from [<8010b5f4>] (show_stack+0x10/0x14)
[ 2.832103] [<8010b5f4>] (show_stack) from [<804100b0>] (dump_stack+0x78/0x8c)
[ 2.841798] [<804100b0>] (dump_stack) from [<80380848>] (ubifs_get_pnode.part.4+0x23c/0x2ac)
[ 2.852753] [<80380848>] (ubifs_get_pnode.part.4) from [<803821e8>] (ubifs_lpt_lookup_dirty+0x264/0x2ac)
[ 2.864859] [<803821e8>] (ubifs_lpt_lookup_dirty) from [<8038556c>] (ubifs_update_one_lp+0x34/0x140)
[ 2.876658] [<8038556c>] (ubifs_update_one_lp) from [<80373ac4>] (ubifs_tnc_add+0x108/0x120)
[ 2.887817] [<80373ac4>] (ubifs_tnc_add) from [<80376e14>] (ubifs_replay_journal+0xe14/0x12a0)
[ 2.899192] [<80376e14>] (ubifs_replay_journal) from [<8036cb78>] (ubifs_mount+0x11c0/0x15e8)
[ 2.910489] [<8036cb78>] (ubifs_mount) from [<80204e78>] (mount_fs+0x14/0xa4)
[ 2.920390] [<80204e78>] (mount_fs) from [<8021f788>] (vfs_kern_mount+0x4c/0xf4)
[ 2.930558] [<8021f788>] (vfs_kern_mount) from [<80222590>] (do_mount+0x154/0xb88)
[ 2.940895] [<80222590>] (do_mount) from [<80223364>] (SyS_mount+0x90/0xc0)
[ 2.950627] [<80223364>] (SyS_mount) from [<80b011b0>] (mount_block_root+0x138/0x2a0)
[ 2.961222] [<80b011b0>] (mount_block_root) from [<80b014e0>] (prepare_namespace+0x9c/0x194)
[ 2.972419] [<80b014e0>] (prepare_namespace) from [<80b00e48>] (kernel_init_freeable+0x1d4/0x1e4)
[ 2.984043] [<80b00e48>] (kernel_init_freeable) from [<807a3308>] (kernel_init+0x8/0x108)
[ 2.994986] [<807a3308>] (kernel_init) from [<801078d0>] (ret_from_fork+0x14/0x24)
[ 3.005405] UBIFS error (ubi0:4 pid 1): ubifs_get_pnode.part.4: calc num: 335
[ 3.015365] UBIFS error (ubi0:4 pid 1): ubifs_update_one_lp: cannot update properties of LEB 1351, error -22
[ 3.030969] List of all partitions:
[ 3.037458] No filesystem could mount root, tried: [ 3.042318] ubifs
[ 3.047315]
[ 3.051680] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 3.062877] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Best regards