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

Reply via email to