Several minor questions (12.0-amd64)

2017-04-21 Thread Beeblebrox
Hello, I have several brief questions on issues I'm slightly stuck on:

1. For buildworld, my /etc/src.conf uses default CROSS_COMPILER,
CLANG_BOOTSTRAP, CLANG_FULL  for amd64, but I would like clang to xbuild
only for target i386 as I do not need the others (like Target/arm). Is
there a knob for this?

2. Is there a way to read a list of modules inside an unloaded kernel? Sort
of "kldstat -v" for a non-loaded kernel? Reading the kernel manifest
(INCLUDE_CONFIG_FILE setting) is not what I need.

3. Under one scenario, I'm getting a kernel panic but I cannot dump because
busybox states "no dumpdev specified" which means rc.conf (where I have
dumpdev set) has not been read yet. How can I pass dumpdev wile in busybox
command line so that ">dump" does its job?

4. Getting several of these lock order reversals. Kernel is drm-next but
Generic from Head gives the same messages. Not urgent, just FYI.

lock order reversal:
 1st 0xf80064915040 filedesc structure (filedesc structure) @
/asp/git/srcdrm/sys/kern/kern_descrip.c:1234
 2nd 0xf8002e9f0d50 ufs (ufs) @
/asp/git/srcdrm/sys/kern/vfs_subr.c:5022
 stack backtrace:
 #0 0x804d3180 at witness_debugger+0x70
 #1 0x804d3073 at witness_checkorder+0xe23
 #2 0x8044aa35 at __lockmgr_args+0x875
 #3 0x814d09e5 at ffs_lock+0xa5
 #4 0x80717840 at VOP_LOCK1_APV+0xe0
 #5 0x8054847a at _vn_lock+0x6a
 #6 0x8042c9c8 at knlist_remove_kq+0x88
 #7 0x8053f358 at filt_vfsdetach+0x28
 #8 0x8042d4f1 at knote_fdclose+0x171
 #9 0x804206b5 at closefp+0x65
 #10 0x806afe9a at amd64_syscall+0x57a
 #11 0x80692dcb at Xfast_syscall+0xfb

 lock order reversal:
 1st 0xf80064915040 filedesc structure (filedesc structure) @
/asp/git/srcdrm/sys/kern/kern_descrip.c:1234
 2nd 0xf8004b4d3d50 zfs (zfs) @
/asp/git/srcdrm/sys/kern/vfs_subr.c:5022
 stack backtrace:
 #0 0x804d3180 at witness_debugger+0x70
 #1 0x804d3073 at witness_checkorder+0xe23
 #2 0x8044a0fe at lockmgr_lock_fast_path+0x1ce
 #3 0x80717840 at VOP_LOCK1_APV+0xe0
 #4 0x8054847a at _vn_lock+0x6a
 #5 0x8042c9c8 at knlist_remove_kq+0x88
 #6 0x8053f358 at filt_vfsdetach+0x28
 #7 0x8042d4f1 at knote_fdclose+0x171
 #8 0x804206b5 at closefp+0x65
 #9 0x806afe9a at amd64_syscall+0x57a
 #10 0x80692dcb at Xfast_syscall+0xfb

 lock order reversal:
 1st 0xf801aec715f0 syncer (syncer) @
/asp/git/srcdrm/sys/kern/vfs_subr.c:2152
 2nd 0xf8004bc3e068 zfs (zfs) @
/asp/git/srcdrm/sys/kern/vfs_subr.c:2602
 stack backtrace:
 #0 0x804d3180 at witness_debugger+0x70
 #1 0x804d3073 at witness_checkorder+0xe23
 #2 0x8044a0fe at lockmgr_lock_fast_path+0x1ce
 #3 0x80717840 at VOP_LOCK1_APV+0xe0
 #4 0x8054847a at _vn_lock+0x6a
 #5 0x80538892 at vget+0x82
 #6 0x8053a936 at vfs_msync+0xa6
 #7 0x8053ef96 at sync_fsync+0xc6
 #8 0x80716890 at VOP_FSYNC_APV+0xe0
 #9 0x8053d2fc at sched_sync+0x36c
 #10 0x80436f44 at fork_exit+0x84
 #11 0x8069301e at fork_trampoline+0xe

 lock order reversal:
 1st 0xf80039590d50 zfs (zfs) @
/asp/git/srcdrm/sys/kern/vfs_mount.c:855
 2nd 0xf8001a4489a0 devfs (devfs) @
/asp/git/srcdrm/sys/kern/vfs_subr.c:2602
 stack backtrace:
 #0 0x804d3180 at witness_debugger+0x70
 #1 0x804d3073 at witness_checkorder+0xe23
 #2 0x8044a0fe at lo
 ckmgr_lock_fast_path+0x1ce
 #3 0x80717840 at VOP_LOCK1_APV+0xe0
 #4 0x8054847a at _vn_lock+0x6a
 #5 0x80538892 at vget+0x82
 #6 0x80395b2d at devfs_allocv+0xcd
 #7 0x80395643 at devfs_root+0x43
 #8 0x8052f66f at vfs_donmount+0x118f
 #9 0x8052e4b2 at sys_nmount+0x72
 #10 0x806afe9a at amd64_syscall+0x57a
 #11 0x80692dcb at Xfast_syscall+0xfb
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


default uid/gid for nfsuserd.c

2017-04-21 Thread Rick Macklem
Hi,

I just added GID_NOGROUP to sys/conf.h and fixed the initial values for
nobody/nogroup in the kernel.
However, UID_NOBODY and GID_NOGROUP are in the _KERNEL section of
sys/conf.h, so they aren't visible in userland.

So, how to I set the initial uid/gid values for nfsuserd.c?
(nfsuserd.c looks for entries in the password and group databases, so these 
defaults
 only get used if it doesn't find an entry in the database.)
I don't mind using the hardcoded values, but is there a better way?
(Moving the #define's out of the _KERNEL section maybe?)

rick
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


buildworld fails with warning in usr.bin/diff/diffreg.c

2017-04-21 Thread Hamza Sheikh
The error is:

--- all_subdir_usr.bin ---
cc1: warnings being treated as errors
/home/vagrant/src/usr.bin/diff/diffreg.c: In function 'change':
/home/vagrant/src/usr.bin/diff/diffreg.c:1085: warning: 'i' may be
used uninitialized in this function
--- all_subdir_share ---
--- ucred.9.gz ---
gzip -cn /home/vagrant/src/share/man/man9/ucred.9 > ucred.9.gz
--- uidinfo.9.gz ---
gzip -cn /home/vagrant/src/share/man/man9/uidinfo.9 > uidinfo.9.gz
--- uio.9.gz ---
gzip -cn /home/vagrant/src/share/man/man9/uio.9 > uio.9.gz
--- all_subdir_usr.bin ---
*** [diffreg.o] Error code 1

make[4]: stopped in /home/vagrant/src/usr.bin/diff
1 error

make[4]: stopped in /home/vagrant/src/usr.bin/diff
--- all_subdir_share ---
A failure has been detected in another branch of the parallel make

make[5]: stopped in /home/vagrant/src/share/man/man9
--- all_subdir_usr.bin ---
*** [all_subdir_usr.bin/diff] Error code 2

make[3]: stopped in /home/vagrant/src/usr.bin
1 error
--- all_subdir_share ---
*** [all_subdir_share/man/man9] Error code 2

make[4]: stopped in /home/vagrant/src/share/man
1 error

make[4]: stopped in /home/vagrant/src/share/man
*** [all_subdir_share/man] Error code 2

make[3]: stopped in /home/vagrant/src/share
1 error

make[3]: stopped in /home/vagrant/src/share
--- all_subdir_usr.bin ---

make[3]: stopped in /home/vagrant/src/usr.bin
--- all_subdir_share ---
*** [all_subdir_share] Error code 2

make[2]: stopped in /home/vagrant/src
--- all_subdir_usr.bin ---
*** [all_subdir_usr.bin] Error code 2

make[2]: stopped in /home/vagrant/src
--- all_subdir_lib ---
A failure has been detected in another branch of the parallel make

make[8]: stopped in /home/vagrant/src/lib/libcasper/services/cap_grp/tests
*** [grp_test] Error code 2

make[7]: stopped in /home/vagrant/src/lib/libcasper/services/cap_grp/tests
1 error

make[7]: stopped in /home/vagrant/src/lib/libcasper/services/cap_grp/tests
*** [all_subdir_lib/libcasper/services/cap_grp/tests] Error code 2

make[6]: stopped in /home/vagrant/src/lib/libcasper/services/cap_grp
1 error

make[6]: stopped in /home/vagrant/src/lib/libcasper/services/cap_grp
*** [all_subdir_lib/libcasper/services/cap_grp] Error code 2

make[5]: stopped in /home/vagrant/src/lib/libcasper/services
1 error

make[5]: stopped in /home/vagrant/src/lib/libcasper/services
*** [all_subdir_lib/libcasper/services] Error code 2

make[4]: stopped in /home/vagrant/src/lib/libcasper
1 error

make[4]: stopped in /home/vagrant/src/lib/libcasper
*** [all_subdir_lib/libcasper] Error code 2

make[3]: stopped in /home/vagrant/src/lib
1 error

make[3]: stopped in /home/vagrant/src/lib
*** [all_subdir_lib] Error code 2

make[2]: stopped in /home/vagrant/src
--- all_subdir_usr.sbin ---
A failure has been detected in another branch of the parallel make

make[4]: stopped in /home/vagrant/src/usr.sbin/ctld
*** [all_subdir_usr.sbin/ctld] Error code 2

make[3]: stopped in /home/vagrant/src/usr.sbin
1 error

make[3]: stopped in /home/vagrant/src/usr.sbin
*** [all_subdir_usr.sbin] Error code 2

make[2]: stopped in /home/vagrant/src
4 errors

make[2]: stopped in /home/vagrant/src
*** [everything] Error code 2

make[1]: stopped in /home/vagrant/src
1 error

make[1]: stopped in /home/vagrant/src
*** [buildworld] Error code 2

make: stopped in /home/vagrant/src
1 error

make: stopped in /home/vagrant/src

Command exit status: 2







This is what the code snippet in the file looks like when error is encountered:

vagrant@freebsd12current:~/src/usr.bin/diff % awk 'NR>=1080&&NR<=1090' diffreg.c
change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d,
int *pflags)
{
static size_t max_context = 64;
long curpos;
int i, nc;
const char *walk;

restart:
if ((diff_format != D_IFDEF || diff_format == D_GFORMAT) &&
a > b && c > d)







The following snippet removes the error during build:

vagrant@freebsd12current:~/src/usr.bin/diff % awk 'NR>=1080&&NR<=1091' diffreg.c
change(char *file1, FILE *f1, char *file2, FILE *f2, int a, int b, int c, int d,
int *pflags)
{
static size_t max_context = 64;
long curpos;
int i, nc;
int 0;
const char *walk;

restart:
if ((diff_format != D_IFDEF || diff_format == D_GFORMAT) &&
a > b && c > d)







vagrant@freebsd12current:~/src % svnlite info
Path: .
Working Copy Root Path: /home/vagrant/src
URL: svn://svn.freebsd.org/base/head
Relative URL: ^/head
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 317257
Node Kind: directory
Schedule: normal
Last Changed Author: bde
Last Changed Rev: 317256
Last Changed Date: 2017-04-21 15:12:43 + (Fri, 21 Apr 2017)
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any ma

make check-old warnings

2017-04-21 Thread Renato Botelho
I've updated my laptop to r317256 and started to see some warnings when
I run make check-old:

❯ make check-old
make warning: $5bZ�
: No such file or directory.
make warning: $5bZ�
: No such file or directory.
>>> Checking for old files
make warning: $5bZ�
: No such file or directory.
/usr/bin/gdb
/usr/lib/debug/usr/bin/gdb.debug
/usr/bin/gdbserver
/usr/lib/debug/usr/bin/gdbserver.debug
/usr/bin/gdbtui
/usr/lib/debug/usr/bin/gdbtui.debug
/usr/bin/kgdb
/usr/lib/debug/usr/bin/kgdb.debug
/usr/share/man/man1/gdb.1.gz
/usr/share/man/man1/gdbserver.1.gz
/usr/share/man/man1/kgdb.1.gz
>>> Checking for old libraries
make warning: $5bZ�
: No such file or directory.
>>> Checking for old directories
make warning: $5bZ�
: No such file or directory.
/usr/share/examples/hast
/usr/share/examples/ipfilter
/usr/libexec/lpr/ru
/usr/lib/debug/usr/libexec/lpr/ru
/usr/libexec/lpr
/usr/lib/debug/usr/libexec/lpr
/usr/share/doc/smm/07.lpd
/usr/share/pc-sysinstall/backend
/usr/share/pc-sysinstall/backend-partmanager
/usr/share/pc-sysinstall/backend-query
/usr/share/pc-sysinstall/conf/license
/usr/share/pc-sysinstall/conf
/usr/share/pc-sysinstall/doc
/usr/share/pc-sysinstall
/usr/share/examples/pc-sysinstall
/etc/ppp
/usr/include/libmilter
/usr/share/doc/smm/08.sendmailop
/usr/share/sendmail
/usr/include/atf-c
/usr/include/atf-c++
/usr/share/atf
/usr/share/doc/atf
To remove old files and directories run 'make delete-old'.
To remove old libraries run 'make delete-old-libs'.
-- 
Renato Botelho
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: kernel coding of nobody/nogroup

2017-04-21 Thread Bruce Evans

On Fri, 21 Apr 2017, Rick Macklem wrote:


I need to set the default uid/gid values for nobody/nogroup into kernel
variables. I reverted the commit that hardcoded them, since I agree that
wasn't a good thing to do.

I didn't realize that "nobody" was already defined in sys/conf.h and I can
use that.


I didn't know nobody was already there either.  They are only used by zfs,
while the others were originally only sed for devices.


There is no definition for "nogroup" in sys/conf.h.
Would it be ok to add
#define GID_NOGROUP  65533
to syy/conf.h?
(I know bde@ doesn't like expressing this as 65533, but that is what it is in 
/etc/group.)


sys/conf.h already has GID_NOBODY but it is subtly different from
GID_NOGROUP.  It seems to be a bug that zfs uses nobody's gid instead
of the gid nogroup which is used by no body.

Bruce
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


kernel coding of nobody/nogroup

2017-04-21 Thread Rick Macklem
Hi,

I need to set the default uid/gid values for nobody/nogroup into kernel
variables. I reverted the commit that hardcoded them, since I agree that
wasn't a good thing to do.

I didn't realize that "nobody" was already defined in sys/conf.h and I can
use that.

There is no definition for "nogroup" in sys/conf.h.
Would it be ok to add
#define GID_NOGROUP  65533
to syy/conf.h?
(I know bde@ doesn't like expressing this as 65533, but that is what it is in 
/etc/group.)

rick
ps: These values are usually set by nfsuserd(8), but need to be initialized for 
the case
   where is in not being run. The default uid/gid in nfsuserd.c needs to be 
fixed too,
   although they only get used if there isn't an entry for nobody/nogroup 
in the
   password/group database.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"