Date: Wed, 18 Feb 2015 15:47:31 -0500 From: George Rosamond <george@ceetonetechnology.com> To: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: more on vfs/ufs locks with BBB Message-ID: <54E4FA63.8080800@ceetonetechnology.com>
next in thread | raw e-mail | index | archive | help
This is a regular issue on BeagleBones in particular for me. This is on -current with revision 278962. Have used multiple microSD cards. Using the most recent crochet, and the default BEAGLEBONE kernel with WITNESS enabled, etc. I created a static image size this time for a 16G microSD card, and disabled Autosize/growfs. option ImageSize 15600mb I'm also fighting with regular dropped connections when attempting to update the ports tree with svnlite on BeagleBones and Raspberry Pis, that bombs out with "svn: E120106: ra_serf: The server sent a truncated HTTP response body." But it seems unrelated at this point. On first login, the first command I ran was passwd(1), and boom. Relevant line in sys/kern/vfs_bio.c is: BO_LOCKPTR(bo), "getblk", slpflag, slptimeo); And line in sys/ufs/ufs/ufs_dirhash.c sx_xlock(&dh->dh_lock); root@bbb-fbsd:~ # passwd Changing local password for root New Password: Retype New Password: lock order reversal: 1st 0xcd115ad0 bufwait (bufwait) @ /data/fbsd-head/sys/kern/vfs_bio.c:3097 2nd 0xc2f39c00 dirhash (dirhash) @ /data/fbsd-head/sys/ufs/ufs/ufs_dirhash.c:285 KDB: stack backtrace: db_trace_self() at db_trace_self pc = 0xc05ad730 lr = 0xc0233288 (db_trace_self_wrapper+0x2c) sp = 0xde6eb800 fp = 0xc07505b0 db_trace_self_wrapper() at db_trace_self_wrapper+0x2c pc = 0xc0233288 lr = 0xc03a5b44 (kdb_backtrace+0x34) sp = 0xde6eb918 fp = 0xc07505b0 r4 = 0xc0720214 kdb_backtrace() at kdb_backtrace+0x34 pc = 0xc03a5b44 lr = 0xc03bf36c (_witness_debugger+0x2c) sp = 0xde6eb920 fp = 0xc07505b0 r4 = 0x00000001 _witness_debugger() at _witness_debugger+0x2c pc = 0xc03bf36c lr = 0xc03c0d98 (witness_checkorder+0x904) sp = 0xde6eb930 fp = 0xc07505b0 r4 = 0xc06402c0 r5 = 0xcd115ad0 witness_checkorder() at witness_checkorder+0x904 pc = 0xc03c0d98 lr = 0xc0375da8 (_sx_xlock+0xa0) sp = 0xde6eb978 fp = 0x000081a4 r4 = 0xc2f39c00 r5 = 0xc2f39c00 r6 = 0xc063ff1c r7 = 0x0000011d r8 = 0x00000000 r9 = 0x000001ec r10 = 0xc2d6ed80 _sx_xlock() at _sx_xlock+0xa0 pc = 0xc0375da8 lr = 0xc056b19c (ufsdirhash_acquire+0x28) sp = 0xde6eb998 fp = 0x000081a4 r4 = 0xc2f39c00 r5 = 0x00000814 r6 = 0xc2d6ed80 r7 = 0xc2d6ed80 r8 = 0x00000014 ufsdirhash_acquire() at ufsdirhash_acquire+0x28 pc = 0xc056b19c lr = 0xc056b6fc (ufsdirhash_add+0x18) sp = 0xde6eb9a8 fp = 0x000081a4 r4 = 0xcd33c800 r5 = 0x00000814 r6 = 0xde6eba68 ufsdirhash_add() at ufsdirhash_add+0x18 pc = 0xc056b6fc lr = 0xc056eebc (ufs_direnter+0x7e8) sp = 0xde6eb9c0 fp = 0x000081a4 r4 = 0xcd33c800 r5 = 0x00000200 r6 = 0xcd33c814 r7 = 0x00000001 ufs_direnter() at ufs_direnter+0x7e8 pc = 0xcd056eebc lr = 0xc0576448 (ufs_makeinode+0x50c) sp = 0xde6eba30 fp = 0x000081a4 r4 = 0xde6eba68 r5 = 0xc30cc400 r6 = 0x00000000 r7 = 0x00000001 r8 = 0xc2c68900 r9 = 0xde6ebd48 r10 = 0xde6ebd60 ufs_makeinode() aft ufs_makeinode+0x50c pc = 0xc0576448 lr = 0xc05767a0 (ufs_create+0x2c) sp = 0xde6ebb98 fp = 0x00000000 r4 = 0xde6ebbdc r5 = 0x00000000 r6 = 0x00000000 r7 = 0x00000000 r8 = 0xde6ebbdc r9 = 0xc2fd7990 r10 = 0xde6ebdc0 ufs_create() at ufs_create+0x2c pc = 0xc05767a0 lr = 0xc05dda94 (VOP_CREATE_APV+0xfc) sp = 0xde6ebbb0 fp = 0x00000000 r4 = 0xc06f1e9c r5 = 0x00000000 VOP_CREATE_APV() at VOP_CREATE_APV+0xfc pc = 0xc05dda94 lr = 0xc041d0b4 (vn_open_cred+0x178) sp = 0xde6ebbd0 fp = 0x00000000 r4 = 0xde6ebcf8 r5 = 0xde6ebc84 r6 = 0x00000a02 r7 = 0x00000000 r8 = 0x000001a4 vn_open_cred() at vn_open_cred+0x178 pc = 0xc041d0b4 lr = 0xc041d244 (vn_open+0x20) sp = 0xde6ebca8 fp = 0x00000000 r4 = 0x000001a4 r5 = 0xde6ebdc0 r6 = 0xde6ebcf8 r7 = 0x00000000 r8 = 0xc2fd7990 r9 = 0xffffff9c r10 = 0xbfffec98 vn_open() at vn_ open+0x20 pc = 0xc041d244 lr = 0xc0417b84 (kern_openat+0x264) sp = 0xde6ebcb8 fp = 0x00000000 kern_openat() at kern_openat+0x264 pc = 0xc0417b84 lr = 0xc0417e88 (sys_openat+0x28) sp = 0xde6ebdc0 fp = 0x00000000 r4 = 0xbfffec98 r5 = 0xde6ebe50 r6 = 0xc2fd7990 r7 = 0xc2d46a68 r8 = 0x00000000 r9 = 0x60000013 r10 = 0x00000000 sys_openat() at sys_openat+0x28 pc = 0xc0417e88 lr = 0xc05c0c98 (swi_handler+0x2fc) sp = 0xde6ebdd0 fp = 0x00000000 swi_handler() at swi_handler+0x2fc pc = 0xc05c0c98 lr = 0xc05aece4 (swi_exit) sp = 0xde6ebe50 fp = 0x00000000 r4 = 0xbfffec98 r5 = 0xbfffec98 r6 = 0x2081b088 r7 = 0x000001f3 r8 = 0x00000040 r9 = 0x0000b904 r10 = 0x0000b90c swi_exit() at swi_exit pc = 0xc05aece4 lr = 0xc05aece4 (swi_exit) sp = 0xde6ebe50 fp = 0x00000000 I don't think it matters, but my build /etc/src.conf file contains: WITHOUT_AUTHPF=yes WITHOUT_BIND=yes WITHOUT_BLUETOOTH=yes WITHOUT_EXAMPLES=yes WITHOUT_FLOPPY=yes WITHOUT_GAMES=yes WITHOUT_HTML=yes WITHOUT_IPFILTER=yes WITHOUT_IPFW=yes WITHOUT_IPX=yes WITHOUT_LPR=yes WITHOUT_MAN=yes WITHOUT_NCP=yes WITHOUT_NDIS=yes WITHOUT_NIS=yes WITHOUT_PPP=yes #WITHOUT_SENDMAIL=yes WITHOUT_SHAREDOCS=yes WITHOUT_WIRELESS=yes WITHOUT_WPA_SUPPLICANT_EAPOL=yes WITHOUT_ZFS=yes WITHOUT_INET6=yes g
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54E4FA63.8080800>