Re: amd64/150023: network subsystem does not work at all

2010-10-08 Thread avg
Synopsis: network subsystem does not work at all

Responsible-Changed-From-To: freebsd-amd64->freebsd-bugs
Responsible-Changed-By: avg
Responsible-Changed-When: Fri Oct 8 09:23:39 UTC 2010
Responsible-Changed-Why: 
The PR doesn't describe any amd64-specific problem.

http://www.freebsd.org/cgi/query-pr.cgi?pr=150023
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


Re: amd64/148805: [hang] FreeBSD 7.2, 8.0, and 9.0 hang during install at probing devices

2010-10-08 Thread avg
Synopsis: [hang] FreeBSD 7.2, 8.0, and 9.0 hang during install at probing 
devices

Responsible-Changed-From-To: freebsd-amd64->freebsd-bugs
Responsible-Changed-By: avg
Responsible-Changed-When: Fri Oct 8 09:32:10 UTC 2010
Responsible-Changed-Why: 
There is no indication in the report (and followups) that this
is a problem specific to amd64 architecture.
Seems like a sysinstall issue.

http://www.freebsd.org/cgi/query-pr.cgi?pr=148805
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


Re: amd64/148675: [panic] kernel panics - reboots

2010-10-08 Thread avg
Synopsis: [panic] kernel panics - reboots

Responsible-Changed-From-To: freebsd-amd64->freebsd-bugs
Responsible-Changed-By: avg
Responsible-Changed-When: Fri Oct 8 09:34:55 UTC 2010
Responsible-Changed-Why: 
This seems like a know locking problem in ATA code that is not
specific to amd64 arch.  The problem is typically triggered by
command timeout.
To reporter: please try using ahci(4) driver and ATA_CAM kernel option.

http://www.freebsd.org/cgi/query-pr.cgi?pr=148675
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


Re: amd64/147560: [boot] Booting 8.1-PRERELEASE raidz system take ages

2010-10-08 Thread avg
Synopsis: [boot] Booting 8.1-PRERELEASE raidz system take ages

Responsible-Changed-From-To: freebsd-amd64->freebsd-bugs
Responsible-Changed-By: avg
Responsible-Changed-When: Fri Oct 8 09:37:58 UTC 2010
Responsible-Changed-Why: 
This is a generic zfs boot problem resulting from how the code
finds disks for zfs pools.
Not sure if we can do any better here.

http://www.freebsd.org/cgi/query-pr.cgi?pr=147560
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


Re: kern/147560: [zfs] [boot] Booting 8.1-PRERELEASE raidz system take ages

2010-10-08 Thread linimon
Old Synopsis: [boot] Booting 8.1-PRERELEASE raidz system take ages
New Synopsis: [zfs] [boot] Booting 8.1-PRERELEASE raidz system take ages

Responsible-Changed-From-To: freebsd-bugs->freebsd-fs
Responsible-Changed-By: linimon
Responsible-Changed-When: Fri Oct 8 10:28:51 UTC 2010
Responsible-Changed-Why: 
apparently ZFS-specific.

http://www.freebsd.org/cgi/query-pr.cgi?pr=147560
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


kern/151304: patch - definitions of variables tested by ASSERT_ATOMIC_LOAD_PTR

2010-10-08 Thread Svatopluk Kraus

>Number: 151304
>Category:   kern
>Synopsis:   patch - definitions of variables tested by 
>ASSERT_ATOMIC_LOAD_PTR
>Confidential:   no
>Severity:   non-critical
>Priority:   low
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 08 12:30:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Svatopluk Kraus
>Release:current
>Organization:
>Environment:
coldfire port
>Description:
A macro ASSERT_ATOMIC_LOAD_PTR() hits in colfire port I work on. It is possibly 
due to use of GNU GCC (4.5.1) compiler -Os option (size optimalization). The 
macro is applied on four places:

sys/kern/kern_lock.c
sys/kern/kern_mutex.c
sys/kern/kern_rwlock.c
sys/kern/kern_sx.c

and tests entries in four structures:

volatile uintptr_t lk_lock -> struct lock -> sys/sys/_lockmgr.h
volatile uintptr_t mtx_lock -> struct mtx -> sys/sys/_mutex.h
volatile uintptr_t rw_lock -> struct rwlock -> sys/sys/_rwlock.h
volatile uintptr_t sx_lock -> struct sx -> sys/sys/_sx.h
>How-To-Repeat:

>Fix:
I patch the entries definitions in structures by align attribute, I believe it 
is better than to do nothing. Moreover, it solved my problem.

Patch attached with submission follows:

Index: sys/sys/_rwlock.h
===
--- sys/sys/_rwlock.h   (revision 213567)
+++ sys/sys/_rwlock.h   (working copy)
@@ -37,7 +37,7 @@
  */
 struct rwlock {
struct lock_object  lock_object;
-   volatile uintptr_t  rw_lock;
+   volatile uintptr_t  rw_lock __aligned(4);
 };

 #endif /* !_SYS__RWLOCK_H_ */
Index: sys/sys/_sx.h
===
--- sys/sys/_sx.h   (revision 213567)
+++ sys/sys/_sx.h   (working copy)
@@ -36,7 +36,7 @@
  */
 struct sx {
struct lock_object  lock_object;
-   volatile uintptr_t  sx_lock;
+   volatile uintptr_t  sx_lock __aligned(4);
 };

 #endif /* !_SYS__SX_H_ */
Index: sys/sys/_lockmgr.h
===
--- sys/sys/_lockmgr.h  (revision 213567)
+++ sys/sys/_lockmgr.h  (working copy)
@@ -37,7 +37,7 @@

 struct lock {
struct lock_object  lock_object;
-   volatile uintptr_t  lk_lock;
+   volatile uintptr_t  lk_lock __aligned(4);
u_int   lk_exslpfail;
int lk_timo;
int lk_pri;
Index: sys/sys/_mutex.h
===
--- sys/sys/_mutex.h(revision 213567)
+++ sys/sys/_mutex.h(working copy)
@@ -35,8 +35,8 @@
  * Sleep/spin mutex.
  */
 struct mtx {
-   struct lock_object  lock_object;/* Common lock properties. */
-   volatile uintptr_t  mtx_lock;   /* Owner and flags. */
+   struct lock_object  lock_object;/* Common lock 
properties. */
+   volatile uintptr_t  mtx_lock __aligned(4);  /* Owner and flags. */
 };

 #endif /* !_SYS__MUTEX_H_ */



>Release-Note:
>Audit-Trail:
>Unformatted:
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


kern/151305: [patch] - CTASSERT(sizeof(struct jmvrec) == JREC_SIZE)

2010-10-08 Thread Svatopluk Kraus

>Number: 151305
>Category:   kern
>Synopsis:   [patch] - CTASSERT(sizeof(struct jmvrec) == JREC_SIZE)
>Confidential:   no
>Severity:   non-critical
>Priority:   low
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 08 13:20:03 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Svatopluk Kraus
>Release:current
>Organization:
>Environment:
coldfire port
>Description:
A macro CTASSERT() hits in colfire port I work on. It is possibly due to use of 
GNU GCC compiler -Os option (size optimalization). It hits on struct jmvrec in 
sys/ufs/ffs/fs.h.
>How-To-Repeat:

>Fix:
I arranged the struct definition (a size of unused field).

Patch attached with submission follows:

Index: sys/ufs/ffs/fs.h
===
--- sys/ufs/ffs/fs.h(revision 213567)
+++ sys/ufs/ffs/fs.h(working copy)
@@ -696,7 +696,7 @@
uint32_tjm_op;
ino_t   jm_ino;
ino_t   jm_parent;
-   uint16_tjm_unused;
+   uint32_tjm_unused;
off_t   jm_oldoff;
off_t   jm_newoff;
 };


>Release-Note:
>Audit-Trail:
>Unformatted:
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


bin/151321: mount_nfs won't recognize readahead

2010-10-08 Thread Simon Walton

>Number: 151321
>Category:   bin
>Synopsis:   mount_nfs won't recognize readahead
>Confidential:   no
>Severity:   serious
>Priority:   medium
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 08 19:10:04 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Simon Walton
>Release:8.1
>Organization:
>Environment:
FreeBSD mongo 8.1-RELEASE FreeBSD 8.1-RELEASE #1: Thu Oct  7 18:25:36 PDT 2010
>Description:
Mount_nfs won't recognize any form of the readahead parameter:

mongo# mount_nfs -a 2 m-6:/mnt/dodo /cdrom
-a deprecated, use -o readhead=
mount_nfs: /cdrom, mount option  is unknown: Invalid argument
mongo# mount_nfs -o readahead=2 m-6:/mnt/dodo /cdrom
mount_nfs: /cdrom, mount option  is unknown: Invalid argument
mongo# mount_nfs -o readhead=2 m-6:/mnt/dodo /cdrom
mount_nfs: /cdrom, mount option  is unknown: Invalid argument

The mount operation is unsuccessful in all cases.

In previous releases this option was a significant performance increase
for us.

>How-To-Repeat:
mount_nfs -o readahead=2 ...

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


Re: kern/151304: patch - definitions of variables tested by ASSERT_ATOMIC_LOAD_PTR

2010-10-08 Thread Bruce Evans

On Fri, 8 Oct 2010, Svatopluk Kraus wrote:


Description:

A macro ASSERT_ATOMIC_LOAD_PTR() hits in colfire port I work on. It is possibly 
due to use of GNU GCC (4.5.1) compiler -Os option (size optimalization). The 
macro is applied on four places:


Perhaps gcc-4.5.1 -Os is doing invalid packing of structs, or FreeBSD has
broken packing of structs using the __packed mistake and gcc-4.5.1 -Os
exposes the brokenness by exploiting __packed more.  Probably the latter.

BTW, gcc-4.2.1 -Os is still completely broken on kernels.  It fails to
compile some files due to problems with -Wuninitialized, and when this
is worked around it produces a kernel that is about 50% larger than one
produced by gcc-4.2.1 -O.  A few years ago I thought the problem was
excessive inlining, but when I tried to fix it a few weeks ago, reducing
the inlining caused larger problems and still gave large negative
optimizations.


Fix:

I patch the entries definitions in structures by align attribute, I believe it 
is better than to do nothing. Moreover, it solved my problem.

Patch attached with submission follows:

Index: sys/sys/_rwlock.h
===
--- sys/sys/_rwlock.h   (revision 213567)
+++ sys/sys/_rwlock.h   (working copy)
@@ -37,7 +37,7 @@
 */
struct rwlock {
   struct lock_object  lock_object;
-   volatile uintptr_t  rw_lock;
+   volatile uintptr_t  rw_lock __aligned(4);
};

#endif /* !_SYS__RWLOCK_H_ */
...


This does nothing good on arches with 64-bit pointers.  With gcc-4.2.1 on
amd64, it seems to do nothing -- the natural alignment of a uintptr_t on
amd64 is 8, and asking for a smaller alignment using __aligned(4) apparently
makes no difference.  It takes __aligned(more_than_8) or __packed to make a
difference.

Here is an example of creating an alignment bug due using __packed and just
gcc-4.2.1 on amd64:

% #include 
% #include 
% 
% struct foo {

%   int x;
%   longy __aligned(4);
% };
% 
% struct bar {

%   charc;
%   struct foo d;
% } __packed;
% 
% int z = offsetof(struct foo, y);

% int t = sizeof (struct bar);

'y' has the correct offset of 8, but `struct bar' has size 17, so the `y'
nested in it cannot possibly be aligned properly, at least if there is an
array of `struct bar' with at least 2 elements.  I think this is a compiler
bug -- the explicit __aligned(4) in the nested struct should force alignment
of container structs (but only to 4 here, not the 8 that is required).

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


Re: kern/151304: patch - definitions of variables tested by ASSERT_ATOMIC_LOAD_PTR

2010-10-08 Thread Bruce Evans
The following reply was made to PR kern/151304; it has been noted by GNATS.

From: Bruce Evans 
To: Svatopluk Kraus 
Cc: freebsd-gnats-sub...@freebsd.org, freebsd-bugs@freebsd.org
Subject: Re: kern/151304: patch - definitions of variables tested by
 ASSERT_ATOMIC_LOAD_PTR
Date: Sat, 9 Oct 2010 07:16:43 +1100 (EST)

 On Fri, 8 Oct 2010, Svatopluk Kraus wrote:
 
 >> Description:
 > A macro ASSERT_ATOMIC_LOAD_PTR() hits in colfire port I work on. It is 
 > possibly due to use of GNU GCC (4.5.1) compiler -Os option (size 
 > optimalization). The macro is applied on four places:
 
 Perhaps gcc-4.5.1 -Os is doing invalid packing of structs, or FreeBSD has
 broken packing of structs using the __packed mistake and gcc-4.5.1 -Os
 exposes the brokenness by exploiting __packed more.  Probably the latter.
 
 BTW, gcc-4.2.1 -Os is still completely broken on kernels.  It fails to
 compile some files due to problems with -Wuninitialized, and when this
 is worked around it produces a kernel that is about 50% larger than one
 produced by gcc-4.2.1 -O.  A few years ago I thought the problem was
 excessive inlining, but when I tried to fix it a few weeks ago, reducing
 the inlining caused larger problems and still gave large negative
 optimizations.
 
 >> Fix:
 > I patch the entries definitions in structures by align attribute, I believe 
 > it is better than to do nothing. Moreover, it solved my problem.
 >
 > Patch attached with submission follows:
 >
 > Index: sys/sys/_rwlock.h
 > ===
 > --- sys/sys/_rwlock.h   (revision 213567)
 > +++ sys/sys/_rwlock.h   (working copy)
 > @@ -37,7 +37,7 @@
 >  */
 > struct rwlock {
 >struct lock_object  lock_object;
 > -   volatile uintptr_t  rw_lock;
 > +   volatile uintptr_t  rw_lock __aligned(4);
 > };
 >
 > #endif /* !_SYS__RWLOCK_H_ */
 > ...
 
 This does nothing good on arches with 64-bit pointers.  With gcc-4.2.1 on
 amd64, it seems to do nothing -- the natural alignment of a uintptr_t on
 amd64 is 8, and asking for a smaller alignment using __aligned(4) apparently
 makes no difference.  It takes __aligned(more_than_8) or __packed to make a
 difference.
 
 Here is an example of creating an alignment bug due using __packed and just
 gcc-4.2.1 on amd64:
 
 % #include 
 % #include 
 % 
 % struct foo {
 %  int x;
 %  longy __aligned(4);
 % };
 % 
 % struct bar {
 %  charc;
 %  struct foo d;
 % } __packed;
 % 
 % int z = offsetof(struct foo, y);
 % int t = sizeof (struct bar);
 
 'y' has the correct offset of 8, but `struct bar' has size 17, so the `y'
 nested in it cannot possibly be aligned properly, at least if there is an
 array of `struct bar' with at least 2 elements.  I think this is a compiler
 bug -- the explicit __aligned(4) in the nested struct should force alignment
 of container structs (but only to 4 here, not the 8 that is required).
 
 Bruce
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"


kern/151326: nfs exports fail if netgroups contain duplicate entries

2010-10-08 Thread Jeff Strunk

>Number: 151326
>Category:   kern
>Synopsis:   nfs exports fail if netgroups contain duplicate entries
>Confidential:   no
>Severity:   non-critical
>Priority:   medium
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 08 23:30:05 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Jeff Strunk
>Release:8.1-RELEASE
>Organization:
The University of Texas at Austin Department of Mathematics
>Environment:
FreeBSD thinkmate2.ma.utexas.edu 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 
02:36:49 UTC 2010 r...@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  
amd64

>Description:
We are setting up a couple of file servers using ZFS to replace our old Debian 
file servers. We have been using netgroups to allow a group of admin machines 
to access the files without remapping root to nobody(no_root_squash on linux 
and -maproot=0 on FreeBSD). All of our machines that access the nfs servers are 
in the utm netgroup. We use an export line for that netgroup to restrict rw 
access to our nfs servers.

So, our exports file in FreeBSD looks like(there are more lines, but they all 
look like these with the filesystem changed):
/thinkmate1 -maproot=0 admin
/thinkmate1 utm 

When mountd is started, it logs:
Oct  8 16:37:21 thinkmate2 mountd[2242]: bad exports list line /thinkmate1  
utm

mountd -d shows the following the 2nd time a filesystem is exported:
mountd: can't change attributes for /thinkmate1

When I try to mount /thinkmate1 from an admin machine, it works. Also, root is 
able to read and write any files. When I try to mount on a non-admin machine, 
the client reports that it was denied by the server.

If I reverse the exports lines, all hosts in the utm netgroup can access 
/thinkmate1, but root on admin hosts is mapped to nobody.

I discovered that some hostnames are found in both the admin and utm netgroups. 
When I took the admin hosts out of the utm netgroup, everything worked. This is 
not a problem on either Linux or Solaris.
>How-To-Repeat:
1) Create the following files.

/etc/netgroup(replace 4 spaces with tab):
admin \
(hosta,,domain)

domain \
(hosta,,domain) \
(hostb,,domain)

/etc/exports:
/export -maproot=0 admin
/export domain

2) Restart mountd.

3) Try to nfs mount /export from hostb.
>Fix:
The workaround is to clean up duplicate netgroup entries. It looks like each 
host can only be in one netgroup.

>Release-Note:
>Audit-Trail:
>Unformatted:
___
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"