Re: date(1) default format changed between 10.3 and 11.0-BETA3

2016-08-06 Thread Mark Martinec

On 2016-08-06 21:08, Julian Elischer wrote:

On 6/08/2016 11:09 PM, Benjamin Kaduk wrote:

On Sat, 6 Aug 2016, Baptiste Daroussin wrote:

On Sat, Aug 06, 2016 at 02:15:36PM +1000, Greg 'groggy' Lehey wrote:
On Friday,  5 August 2016 at 18:56:33 +0300, Andrey A. Chernov 
wrote:

On 05.08.2016 18:44, Mark Martinec wrote:

On 2016-08-05 17:23, Andrey Chernov wrote:

POSIX does say that the default format should be the same
as with "+%a %b %e %H:%M:%S %Z %Y".
It also says that %a and %b are locale's abbreviated names.
It is true for _POSIX_ locale only, as I already say. en_US.* is 
not

POSIX or C locale.

It still violates POLA.

I really do not think that it violates POLA fiven that the behaviour 
you are
expecting is still available in the default configurtion that is 
still POSIX.
Regardless, at a new major release is precisely when it is permissible 
to

break POLA.

switching from short form to long form is more than a POLA..  short
form has a specific fixed layout
and feeding a long form string into it will break things.


Set LC_TIME to C and then you are back on your behaviour (and this is 
the

default when you install FreeBSD).

locales should be seen as tzdata for exemple, they are a moving 
target
complicated to handle for every locale we do support: 78 for 
11.0-RELEASE and
193 if we do count the encoding variants. locales are updated very 
often (for
exemple cldr unicode make a new release of the data every 8 month or 
so)

As I understand it, your change will improve the maintainability of
locales in FreeBSD in the future, which justifies a POLA break at the
release boundary.
-Ben



$ LC_ALL=en_US.UTF-8 date

FreeBSD 11.0-BETA3 :
  Friday, August  5, 2016 at 03:20:25 PM CEST

FreeBSD 10.3-RELEASE-p6 :
  Fri Aug  5 15:15:11 CEST 2016

OSX version 10.9.5 :
  Fri Aug  5 14:57:14 CEST 2016

Fedora Linux 4.6.4-301.fc24.x86_64 :
  Fri Aug  5 15:10:40 CEST 2016

Debian 8.0 / Linux 4.4.16-v7+ :
  Fri Aug  5 15:25:49 CEST 2016

It's not just long vs. short forms of a name, it is also the order of 
fields,
their separators, and a 12/24h time form that is different from everyone 
else
and from what we used to have in 10.3.  Is it really worth being 
different?

I wonder how many ad-hoc scripts will break.

Although as Andrey Chernov correctly noted that the date(1) specs in
The Open Group Base Specifications Issue 7 IEEE Std 1003.1, 2013 Edition
( http://pubs.opengroup.org/onlinepubs/9699919799/utilities/date.html )
says that the default format applies to POSIX locale only:

  STDOUT
  When no formatting operand is specified, the output in the
  POSIX locale shall be equivalent to specifying:
date "+%a %b %e %H:%M:%S %Z %Y"

imo, unless there is a very good reason not to, the above default format
should be applicable to most locales, but at least to English spoken
locales. The explicit locale-dependency of %a, %b, and %Z conversion
specifications already takes care of most locale-specific 
idiosyncrasies.


  Mark


___
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"


FreeBSD 11.0-BETA4 Now Available

2016-08-06 Thread Glen Barber
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

The fourth BETA build of the 11.0-RELEASE release cycle is now
available.

Installation images are available for:

o 11.0-BETA4 amd64 GENERIC
o 11.0-BETA4 i386 GENERIC
o 11.0-BETA4 powerpc GENERIC
o 11.0-BETA4 powerpc64 GENERIC64
o 11.0-BETA4 sparc64 GENERIC
o 11.0-BETA4 armv6 BANANAPI
o 11.0-BETA4 armv6 BEAGLEBONE
o 11.0-BETA4 armv6 CUBIEBOARD
o 11.0-BETA4 armv6 CUBIEBOARD2
o 11.0-BETA4 armv6 CUBOX-HUMMINGBOARD
o 11.0-BETA4 armv6 GUMSTIX
o 11.0-BETA4 armv6 RPI-B
o 11.0-BETA4 armv6 RPI2
o 11.0-BETA4 armv6 PANDABOARD
o 11.0-BETA4 armv6 WANDBOARD
o 11.0-BETA4 aarch64 GENERIC

Note regarding arm/armv6 images: For convenience for those without
console access to the system, a freebsd user with a password of
freebsd is available by default for ssh(1) access.  Additionally,
the root user password is set to root, which it is strongly
recommended to change the password for both users after gaining
access to the system.

Installer images and memory stick images are available here:

ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/11.0/

The image checksums follow at the end of this e-mail.

If you notice problems you can report them through the Bugzilla PR
system or on the -stable mailing list.

If you would like to use SVN to do a source based update of an existing
system, use the "stable/11" branch.

A summary of changes since 11.0-BETA3 includes:

o The mtx_trylock_spin(9) kernel synchronization primitive was added.

o The machdep.disable_msix_migration loader tunable has been re-enabled
  for EC2 AMIs.

o The iwm(4) and iwmfw(4) drivers have been updated.

o The new system hardening options have been fixed to avoid overwriting
  other options selected during install time.

o Several build-related fixes.

o Several miscellaneous bug fixes.

A list of changes since 10.0-RELEASE are available on the stable/11
release notes:

https://www.freebsd.org/relnotes/11-STABLE/relnotes/article.html

Please note, the release notes page is not yet complete, and will be
updated on an ongoing basis as the 11.0-RELEASE cycle progresses.

=== Virtual Machine Disk Images ===

VM disk images are available for the amd64 and i386 architectures.
Disk images may be downloaded from the following URL (or any of the
FreeBSD FTP mirrors):

ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/11.0-BETA4/

The partition layout is:

~ 16 kB - freebsd-boot GPT partition type (bootfs GPT label)
~ 1 GB  - freebsd-swap GPT partition type (swapfs GPT label)
~ 20 GB - freebsd-ufs GPT partition type (rootfs GPT label)

The disk images are available in QCOW2, VHD, VMDK, and raw disk image
formats.  The image download size is approximately 135 MB and 165 MB
respectively (amd64/i386), decompressing to a 21 GB sparse image.

Note regarding arm64/aarch64 virtual machine images: a modified QEMU EFI
loader file is needed for qemu-system-aarch64 to be able to boot the
virtual machine images.  See this page for more information:

https://wiki.freebsd.org/arm64/QEMU

To boot the VM image, run:

% qemu-system-aarch64 -m 4096M -cpu cortex-a57 -M virt  \
-bios QEMU_EFI.fd -serial telnet::,server -nographic \
-drive if=none,file=VMDISK,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-device virtio-net-device,netdev=net0 \
-netdev user,id=net0

Be sure to replace "VMDISK" with the path to the virtual machine image.

=== Amazon EC2 AMI Images ===

FreeBSD/amd64 EC2 AMIs are available in the following regions:

 us-east-1 region: ami-fb65f7ec
 us-west-1 region: ami-befebede
 us-west-2 region: ami-4dab632d
 sa-east-1 region: ami-74dd4b18
 eu-west-1 region: ami-6180e912
 eu-central-1 region: ami-c940b7a6
 ap-northeast-1 region: ami-99f137f8
 ap-northeast-2 region: ami-b720ead9
 ap-southeast-1 region: ami-9cf22cff
 ap-southeast-2 region: ami-675d6904

=== Vagrant Images ===

FreeBSD/amd64 images are available on the Hashicorp Atlas site, and can
be installed by running:

% vagrant init freebsd/FreeBSD-11.0-BETA4
% vagrant up

=== Upgrading ===

The freebsd-update(8) utility supports binary upgrades of amd64 and i386
systems running earlier FreeBSD releases.  Systems running earlier
FreeBSD releases can upgrade as follows:

# freebsd-update upgrade -r 11.0-BETA4

During this process, freebsd-update(8) may ask the user to help by
merging some configuration files or by confirming that the automatically
performed merging was done correctly.

# freebsd-update install

The system must be rebooted with the newly installed kernel before
continuing.

# shutdown -r now

After rebooting, freebsd-update needs to be run again to install the new
userland components:

# freebsd-update install

It is recommended to rebuild and install all applications if possible,
especially if upgrading from an earlier FreeBSD release, for example,
FreeBSD 9.x.  Alternatively, the user can install misc/compat9x and
other compatibility 

Re: date(1) default format changed between 10.3 and 11.0-BETA3

2016-08-06 Thread Julian Elischer

On 6/08/2016 11:09 PM, Benjamin Kaduk wrote:

On Sat, 6 Aug 2016, Baptiste Daroussin wrote:


On Sat, Aug 06, 2016 at 02:15:36PM +1000, Greg 'groggy' Lehey wrote:

On Friday,  5 August 2016 at 18:56:33 +0300, Andrey A. Chernov wrote:

On 05.08.2016 18:44, Mark Martinec wrote:

On 2016-08-05 17:23, Andrey Chernov wrote:

POSIX does say that the default format should be the same
as with "+%a %b %e %H:%M:%S %Z %Y".
It also says that %a and %b are locale's abbreviated names.

It is true for _POSIX_ locale only, as I already say. en_US.* is not
POSIX or C locale.

It still violates POLA.


I really do not think that it violates POLA fiven that the behaviour you are
expecting is still available in the default configurtion that is still POSIX.

Regardless, at a new major release is precisely when it is permissible to
break POLA.
switching from short form to long form is more than a POLA..  short 
form has a specific fixed layout

and feeding a long form string into it will break things.



Set LC_TIME to C and then you are back on your behaviour (and this is the
default when you install FreeBSD).

locales should be seen as tzdata for exemple, they are a moving target
complicated to handle for every locale we do support: 78 for 11.0-RELEASE and
193 if we do count the encoding variants. locales are updated very often (for
exemple cldr unicode make a new release of the data every 8 month or so)

As I understand it, your change will improve the maintainability of
locales in FreeBSD in the future, which justifies a POLA break at the
release boundary.

-Ben
___
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"



___
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: rc scripts new login_class, default can break old rc scripts

2016-08-06 Thread Kurt Jaeger
Hi!

> So my question is this, should old rc scripts adapt to this new default, or
> should the default be changed to avoid issues like I just found?

There should be a PR about this, and please give it to re
(release engineering).

-- 
p...@opsec.eu+49 171 3101372 4 years to go !
___
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"


rc scripts new login_class, default can break old rc scripts

2016-08-06 Thread Ultima
 I recently upgraded one of my boxes to FreeBSD 11 r303750 (beta-3). After
the upgrade I noticed that one of the services would no longer start...

 After digging into it, I found that the new var ${name}_login_class var's
defaults to the daemon login class and by default, the daemon class
resource limit on memory is set to 128M. This maybe an issue for old rc
scripts.

So my question is this, should old rc scripts adapt to this new default, or
should the default be changed to avoid issues like I just found? The port
this issue was found is audio/teamspeak3-server. If installed on FreeBSD
11+ it will fail to start with...
2016-08-06 17:07:27.946432|CRITICAL|ServerLibPriv |   |Server()
DatabaseError out of memory

Ultima
___
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: date(1) default format changed between 10.3 and 11.0-BETA3

2016-08-06 Thread Benjamin Kaduk
On Sat, 6 Aug 2016, Baptiste Daroussin wrote:

> On Sat, Aug 06, 2016 at 02:15:36PM +1000, Greg 'groggy' Lehey wrote:
> > On Friday,  5 August 2016 at 18:56:33 +0300, Andrey A. Chernov wrote:
> > > On 05.08.2016 18:44, Mark Martinec wrote:
> > >> On 2016-08-05 17:23, Andrey Chernov wrote:
> > >>
> > >> POSIX does say that the default format should be the same
> > >> as with "+%a %b %e %H:%M:%S %Z %Y".
> > >> It also says that %a and %b are locale's abbreviated names.
> > >
> > > It is true for _POSIX_ locale only, as I already say. en_US.* is not
> > > POSIX or C locale.
> >
> > It still violates POLA.
> >
> I really do not think that it violates POLA fiven that the behaviour you are
> expecting is still available in the default configurtion that is still POSIX.

Regardless, at a new major release is precisely when it is permissible to
break POLA.

> Set LC_TIME to C and then you are back on your behaviour (and this is the
> default when you install FreeBSD).
>
> locales should be seen as tzdata for exemple, they are a moving target
> complicated to handle for every locale we do support: 78 for 11.0-RELEASE and
> 193 if we do count the encoding variants. locales are updated very often (for
> exemple cldr unicode make a new release of the data every 8 month or so)

As I understand it, your change will improve the maintainability of
locales in FreeBSD in the future, which justifies a POLA break at the
release boundary.

-Ben
___
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: some [big] changes to ZPL (ZFS<->VFS )

2016-08-06 Thread Andriy Gapon
On 05/08/2016 23:31, Alan Somers wrote:
> I'm not certain it's related, but on a head build at r303767 I see a
> LOR and a reproducible panic that involve the snapdir code.

Alan,

thank you very much for the clear report and for the very easy
reproduction scenario.  I am not sure how I missed this simple and
severe bug.
Please try r303791, it should fix the problem.

I believe that the LOR is not new and been there since we started using
distinct tags for .zfs special vnodes.

> First, the LOR:
> $ zpool destroy foo
> 
> lock order reversal:
>  1st 0xf800404c8b78 zfs (zfs) @
> /usr/home/alans/freebsd/head/sys/kern/vfs_mount.c:1244
>  2nd 0xf800404c85f0 zfs_gfs (zfs_gfs) @
> /usr/home/alans/freebsd/head/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c:484
> stack backtrace:
> #0 0x80aa90b0 at witness_debugger+0x70
> #1 0x80aa8fa4 at witness_checkorder+0xe54
> #2 0x80a22072 at __lockmgr_args+0x4c2
> #3 0x80af8e7c at vop_stdlock+0x3c
> #4 0x81018880 at VOP_LOCK1_APV+0xe0
> #5 0x80b19f2a at _vn_lock+0x9a
> #6 0x821b9c53 at gfs_file_create+0x73
> #7 0x821b9cfd at gfs_dir_create+0x1d
> #8 0x8228aa07 at zfsctl_mknode_snapdir+0x47
> #9 0x821ba1a5 at gfs_dir_lookup+0x185
> #10 0x821ba68d at gfs_vop_lookup+0x1d
> #11 0x82289a42 at zfsctl_root_lookup+0xf2
> #12 0x8228a8c3 at zfsctl_umount_snapshots+0x83
> #13 0x822a1d2b at zfs_umount+0x7b
> #14 0x80b02a14 at dounmount+0x6f4
> #15 0x80b0228d at sys_unmount+0x35d
> #16 0x80ebbb7b at amd64_syscall+0x2db
> #17 0x80e9b72b at Xfast_syscall+0xfb
> 
> 
> Here's the panic:
> $ zpool create testpool da0
> $ touch /testpool/testfile
> $ zfs snapshot testpool@testsnap
> $ cd /testpool/.zfs/snapshots
> 
> Fatal trap 12: page fault while in kernel mode
> cpuid = 2; apic id = 04
> fault virtual address   = 0x8
> fault code  = supervisor read data, page not present
> instruction pointer = 0x20:0x80b19f1c
> stack pointer   = 0x28:0xfe0b54bf7430
> frame pointer   = 0x28:0xfe0b54bf74a0
> code segment= base 0x0, limit 0xf, type 0x1b
> = DPL 0, pres 1, long 1, def32 0, gran 1
> processor eflags= interrupt enabled, resume, IOPL = 0
> current process = 966 (bash)
> trap number = 12
> panic: page fault
> cpuid = 2
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfe0b54bf6fc0
> vpanic() at vpanic+0x182/frame 0xfe0b54bf7040
> panic() at panic+0x43/frame 0xfe0b54bf70a0
> trap_fatal() at trap_fatal+0x351/frame 0xfe0b54bf7100
> trap_pfault() at trap_pfault+0x1fd/frame 0xfe0b54bf7160
> trap() at trap+0x284/frame 0xfe0b54bf7370
> calltrap() at calltrap+0x8/frame 0xfe0b54bf7370
> --- trap 0xc, rip = 0x80b19f1c, rsp = 0xfe0b54bf7440, rbp
> = 0xfe0b54bf74a0 ---
> _vn_lock() at _vn_lock+0x8c/frame 0xfe0b54bf74a0
> zfs_lookup() at zfs_lookup+0x50d/frame 0xfe0b54bf7540
> zfs_freebsd_lookup() at zfs_freebsd_lookup+0x91/frame 0xfe0b54bf7680
> VOP_CACHEDLOOKUP_APV() at VOP_CACHEDLOOKUP_APV+0xda/frame 0xfe0b54bf76b0
> vfs_cache_lookup() at vfs_cache_lookup+0xd6/frame 0xfe0b54bf7710
> VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0xda/frame 0xfe0b54bf7740
> lookup() at lookup+0x5a2/frame 0xfe0b54bf77d0
> namei() at namei+0x5b2/frame 0xfe0b54bf7890
> kern_statat() at kern_statat+0xa8/frame 0xfe0b54bf7a40
> sys_stat() at sys_stat+0x2d/frame 0xfe0b54bf7ae0
> amd64_syscall() at amd64_syscall+0x2db/frame 0xfe0b54bf7bf0
> Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfe0b54bf7bf0
> 
> 
> I can provide core files, test scripts, whatever you need.  Thanks for
> tackling this difficult problem.
> 
> -Alan
> 
> On Fri, Aug 5, 2016 at 12:36 AM, Andriy Gapon  wrote:
>> On 03/08/2016 17:25, Andriy Gapon wrote:
>>> Another change that was not strictly required and which is probably too
>>> intrusive is killing the support for case insensitive operations.   My
>>> thinking was that FreeBSD VFS does not provide support for those anyway.
>>>  But I'll probably restore the code, at least in the bottom half of the
>>> ZPL, before committing the change.
>>
>> It turned out that most of the removed code was dead anyway and it took
>> just a few lines of code to restore support for case-insensitive
>> filesystems.  Filesystems with mixed case sensitivity behave exactly the
>> same as case-sensitive filesystem as it has always been the case on FreeBSD.
>>
>> Anyway the big change has just been committed:
>> https://svnweb.freebsd.org/changeset/base/303763
>> Please test away.
>>
>> Another note is that the filesystem name cache is now disabled for case
>> insensitive filesystems and filesystems with normalization other than
>> none.  That may hurt the lookup performance, but should ensure
>> correctness of operations.
>>
>> --
>> Andriy Gapon
>> ___

Re: date(1) default format changed between 10.3 and 11.0-BETA3

2016-08-06 Thread Baptiste Daroussin
On Sat, Aug 06, 2016 at 02:15:36PM +1000, Greg 'groggy' Lehey wrote:
> On Friday,  5 August 2016 at 18:56:33 +0300, Andrey A. Chernov wrote:
> > On 05.08.2016 18:44, Mark Martinec wrote:
> >> On 2016-08-05 17:23, Andrey Chernov wrote:
> >>> On 05.08.2016 17:47, Mark Martinec wrote:
>  [Bug 211598]
>    date(1) default format in en_EN locale breaks compatibility with 10.3
>  and violates POSIX
> 
>  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211598
> >>>
> >>> It breaks compatibility but not violates POSIX. POSIX care of only its
> >>> own POSIX (or C) locale.
> >>
> >> POSIX does say that the default format should be the same
> >> as with "+%a %b %e %H:%M:%S %Z %Y".
> >> It also says that %a and %b are locale's abbreviated names.
> >
> > It is true for _POSIX_ locale only, as I already say. en_US.* is not
> > POSIX or C locale.
> 
> It still violates POLA.
> 
I really do not think that it violates POLA fiven that the behaviour you are
expecting is still available in the default configurtion that is still POSIX.

Set LC_TIME to C and then you are back on your behaviour (and this is the
default when you install FreeBSD).

locales should be seen as tzdata for exemple, they are a moving target
complicated to handle for every locale we do support: 78 for 11.0-RELEASE and
193 if we do count the encoding variants. locales are updated very often (for
exemple cldr unicode make a new release of the data every 8 month or so)

No locales defines the same date format and that was already the case before the
change we did

Now if people have strong arguments for a specific locale I'm inclined to add
some hacks in our tool that generates our locales to make sure we fix the
upstream data (http://cldr.unicode.org) we already committed some and I'm
planning to report upstream (cldr) all the issues we have faced to improve.

Best regards,
Bapt


signature.asc
Description: PGP signature