Re: Read-only /usr/obj/ no longer kosher?

2015-08-26 Thread Pawel Jakub Dawidek
On Tue, Aug 25, 2015 at 03:32:35PM -0700, NGie Cooper wrote:
 On Tue, Aug 25, 2015 at 3:21 PM, Xin Li delp...@delphij.net wrote:
  On 08/25/15 14:55, Pawel Jakub Dawidek wrote:
  Now that I think of it, it might have been that I did
  buildworld/buildkernel before -p1. Then freebsd-update updated
  newvers.sh and then I was trying to do installworld.
 
  Yes, I can now reproduce it with source updated to -p2.
 
  Yes, that's because freebsd-version.sh is generated from the files (but
  it's not clear to me whether if it's a bug or a feature that 'make
  install' checks if it's up-to-date and decides to regenerate it...).
 
 It's a quirk for sure. If you change the behavior, people will
 definitely complain as they will now need to go back and rebuild
 everything.

What we have now is misleading. People should recompile. It is rather
rare to see security advisory which bumps only patch level and something
that doesn't require recompilation (eg. a shell script). Current
behaviour would make people think they are running latest patch level
because freebsd-version says so, eventhough they only did 'make
installworld' without rebuilding affected binaries.

-- 
Pawel Jakub Dawidek   http://www.wheelsystems.com
FreeBSD committer http://www.FreeBSD.org
Am I Evil? Yes, I Am! http://mobter.com


pgpRsLnByGkaA.pgp
Description: PGP signature


Re: HEADS UP: sparc64 backend for llvm/clang imported

2015-08-26 Thread Marius Strobl
On Wed, Aug 19, 2015 at 04:19:03PM -0400, Kurt Lidl wrote:
  Dimitry Andric wrote this message on Fri, Feb 28, 2014 at 20:22 +0100:
  In r262613 I have merged the clang-sparc64 branch back to head.  This
  imports an updated sparc64 backend for llvm and clang, allowing clang to
  bootstrap itself on sparc64, and to completely build world.  To be able
  to build the GENERIC kernel, there is still one patch to be finalized,
  see below.
 
  If you have any sparc64 hardware, and are not afraid to encounter rough
  edges, please try out building and running your system with clang.  To
  do so, update to at least r262613, and enable the following options in
  e.g. src.conf, or in your build environment:
 
  WITH_CLANG=y
  WITH_CLANG_IS_CC=y
  WITH_LIBCPLUSPLUS=y  (optional)
 
  Alternatively, if you would rather keep gcc as /usr/bin/cc for the
  moment, build world using just WITH_CLANG, enabling clang to be built
  (by gcc) and installed.  After installworld, you can then set CC=clang,
  CXX=clang++ and CPP=clang-cpp for building another world.
 
  For building the sparc64 kernel, there is one open issue left, which is
  that sys/sparc64/include/pcpu.h uses global register variables, and this
  is not supported by clang.  A preliminary patch for this is attached,
  but it may or may not blow up your system, please beware!
 
  The patch changes the pcpu and curpcb global register variables into
  inline functions, similar to what is done on other architectures.
  However, the current approach is not optimal, and the emitted code is
  slightly different from what gcc outputs.  Any improvements to this
  patch are greatly appreciated!
 
  Last but not least, thanks go out to Roman Divacky for his work with
  llvm/clang upstream in getting the sparc64 backend into shape.
 
  Ok, I have a new pcpu patch to try.  I have only compile tested it.
 
  It is available here:
  https://www.funkthat.com/~jmg/sparc64.pcpu.patch
 
  I've also attached it.
 
  Craig, do you mind testing it?
 
  This patch also removes curpcb as it appears to not be used by any
  sparc64 C code.  A GENERIC kernel compiles fine, and fxr only turns up
  curpcb used in machdep code, and no references to it under sparc64.
 
  This is not a proper solution in that
  it can mean counters/stats can be copied/moved to other cpus overwriting
  the previous values if a race happens...  We use
  PCPU_SET(mem, PCPU_GET(mem) + val) for PCPU_ADD, not great, but it's
  no worse than what we were previously using..
 
  Until we get a proper fix which involves mapping all the cpu's PCPU
  data on all CPUs, this will have to sufice..
 
  This patch is based upon, I believe, a patch from Marius and possibly
  modified by rdivacky.
 
  Thanks for testing..
 
 The above message was posted a while ago, and I decided that I would
 give the patch a test run on a spare sparc that I have, now that the
 instability problem with multiprocessor sparc64 machines has been
 resolved.
 
 So, I have an up-to-date stable/10 V240 (2x1.5Ghz cpus, 8GB of memory),
 running a completely stock r286861.  That all seems to work just fine.
 
 I applied the patch referenced in the email:
 
 https://www.funkthat.com/~jmg/sparc64.pcpu.patch
 
 (it applied cleanly), and then rebuilt the kernel on the machine,
 using the stock gcc 4.2.1 compiler.
 
 When rebooting with that kernel, the machine panics pretty early
 in the boot:
 
 FreeBSD 10.2-STABLE #3 r286861M: Wed Aug 19 14:28:45 EDT 2015
  l...@spork.pix.net:/usr/obj/usr/src/sys/GENERIC sparc64
 gcc version 4.2.1 20070831 patched [FreeBSD]
 real memory  = 8589934592 (8192 MB)
 avail memory = 8379719680 (7991 MB)
 cpu0: Sun Microsystems UltraSparc-IIIi Processor (1503.00 MHz CPU)
 cpu1: Sun Microsystems UltraSparc-IIIi Processor (1503.00 MHz CPU)
 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 random device not loaded; using insecure entropy
 panic: trap: illegal instruction (kernel)
 cpuid = 0
 KDB: stack backtrace:
 #0 0xc05750e0 at panic+0x20
 #1 0xc08db9f8 at trap+0x558
 Uptime: 1s
 Automatic reboot in 15 seconds - press a key on the console to abort
 Rebooting...
 timeout shutting down CPUs.
 
 So, the patch to get rid of the pcpu usage (as a prereq to poking
 at the clang compiler issues) does not work properly.
 

As I pointed out when that patch was posted, the approach taken by
it assumes a CPU can access foreign PCPU data, which currently isn't
true on sparc64. So the patch is at least incomplete but also may
have further issues.

Such a patch is no longer a prerequisite for compiling a sparc64
kernel with clang, though, as clang meanwhile has been told to
grok at least the global registers used by the PCPU code.

Besides some default options like the choice of code model not
being appropriate for FreeBSD, clang-compiled loader and kernel
don't work due to two major problems present in clang up to at
least version 3.6.0: a) it uses a different stack layout than
GCC so any unwinding code fails and b) it produces broken 

Re: Instant panic while trying run ports-mgmt/poudriere

2015-08-26 Thread Pawel Pekala
Hi Konstantin,

On 2015-08-23 15:54 +0300, Konstantin Belousov kostik...@gmail.com
wrote:
After looking at your data closely, I think you are right.  The panic
occurs when the exit1(9) does KNOTE_LOCKED(NOTE_EXIT).  This is the
only case in the tree where filter uses knlist_remove_inevent() to
detach processed note, so indeed the slist is modified under the
iterator.

Below is the patch with the suggested change and unrelated cleanup of
the uma(9) KPI use.  Please test, everybody who has a panic with the
backtrace pointing to the sys_exit().

This patch fixes issue for me. Thank you.

-- 
pozdrawiam / with regards
Paweł Pękala
___
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: HEADS UP: sparc64 backend for llvm/clang imported

2015-08-26 Thread Roman Divacky
On Wed, Aug 26, 2015 at 11:14:51PM +0200, Marius Strobl wrote:
 On Wed, Aug 19, 2015 at 04:19:03PM -0400, Kurt Lidl wrote:
   Dimitry Andric wrote this message on Fri, Feb 28, 2014 at 20:22 +0100:
   In r262613 I have merged the clang-sparc64 branch back to head.  This
   imports an updated sparc64 backend for llvm and clang, allowing clang to
   bootstrap itself on sparc64, and to completely build world.  To be able
   to build the GENERIC kernel, there is still one patch to be finalized,
   see below.
  
   If you have any sparc64 hardware, and are not afraid to encounter rough
   edges, please try out building and running your system with clang.  To
   do so, update to at least r262613, and enable the following options in
   e.g. src.conf, or in your build environment:
  
   WITH_CLANG=y
   WITH_CLANG_IS_CC=y
   WITH_LIBCPLUSPLUS=y  (optional)
  
   Alternatively, if you would rather keep gcc as /usr/bin/cc for the
   moment, build world using just WITH_CLANG, enabling clang to be built
   (by gcc) and installed.  After installworld, you can then set CC=clang,
   CXX=clang++ and CPP=clang-cpp for building another world.
  
   For building the sparc64 kernel, there is one open issue left, which is
   that sys/sparc64/include/pcpu.h uses global register variables, and this
   is not supported by clang.  A preliminary patch for this is attached,
   but it may or may not blow up your system, please beware!
  
   The patch changes the pcpu and curpcb global register variables into
   inline functions, similar to what is done on other architectures.
   However, the current approach is not optimal, and the emitted code is
   slightly different from what gcc outputs.  Any improvements to this
   patch are greatly appreciated!
  
   Last but not least, thanks go out to Roman Divacky for his work with
   llvm/clang upstream in getting the sparc64 backend into shape.
  
   Ok, I have a new pcpu patch to try.  I have only compile tested it.
  
   It is available here:
   https://www.funkthat.com/~jmg/sparc64.pcpu.patch
  
   I've also attached it.
  
   Craig, do you mind testing it?
  
   This patch also removes curpcb as it appears to not be used by any
   sparc64 C code.  A GENERIC kernel compiles fine, and fxr only turns up
   curpcb used in machdep code, and no references to it under sparc64.
  
   This is not a proper solution in that
   it can mean counters/stats can be copied/moved to other cpus overwriting
   the previous values if a race happens...  We use
   PCPU_SET(mem, PCPU_GET(mem) + val) for PCPU_ADD, not great, but it's
   no worse than what we were previously using..
  
   Until we get a proper fix which involves mapping all the cpu's PCPU
   data on all CPUs, this will have to sufice..
  
   This patch is based upon, I believe, a patch from Marius and possibly
   modified by rdivacky.
  
   Thanks for testing..
  
  The above message was posted a while ago, and I decided that I would
  give the patch a test run on a spare sparc that I have, now that the
  instability problem with multiprocessor sparc64 machines has been
  resolved.
  
  So, I have an up-to-date stable/10 V240 (2x1.5Ghz cpus, 8GB of memory),
  running a completely stock r286861.  That all seems to work just fine.
  
  I applied the patch referenced in the email:
  
  https://www.funkthat.com/~jmg/sparc64.pcpu.patch
  
  (it applied cleanly), and then rebuilt the kernel on the machine,
  using the stock gcc 4.2.1 compiler.
  
  When rebooting with that kernel, the machine panics pretty early
  in the boot:
  
  FreeBSD 10.2-STABLE #3 r286861M: Wed Aug 19 14:28:45 EDT 2015
   l...@spork.pix.net:/usr/obj/usr/src/sys/GENERIC sparc64
  gcc version 4.2.1 20070831 patched [FreeBSD]
  real memory  = 8589934592 (8192 MB)
  avail memory = 8379719680 (7991 MB)
  cpu0: Sun Microsystems UltraSparc-IIIi Processor (1503.00 MHz CPU)
  cpu1: Sun Microsystems UltraSparc-IIIi Processor (1503.00 MHz CPU)
  FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
  random device not loaded; using insecure entropy
  panic: trap: illegal instruction (kernel)
  cpuid = 0
  KDB: stack backtrace:
  #0 0xc05750e0 at panic+0x20
  #1 0xc08db9f8 at trap+0x558
  Uptime: 1s
  Automatic reboot in 15 seconds - press a key on the console to abort
  Rebooting...
  timeout shutting down CPUs.
  
  So, the patch to get rid of the pcpu usage (as a prereq to poking
  at the clang compiler issues) does not work properly.
  
 
 As I pointed out when that patch was posted, the approach taken by
 it assumes a CPU can access foreign PCPU data, which currently isn't
 true on sparc64. So the patch is at least incomplete but also may
 have further issues.
 
 Such a patch is no longer a prerequisite for compiling a sparc64
 kernel with clang, though, as clang meanwhile has been told to
 grok at least the global registers used by the PCPU code.
 
 Besides some default options like the choice of code model not
 being appropriate for FreeBSD, clang-compiled loader and kernel
 don't 

Jenkins build is back to normal : Build-UFS-image #2200

2015-08-26 Thread jenkins-admin
See https://jenkins.FreeBSD.org/job/Build-UFS-image/2200/

___
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: Instant panic while trying run ports-mgmt/poudriere

2015-08-26 Thread John-Mark Gurney
Andriy Gapon wrote this message on Sun, Aug 23, 2015 at 09:54 +0300:
 On 12/08/2015 17:11, Lawrence Stewart wrote:
  On 08/07/15 07:33, Pawel Pekala wrote:
  Hi K.,
 
  On 2015-08-06 12:33 -0700, K. Macy km...@freebsd.org wrote:
  Is this still happening?
 
  Still crashes:
  
  +1 for me running r286617
 
 Here is another +1 with r286922.
 I can add a couple of bits of debugging data:
 
 (kgdb) fr 8
 #8  0x80639d60 in knote (list=0xf8019a733ea0,
 hint=2147483648, lockflags=value optimized out) at
 /usr/src/sys/kern/kern_event.c:1964
 1964} else if ((lockflags  KNF_NOKQLOCK) != 0) {
 (kgdb) p *list
 $2 = {kl_list = {slh_first = 0x0}, kl_lock = 0x8063a1e0

We should/cannot get here w/ an empty list.  If we do, then there is
something seriously wrong...  The current kn (which we must have as we
are here) MUST be on the list, but as you just showed, there are no
knotes on the list.

Can you get me a print of the knote?  That way I can see what flags
are on it?

 knlist_mtx_lock, kl_unlock = 0x8063a200 knlist_mtx_unlock,
   kl_assert_locked = 0x8063a220 knlist_mtx_assert_locked,
 kl_assert_unlocked = 0x8063a240 knlist_mtx_assert_unlocked,
   kl_lockarg = 0xf8019a733bb0}
 (kgdb) disassemble
 Dump of assembler code for function knote:
 0x80639d00 knote+0:   push   %rbp
 0x80639d01 knote+1:   mov%rsp,%rbp
 0x80639d04 knote+4:   push   %r15
 0x80639d06 knote+6:   push   %r14
 0x80639d08 knote+8:   push   %r13
 0x80639d0a knote+10:  push   %r12
 0x80639d0c knote+12:  push   %rbx
 0x80639d0d knote+13:  sub$0x18,%rsp
 0x80639d11 knote+17:  mov%edx,%r12d
 0x80639d14 knote+20:  mov%rsi,-0x30(%rbp)
 0x80639d18 knote+24:  mov%rdi,%rbx
 0x80639d1b knote+27:  test   %rbx,%rbx
 0x80639d1e knote+30:  je 0x80639ef6 knote+502
 0x80639d24 knote+36:  mov%r12d,%eax
 0x80639d27 knote+39:  and$0x1,%eax
 0x80639d2a knote+42:  mov%eax,-0x3c(%rbp)
 0x80639d2d knote+45:  mov0x28(%rbx),%rdi
 0x80639d31 knote+49:  je 0x80639d38 knote+56
 0x80639d33 knote+51:  callq  *0x18(%rbx)
 0x80639d36 knote+54:  jmp0x80639d42 knote+66
 0x80639d38 knote+56:  callq  *0x20(%rbx)
 0x80639d3b knote+59:  mov0x28(%rbx),%rdi
 0x80639d3f knote+63:  callq  *0x8(%rbx)
 0x80639d42 knote+66:  mov%rbx,-0x38(%rbp)
 0x80639d46 knote+70:  mov(%rbx),%rbx
 0x80639d49 knote+73:  test   %rbx,%rbx
 0x80639d4c knote+76:  je 0x80639ee5 knote+485
 0x80639d52 knote+82:  and$0x2,%r12d
 0x80639d56 knote+86:  nopw   %cs:0x0(%rax,%rax,1)
 0x80639d60 knote+96:  mov0x28(%rbx),%r14
 
 Panic is in the last quoted instruction.
 And:
 (kgdb) i reg
 rax0x246582
 rbx0xdeadc0dedeadc0de   -2401050962867404578
 rcx0x0  0
 rdx0x12e302
 rsi0x80a26a5a   -2136839590
 rdi0x80e81b80   -2132272256
 rbp0xfe02b7efea20   0xfe02b7efea20
 rsp0xfe02b7efe9e0   0xfe02b7efe9e0
 r8 0x80a269ce   -2136839730
 r9 0x80e82838   -2132269000
 r100x1  65536
 r110x80fabd10   -2131051248
 r120x0  0
 r130xf801ff84a818   -8787511171048
 r140xf801ff84a800   -8787511171072
 r150xf8019a6974f0   -8789207452432
 rip0x80639d60   0x80639d60 knote+96
 eflags 0x10286  66182
 
 I think that $rbx stands out here (this is a kernel with INVARIANTS).

Yeh, it was probably r284861 that I added to catch use after free bugs
like this...  You could try reverting r284861 to see if the bug goes
away... If it does, then this is most likely a use after free bug...

 Looking at the code, is it possible that one of the calls from within
 the loop's body modifies the list?  If that is so and provided that is a
 valid behavior, then maybe using SLIST_FOREACH_SAFE would help.

-- 
  John-Mark Gurney  Voice: +1 415 225 5579

 All that I will do, has been done, All that I have, has not.
___
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: Instant panic while trying run ports-mgmt/poudriere

2015-08-26 Thread John-Mark Gurney
Konstantin Belousov wrote this message on Mon, Aug 24, 2015 at 11:10 +0300:
 On Sun, Aug 23, 2015 at 10:35:44PM -0700, John-Mark Gurney wrote:
  Konstantin Belousov wrote this message on Sun, Aug 23, 2015 at 15:54 +0300:
 if (kev-flags  EV_ADD)
   - tkn = knote_alloc(waitok);  /* prevent waiting with locks */
   + /*
   +  * Prevent waiting with locks.  Non-sleepable
   +  * allocation failures are handled in the loop, only
   +  * if the spare knote appears to be actually required.
   +  */
   + tkn = knote_alloc(waitok);
  
  if you add this comment, please add curly braces around the block...
 Ok.
 
  
 else
 tkn = NULL;

   @@ -1310,8 +1315,7 @@ done:
 FILEDESC_XUNLOCK(td-td_proc-p_fd);
 if (fp != NULL)
 fdrop(fp, td);
   - if (tkn != NULL)
   - knote_free(tkn);
   + knote_free(tkn);
  
  Probably should just change knote_free to a static inline that does
  a uma_zfree as uma_zfree also does nothing is the input is NULL...
 This was already done in the patch (the removal of the NULL check in
 knote_free()). I usually do not add excessive inline keywords. Compilers
 are good, sometimes even too good, at figuring out the possibilities for
 inlining. knote_free() is inlined automatically.

Though it is, if we really change knote_free to a bare uma_free, then
either mark it inline (to be explicit about it's behavior), or make a
macro out of it... I don't particularly like functions that contain one
line of simple code...

   @@ -1948,7 +1948,7 @@ knote(struct knlist *list, long hint, int lockflags)
  * only safe if you want to remove the current item, which we are
  * not doing.
  */
   - SLIST_FOREACH(kn, list-kl_list, kn_selnext) {
   + SLIST_FOREACH_SAFE(kn, list-kl_list, kn_selnext, tkn) {
  
  Clearly you didn't read the comment that preceeds this line, or at
  least didn't update it:
   * SLIST_FOREACH, SLIST_FOREACH_SAFE is not safe in our case, it is
   * only safe if you want to remove the current item, which we are
   * not doing.
  
  So, you'll need to be more specific in why this needs to change...
  When I wrote this code, I spent a lot of time looking at this, and
  reasoned as to why SLIST_FOREACH_SAFE was NOT correct usage here...
 I explained what happens in the message.  The knote list is modified
 by the filter, see knlist_remove_inevent() call in filt_proc().

 kq = kn-kn_kq;
 KQ_LOCK(kq);
 if ((kn-kn_status  (KN_INFLUX | KN_SCAN)) == KN_INFLUX) {
   @@ -2385,15 +2385,16 @@ SYSINIT(knote, SI_SUB_PSEUDO, SI_ORDER_ANY, 
   knote_init, NULL);
static struct knote *
knote_alloc(int waitok)
{
   - return ((struct knote *)uma_zalloc(knote_zone,
   - (waitok ? M_WAITOK : M_NOWAIT)|M_ZERO));
   +
   + return (uma_zalloc(knote_zone, (waitok ? M_WAITOK : M_NOWAIT) |
   + M_ZERO));
}

static void
  
  per above, we should add inline here...
  
knote_free(struct knote *kn)
{
   - if (kn != NULL)
   - uma_zfree(knote_zone, kn);
   +
   + uma_zfree(knote_zone, kn);
}

/*
  
  I agree w/ the all the non-SLIST changes, but I disagree w/ the SLIST
  change as I don't believe that all cases was considered...
 What cases do you mean ?
 
 The patch does not unlock knlist lock in the iteration. As such, the
 only thread which could remove elements from the knlist, or rearrange
 the list, while loop is active, is the current thread. So I claim that
 the only the current iterating element can be removed, and the next list
 element stays valid. This is enough for _SAFE loop to work.

 Why do you think that _SAFE is incorrect ? Comment talks about very

I can't think of the reason right now, but I do remeber puzzling over
this issue for some hours when I wrote this code, and I had proved
to myself that _SAFE was NOT _SAFE for this use case...

In the quick look I just had, I have not been able to decide one way
or the other, but I'm suspicious that this is a recent issue, as this
code has been running for close to a decade w/o any issues, and wonder
if there was some other change that trigger the issue...

The reason I'm cautious about changing this is that the code has been
running fine for over a decade...  Have you done a full test to
validate that nothing else breaks?

Ok, after looking more at the original dump, this is a use after free
bug...  As I said in another email, it should not be possible to get
into the _FOREACH loop where knlist is an empty list.  If it does,
then there is another major bug that needs to be found...  A simple
change to _SAFE will not fix this use after free bug...

 different case, where the knlist lock is dropped. Then indeed, other
 thread may iterate in parallel, and invalidate the memoized next element
 while KN_INFLUX is set for the current element and knlist is dropped.
 But _SAFE in sys/queue.h never means 'safe for 

HWPMC panic

2015-08-26 Thread Larry Rosenman
Was playing with pmcstats -S instructions -T, and got the following when
I tried to ctrl/c out.


oldtbh.lerctr.org dumped core - see /var/crash/vmcore.3

Wed Aug 26 16:05:16 CDT 2015

FreeBSD oldtbh.lerctr.org 11.0-CURRENT FreeBSD 11.0-CURRENT #18 r287033: Sun 
Aug 23 18:08:24 CDT 2015 r...@oldtbh.lerctr.org:/usr/obj/usr/src/sys/VT-LER 
 amd64

panic: [p4,700] class mismatch pd 260 != id class 4

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type show copying to see the conditions.
There is absolutely no warranty for GDB.  Type show warranty for details.
This GDB was configured as amd64-marcel-freebsd...

Unread portion of the kernel message buffer:
panic: [p4,700] class mismatch pd 260 != id class 4
cpuid = 1
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfe0238744770
vpanic() at vpanic+0x189/frame 0xfe02387447f0
kassert_panic() at kassert_panic+0x132/frame 0xfe0238744860
p4_read_pmc() at p4_read_pmc+0x185/frame 0xfe02387448b0
pmc_stop() at pmc_stop+0x132/frame 0xfe02387448f0
pmc_syscall_handler() at pmc_syscall_handler+0x1752/frame 0xfe0238744ae0
amd64_syscall() at amd64_syscall+0x25d/frame 0xfe0238744bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfe0238744bf0
--- syscall (0, FreeBSD ELF64, nosys), rip = 0x801407ffa, rsp = 0x7fffe588, 
rbp = 0x7fffe5a0 ---
Uptime: 2d8h36m19s
Dumping 3475 out of 8158 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%

Reading symbols from /boot/kernel/if_lagg.ko.symbols...done.
Loaded symbols for /boot/kernel/if_lagg.ko.symbols
Reading symbols from /boot/kernel/hwpmc.ko.symbols...done.
Loaded symbols for /boot/kernel/hwpmc.ko.symbols
#0  doadump (textdump=1) at pcpu.h:221
221 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) #0  doadump (textdump=1) at pcpu.h:221
#1  0x80b34ca5 in kern_reboot (howto=260)
at /usr/src/sys/kern/kern_shutdown.c:329
#2  0x80b35298 in vpanic (fmt=value optimized out, 
ap=value optimized out) at /usr/src/sys/kern/kern_shutdown.c:626
#3  0x80b350c2 in kassert_panic (fmt=value optimized out)
at /usr/src/sys/kern/kern_shutdown.c:516
#4  0x8242ee25 in p4_read_pmc (cpu=1, ri=12, v=0xf8012b206aa0)
at /usr/src/sys/modules/hwpmc/../../dev/hwpmc/hwpmc_piv.c:699
#5  0x82425102 in pmc_stop (pm=0xf8012b206a80)
at /usr/src/sys/modules/hwpmc/../../dev/hwpmc/hwpmc_mod.c:2741
#6  0x82423a12 in pmc_syscall_handler (td=value optimized out, 
syscall_args=value optimized out)
at /usr/src/sys/modules/hwpmc/../../dev/hwpmc/hwpmc_mod.c:3923
#7  0x80f7c38d in amd64_syscall (td=0xf801060759a0, traced=0)
at subr_syscall.c:133
#8  0x80f5b26b in Xfast_syscall ()
at /usr/src/sys/amd64/amd64/exception.S:395
#9  0x000801407ffa in ?? ()
Previous frame inner to this frame (corrupt stack?)
Current language:  auto; currently minimal
(kgdb) 


vmcore IS available, and I *CAN* give ssh access.

-- 
Larry Rosenman http://www.lerctr.org/~ler
Phone: +1 214-642-9640 E-Mail: l...@lerctr.org
US Mail: 7011 W Parmer Ln, Apt 1115, Austin, TX 78729-6961
___
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: [fix] Shared object libsodium.so.13 not found, required by dnscrypt-proxy

2015-08-26 Thread Miguel C
I was testing with this again recently and it seems the big difference is
local_unbound!

BtW Barry thanks for the suggestion but I (and I think others) mentioned in
the thread that adding ldconfig REQUIRE in dnscrypt made no difference.

A box with dnscrypt+unbound doesn't have the issue,so I compared the 2 rc.d
scripts and noticed unbound doesn't use:

# BEFORE: NETWORKING

btw why would we want local_unbound BEFORE networking? doesn't it make
more sense to run it after, If something fails there (NETWORKG)
local_unbound won't be usable anyway, or am I saying something stupid? :P

Melhores Cumprimentos // Best Regards
---
*Miguel Clara*
*IT - Sys Admin  Developer*

On Fri, Jul 24, 2015 at 11:35 PM, Barry Allard barry.all...@gmail.com
wrote:

 Folks,

 The issue is that ldconfig must run before dnscrypt-proxy so it can find
 the sodium shared lib.

 One simple fix is to change /usr/local/etc/rc.d/dnscrypt-proxy (might not
 cover every edge case, but it appears to work.)

 # PROVIDE: dnscrypt_proxy
 # REQUIRE: ldconfig cleanvar
 # BEFORE: SERVERS
 # KEYWORD: shutdown

 No more circular depends and ldconfig is always first.

 $ rcorder /etc/rc.d/* /usr/local/etc/rc.d/* | awk
 '/SERVERS|dnscrypt-proxy|cleanvar|ldconfig|dbus/{print NR,$0}'
 rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
 `kerberos'
 rcorder: file `/usr/local/etc/rc.d/tcsd' is before unknown provision
 `named'
 rcorder: requirement `tpmd' in file `/usr/local/etc/rc.d/tcsd' has no
 providers.
 rcorder: requirement `slapd' in file `/usr/local/etc/rc.d/postfix' has no
 providers.
 rcorder: requirement `slapd' in file `/usr/local/etc/rc.d/dovecot' has no
 providers.
 18 /etc/rc.d/cleanvar
 67 /etc/rc.d/ldconfig
 68 /usr/local/etc/rc.d/dnscrypt-proxy
 75 /etc/rc.d/SERVERS

 (Feel free to fw: to the list. Also documented upstream
 https://github.com/jedisct1/dnscrypt-proxy/issues/242 in case someone
 else runs into this.)

 Regards,
 Barry Allard


___
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: Read-only /usr/obj/ no longer kosher?

2015-08-26 Thread O'Connor, Daniel

 On 27 Aug 2015, at 08:25, Pawel Jakub Dawidek p...@freebsd.org wrote:
 On Tue, Aug 25, 2015 at 03:32:35PM -0700, NGie Cooper wrote:
 On Tue, Aug 25, 2015 at 3:21 PM, Xin Li delp...@delphij.net wrote:
 On 08/25/15 14:55, Pawel Jakub Dawidek wrote:
 Now that I think of it, it might have been that I did
 buildworld/buildkernel before -p1. Then freebsd-update updated
 newvers.sh and then I was trying to do installworld.
 
 Yes, I can now reproduce it with source updated to -p2.
 
 Yes, that's because freebsd-version.sh is generated from the files (but
 it's not clear to me whether if it's a bug or a feature that 'make
 install' checks if it's up-to-date and decides to regenerate it...).
 
 It's a quirk for sure. If you change the behavior, people will
 definitely complain as they will now need to go back and rebuild
 everything.
 
 What we have now is misleading. People should recompile. It is rather
 rare to see security advisory which bumps only patch level and something
 that doesn't require recompilation (eg. a shell script). Current
 behaviour would make people think they are running latest patch level
 because freebsd-version says so, eventhough they only did 'make
 installworld' without rebuilding affected binaries.

So..
How hard would it be to force CC/CXX to /usr/bin/false during installworld?

--
Daniel O'Connor
The nice thing about standards is that there
are so many of them to choose from.
 -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C

___
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_HEAD - Build #3131 - Failure

2015-08-26 Thread jenkins-admin
FreeBSD_HEAD - Build #3131 - Failure:

Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD/3131/
Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD/3131/changes
Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD/3131/console

Change summaries:

287186 by imp:
Automatically append SUBDIR.yes to the SUBDIR variable, and
remove duplicates. We cannot sort SUBDIR because many Makefiles
have .WAIT in the list which is strongly ordering. Rather than
try to second guess when to sort and when to not sort depending
on .WAIT being in the list, just remove duplicates.

287185 by imp:
For each FOO in FILESLISTS, append the value of FOO.yes, sort, and
remove duplicates.

287183 by imp:
When the kernel is compiled with INVARIANTS, export that as
debug.invariants.

Differential Revision: https://reviews.freebsd.org/D3488
MFC after: 3 days

287182 by tuexen:
Add SCTP support.

PR: 201585
MFC after:  3 weeks

287181 by delphij:
Replace strndup with OpenBSD's implementation.

MFC after:  2 weeks

287179 by tuexen:
Remove a variable which is set but never used.

PR: 201585
MFC after:  3 weeks

287178 by tuexen:
Print the status on the first line of a socket description, not at
the last one. This doesn't matter for TCP, but it does for the upcoming
SCTP support.

PR: 201585
MFC after:  3 weeks



The end of the build log:

[...truncated 56593 lines...]
clang-tblgen -gen-clang-diags-defs -clang-component=Sema  -I 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Basic
 -d DiagnosticSemaKinds.inc.d  -o DiagnosticSemaKinds.inc.h 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td
--- DiagnosticCommonKinds.inc.h ---
--- Options.inc.h ---
--- DiagnosticCommonKinds.inc.h ---
clang-tblgen -gen-clang-diags-defs -clang-component=Common  -I 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Basic
 -d DiagnosticCommonKinds.inc.d  -o DiagnosticCommonKinds.inc.h 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td
--- Options.inc.h ---
tblgen -gen-opt-parser-defs  -I 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/include -I 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Driver
  -d Options.inc.d -o Options.inc.h  
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include/clang/Driver/Options.td
--- .depend ---
rm -f .depend
mkdep -f .depend -a
-I/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/include 
-I/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/include
 
-I/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/tools/driver
 -I. 
-I/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/../../lib/clang/include
 -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD -D__STDC_LIMIT_MACROS 
-D__STDC_CONSTANT_MACROS 
-DLLVM_DEFAULT_TARGET_TRIPLE=\x86_64-unknown-freebsd11.0\ 
-DLLVM_HOST_TRIPLE=\x86_64-unknown-freebsd11.0\ 
-DDEFAULT_SYSROOT=\/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp\ 
-I/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/legacy/usr/include  
-std=c++11  -stdlib=libc++
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/tools/driver/cc1_main.cpp
 
/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
 /builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../contrib/llvm/tools
 /clang/tools/driver/driver.cpp 
echo clang: /usr/lib/libc.a 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangfrontendtool/libclangfrontendtool.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangfrontend/libclangfrontend.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangdriver/libclangdriver.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangserialization/libclangserialization.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangcodegen/libclangcodegen.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangparse/libclangparse.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../li
 b/clang/libclangsema/libclangsema.a 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangrewritefrontend/libclangrewritefrontend.a
 
/builds/FreeBSD_HEAD/obj/builds/FreeBSD_HEAD/tmp/builds/FreeBSD_HEAD/usr.bin/clang/clang/../../../lib/clang/libclangrewrite/libclangrewrite.a
 

ramblings.. or not

2015-08-26 Thread Julian Elischer

I just enjoyed the following video.

  http://nextbsd.org/jordan-hubbard-visits-bafug/

The talk itself is fun to listen to (in a nerdy way) but the final 3
minutes are, I think, the most important..
We need to look harder at bringing in features from people's various 
science

experiments.  On the other hand sometimes I think that some
things come in a little too quickly..
The cloud-os wprk could spend a little more time in a branch I think. 
I didn't see
any consensus on bringing it in.. It's just coming in on its own.. 
(not that it's bad ,

just that I didn't see any discusssion).

We should certainly be looking at a closer connection with PCBSD 
(despite their change

to no longer use the original PBI concept).

We should certainly be looking at a closer connection with HardenedBSD,
and now I think we really should be looking at launchd and friends.

Do we have a standard path for ideas from these projects and DragonFly?

We should also do a better job of productising and incorporating GSOC 
work..


Maybe we should make the ideas page more mainline.  Where people can put
in a more standard way links to their pet projects and offically 
submit work for inclusion.

and then make it better known..




___
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