2014-01-11, José Vázquez <ppvazquez...@gmail.com>: > 2014/1/3, danitool <dgcb...@gmail.com>: >> I'm also having these problems. The bug is very easy to reproduce. Just >> using the jffs2 image instead of squashfs, the problems are shown with >> the >> first boot, and you can see lot of funny names just listing /etc/init.d >> >> root@(none):/# ls -l /etc/init.d/ >> -rwxr-xr-x 1 root root 1993 Jan 2 2014 boot >> -rwxr-xr-x 1 root root 368 Dec 20 2013 ciciixixmeme >> -rwxr-xr-x 1 root root 729 Dec 20 2013 cron >> -rwxr-xr-x 1 root root 3920 Jan 2 2014 dropbear >> -rwxr-xr-x 1 root root 4173 Jan 2 2014 eleld?d >> -rwxr-xr-x 1 root root 262 Jan 2 2014 firellll >> -rwxr-xr-x 1 root root 2015 Dec 20 2013 led >> -rwxr-xr-x 1 root root 926 Dec 20 2013 lnlnet >> -rwxr-xr-x 1 root root 1694 Jan 2 2014 log >> -rwxr-xr-x 1 root root 835 Dec 20 2013 >> lucihchcmimigrate >> -rwxr-xr-x 1 root root 308 Dec 20 2013 nene >> -rwxr-xr-x 1 root root 125 Dec 20 2013 scsctl >> -rwxr-xr-x 1 root root 13640 Jan 2 2014 smsmq?q >> -rwxr-xr-x 1 root root 718 Dec 20 2013 snsnd?d >> -rwxr-xr-x 1 root root 945 Jan 2 2014 twtwk?k >> -rwxr-xr-x 1 root root 3324 Jan 2 2014 uhttpd >> -rwxr-xr-x 1 root root 106 Jan 2 2014 umount >> -rwxr-xr-x 1 root root 522 Dec 20 2013 ununndnd >> >> It's like a baby learning to talk. >> >> Since this is happening when using a jffs2 image, overlayfs isn't used, >> isn't it?, then the problem shouldn't be related to the overlayfs driver. >>
Checking "Debug object operations" (DEBUG_OBJECTS) and its related options, and "Lock debugging: prove locking correctness" (PROVE_LOCKING) the kernel shows this warning in a board based in BCM6368 (parallel flash), with and without SMP enabled: [ 5.854166] hub 2-0:1.0: USB hub found [ 5.854166] hub 2-0:1.0: 1 port detected [ 5.874999] usbcore: registered new interface driver usb-storage kmod: ran 1 iterations [ 7.041666] jffs2: notice: (251) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked,. [ 7.062499] ------------[ cut here ]------------ [ 7.062499] WARNING: at lib/debugobjects.c:260 debug_print_object+0xb8/0xe4() [ 7.062499] ODEBUG: assert_init not available (active state 0) object type: timer_list hint: stub_timer+0x0/0x10 [ 7.062499] Modules linked in: usb_storage ohci_hcd ehci_platform ehci_hcd sd_mod scsi_mod ext4 crc16 jbd2 mbcache usbcoreh [ 7.062499] CPU: 0 PID: 251 Comm: block Not tainted 3.10.28 #3 [ 7.062499] Stack : 00000000 00000000 8040b842 00000032 00000000 83a24f10 803248a0 8039a1e3 000000fb 00000000 8040afe8 83a24f10 8381fa80 0045d65c 7f8b5630 8002dbd4 803a3288 8002afc4 00000000 00000000 80327888 830ebc8c 830ebc8c 803248a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 830ebc20 ... [ 7.062499] Call Trace: [ 7.062499] [<80020e6c>] show_stack+0x48/0x70 [ 7.062499] [<8002b0b8>] warn_slowpath_common+0x78/0xa8 [ 7.062499] [<8002b114>] warn_slowpath_fmt+0x2c/0x38 [ 7.062499] [<8019b0b8>] debug_print_object+0xb8/0xe4 [ 7.062499] [<8019bfd4>] debug_object_assert_init+0xd0/0x13c [ 7.062499] [<8003ae04>] del_timer+0x20/0x7c [ 7.062499] [<80047ed4>] try_to_grab_pending+0x40/0x1c8 [ 7.062499] [<800495c8>] __cancel_work_timer+0x34/0x13c [ 7.062499] [<801521e8>] jffs2_sync_fs+0x20/0x54 [ 7.062499] [<80108550>] sync_filesystem+0x60/0xbc [ 7.062499] [<800dc158>] generic_shutdown_super+0x34/0xdc [ 7.062499] [<801e0468>] kill_mtd_super+0x14/0x30 [ 7.062499] [<80152018>] jffs2_kill_sb+0x34/0x4c [ 7.062499] [<800dbf8c>] deactivate_locked_super+0x48/0x84 [ 7.062499] [<800fab28>] SyS_umount+0x338/0x3ac [ 7.062499] [<800128e8>] stack_done+0x20/0x44 [ 7.062499] [ 7.062499] ---[ end trace 75b840b26e82af40 ]--- [ 7.229166] INFO: trying to register non-static key. [ 7.229166] the code is fine but needs lockdep annotation. [ 7.229166] turning off the locking correctness validator. [ 7.229166] CPU: 0 PID: 251 Comm: block Tainted: G W 3.10.28 #3 [ 7.229166] Stack : 00000000 00000000 8040b842 0000003d 00000000 83a24f10 803248a0 8039a1e3 000000fb 00000000 8040afe8 83a24f10 83bb32a0 00000000 00000000 8002dbd4 00000002 8002af50 00000000 00000000 80327888 830ebc84 830ebc84 803248a0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 830ebc18 ... [ 7.229166] Call Trace: [ 7.229166] [<80020e6c>] show_stack+0x48/0x70 [ 7.229166] [<80070ab4>] __lock_acquire.isra.18+0x1ec/0xcb8 [ 7.229166] [<80071dd4>] lock_acquire+0xe0/0x160 [ 7.229166] [<800492dc>] flush_work+0x54/0x30c [ 7.229166] [<80049668>] __cancel_work_timer+0xd4/0x13c [ 7.229166] [<801521e8>] jffs2_sync_fs+0x20/0x54 [ 7.229166] [<80108550>] sync_filesystem+0x60/0xbc [ 7.229166] [<800dc158>] generic_shutdown_super+0x34/0xdc [ 7.229166] [<801e0468>] kill_mtd_super+0x14/0x30 [ 7.229166] [<80152018>] jffs2_kill_sb+0x34/0x4c [ 7.229166] [<800dbf8c>] deactivate_locked_super+0x48/0x84 [ 7.229166] [<800fab28>] SyS_umount+0x338/0x3ac [ 7.229166] [<800128e8>] stack_done+0x20/0x44 [ 7.229166] mount_root: jffs2 is ready [ 7.374999] jffs2: notice: (248) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked,. ifconfig: SIOCGIFFLAGS: No such device procd: - early - procd: - ubus - procd: - init - Please press Enter to activate this console. [ 10.624999] Loading modules backported from Linux version master-2013-11-05-0-gafa3093 This message appears too with BCM6358 (parallel flash); also note the two "jffs2: notice:": [ 10.248000] device: 'ep_00': device_add [ 10.288000] jffs2: notice: (318) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked,. [ 10.308000] ------------[ cut here ]------------ [ 10.308000] WARNING: at lib/debugobjects.c:260 debug_print_object+0xb8/0xe4() [ 10.308000] ODEBUG: assert_init not available (active state 0) object type: timer_list hint: stub_timer+0x0/0x10 [ 10.308000] Modules linked in: usb_storage ohci_hcd ehci_platform ehci_hcd sd_mod scsi_mod ext4 crc16 jbd2 mbcache usbcoreh [ 10.308000] CPU: 0 PID: 318 Comm: block Not tainted 3.10.28 #8 [ 10.308000] Stack : 00000000 00000000 00000000 00000000 8037b762 00000032 82cc68c0 0045c96c 802a94f8 803070bb 0000013e 8037af18 82cc68c0 0045c96c 83819be0 0045d65c 7fc9bb80 8002a944 00000003 8002806c 00000000 00000000 802ac7ec 82fbbc94 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 82fbbc20 ... [ 10.308000] Call Trace: [ 10.308000] [<8001f3f8>] show_stack+0x48/0x70 [ 10.308000] [<80028160>] warn_slowpath_common+0x78/0xa8 [ 10.308000] [<800281bc>] warn_slowpath_fmt+0x2c/0x38 [ 10.308000] [<80168454>] debug_print_object+0xb8/0xe4 [ 10.308000] [<801692a4>] debug_object_assert_init+0xdc/0x110 [ 10.308000] [<80036a60>] del_timer+0x20/0x7c [ 10.308000] [<8004265c>] try_to_grab_pending+0x40/0x1c0 [ 10.308000] [<80043d5c>] __cancel_work_timer+0x34/0x138 [ 10.308000] [<8012793c>] jffs2_sync_fs+0x20/0x50 [ 10.308000] [<800e18b8>] sync_filesystem+0x60/0xbc [ 10.308000] [<800b8d00>] generic_shutdown_super+0x34/0xdc [ 10.308000] [<801ab408>] kill_mtd_super+0x14/0x30 [ 10.308000] [<8012776c>] jffs2_kill_sb+0x34/0x4c [ 10.308000] [<800b8b34>] deactivate_locked_super+0x48/0x84 [ 10.308000] [<800d4968>] SyS_umount+0x328/0x39c [ 10.308000] [<800127fc>] stack_done+0x20/0x44 [ 10.308000] [ 10.308000] ---[ end trace 8df3a1bac73ffb9b ]--- mount_root: jffs2 is ready [ 10.520000] jffs2: notice: (315) jffs2_build_xattr_subsystem: complete building xattr subsystem, 1 of xdatum (0 unchecked,. As reference tested the same options in other boards based in BCM6328 (SPI flash), RT3052 (SPI flash) and Lantiq Danube (parallel flash) only shows a warning when issuing "sync" or "reboot"; the BCM6358 and BCM6368 show the same message too: root@OpenWrt:/# sync [ 49.464000] ------------[ cut here ]------------ [ 49.464000] WARNING: at lib/debugobjects.c:260 debug_print_object+0xb8/0xe4() [ 49.464000] ODEBUG: assert_init not available (active state 0) object type: timer_list hint: stub_timer+0x0/0x10 [ 49.464000] Modules linked in: iptable_nat ath5k ath nf_nat_ipv4 nf_conntrack_ipv4 mac80211 iptable_raw iptable_mangle iptg [ 49.464000] CPU: 0 PID: 708 Comm: sync Not tainted 3.10.28 #1 [ 49.464000] Stack : 00000000 00000000 00000000 00000000 805f339a 00000031 805f339a 20000000 803a2320 80585d3b 000002c4 805f2b3c 82950378 20000000 805a0000 82b55f24 801011e4 80025fb8 00000003 80023538 00000000 00000000 803a4d50 82b55d1c 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 82b55ca8 ... [ 49.464000] Call Trace: [ 49.464000] [<80017e1c>] show_stack+0x48/0x70 [ 49.464000] [<8002362c>] warn_slowpath_common+0x78/0xa8 [ 49.464000] [<80023688>] warn_slowpath_fmt+0x2c/0x38 [ 49.464000] [<801a340c>] debug_print_object+0xb8/0xe4 [ 49.464000] [<801a4290>] debug_object_assert_init+0xe4/0x118 [ 49.464000] [<800330cc>] del_timer+0x20/0x7c [ 49.464000] [<800402c4>] try_to_grab_pending+0x58/0x1e8 [ 49.464000] [<80041c40>] __cancel_work_timer+0x34/0x13c [ 49.464000] [<8014fc20>] jffs2_sync_fs+0x20/0x54 [ 49.464000] [<800d6834>] iterate_supers+0xa4/0x124 [ 49.464000] [<80101588>] sys_sync+0x44/0x9c [ 49.464000] [<800081b0>] stack_done+0x20/0x44 [ 49.464000] [ 49.464000] ---[ end trace 45721bde3753589b ]--- I'm pretty sure that the jffs2 file name corruption problem doesn't happen BCM63xx SoCs with spi flash and smp enabled, so, if this is correct, seems to be a race condition between the flash type, jffs2 and some Broadcom SoCs, as Jonas pointed some time ago. These warnings are easily reproducible enabling the mentioned options in the kernel. Initially my intention was to send this information to linux-mips but, because these warnings can be repeated easily i think that this should be discussed by more skilled and experienced people. Some other options inside "Kernel hacking" couldn't be tested because with them enabled the CFE of the VR-3025un was unable to uncompress the firmware. Regards: José _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel