Fw: svn commit: r209554 - in head/usr.sbin/pc-sysinstall: . pc-sysinstall

2010-06-27 Thread M. Warner Losh
If you updated after pc-sysinstall was committed, but before this
commit, you'll have a stray /pc-sysinstall.  It can and should be
deleted.

Warner

---BeginMessage---
Author: imp
Date: Sun Jun 27 17:14:04 2010
New Revision: 209554
URL: http://svn.freebsd.org/changeset/base/209554

Log:
  Properly inherit variables from src/usr.sbin/Makefile.inc for
  subdirectories of pc-sysinstall.  Back out explicit setting in
  pc-sysinstall/pc-sysinstall/Makefile.

Added:
  head/usr.sbin/pc-sysinstall/Makefile.inc   (contents, props changed)
Modified:
  head/usr.sbin/pc-sysinstall/pc-sysinstall/Makefile

Added: head/usr.sbin/pc-sysinstall/Makefile.inc
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/pc-sysinstall/Makefile.incSun Jun 27 17:14:04 2010
(r209554)
@@ -0,0 +1,3 @@
+# $FreeBSD$
+
+.include ../Makefile.inc

Modified: head/usr.sbin/pc-sysinstall/pc-sysinstall/Makefile
==
--- head/usr.sbin/pc-sysinstall/pc-sysinstall/Makefile  Sun Jun 27 17:04:03 
2010(r209553)
+++ head/usr.sbin/pc-sysinstall/pc-sysinstall/Makefile  Sun Jun 27 17:14:04 
2010(r209554)
@@ -2,6 +2,5 @@
 
 SCRIPTS=pc-sysinstall.sh
 MAN=   pc-sysinstall.8
-BINDIR=/usr/sbin
 
 .include bsd.prog.mk

---End Message---
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Coming back to the btxld: No such file or directory installworld error

2010-06-27 Thread Garrett Cooper
Hi Ruslan,
I've run into this particular error twice now in the past couple
of weeks when building with -j24 on a memory disk and I was wondering
if there was an missing dependency / race somewhere or something
(perhaps make obj?):

=== sys/boot/i386/boot2 (install)
# ...
btxld -v -E 0x2000 -f bin -b
/usr/obj/scratch/freebsd/current/sys/boot/i386/boot2/../btx/btx/btx -l
boot2.ldr  -o boot2.ld -P 1 boot2.bin
btxld: No such file or directory
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot/i386/boot2.
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot/i386.
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot.
*** Error code 1

Stop in /scratch/freebsd/current/sys.
*** Error code 1

Stop in /scratch/freebsd/current.
*** Error code 1

Stop in /scratch/freebsd/current.
*** Error code 1

Stop in /scratch/freebsd/current.
*** Error code 1

Stop in /scratch/freebsd/current.

Same goes for zfsboot:

=== sys/boot/i386/zfsboot (install)
as  --32 -o zfsboot.o zfsboot.s
ld -static -N --gc-sections -nostdlib -m elf_i386_fbsd -Ttext 0x2000
-o zfsboot.out 
/usr/obj/scratch/freebsd/current/sys/boot/i386/zfsboot/../btx/lib/crt0.o
zfsboot.o sio.o /scratch/tftpboot/orangebox//usr/lib/libstand.a
objcopy -S -O binary zfsboot.out zfsboot.bin
btxld -v -E 0x2000 -f bin -b
/usr/obj/scratch/freebsd/current/sys/boot/i386/zfsboot/../btx/btx/btx
-l zfsboot.ldr  -o zfsboot.ld -P 1 zfsboot.bin
btxld: No such file or directory
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot/i386/zfsboot.
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot/i386.
*** Error code 1

Stop in /scratch/freebsd/current/sys/boot.
*** Error code 1

Stop in /scratch/freebsd/current/sys.
*** Error code 1

Stop in /scratch/freebsd/current.
*** Error code 1

Running the make in the respective subdirectories, then rerunning
installworld works. Example:

btxld -v -E 0x2000 -f bin -b
/usr/obj/scratch/freebsd/current/sys/boot/i386/zfsboot/../btx/btx/btx
-l zfsboot.ldr  -o zfsboot.ld -P 1 zfsboot.bin
kernel: ver=1.02 size=690 load=9000 entry=9010 map=16M pgctl=1:1
client: fmt=bin size=602c text=0 data=0 bss=0 entry=0
output: fmt=bin size=66bc text=0 data=66bc org=0 entry=0
6468 bytes available
dd if=zfsboot.ld of=zfsboot2 obs=32768 conv=osync
51+1 records in
1+0 records out
32768 bytes transferred in 0.62 secs (528611360 bytes/sec)
cat zfsboot1 zfsboot2  zfsboot

Thanks,
-Garrett

PS. This has been brought up in two separate threads in the past as well:
[1]. http://lists.freebsd.org/pipermail/freebsd-amd64/2006-September/008849.html
[2]. http://lists.freebsd.org/pipermail/freebsd-amd64/2004-August/001906.html
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: r209240 ia64 - buildworld - undefined reference to `lzma_physmem'

2010-06-27 Thread Dag-Erling Smørgrav
Garrett Cooper yanef...@gmail.com writes:
 Sorry to jump in, but could you please copy your source tree on
 the failing machine elsewhere, run make clean cleandir, and try
 applying the patch attached to the post below [1] and see whether or
 not the issue is resolved?

Umm...  the error you got was completely unrelated, and that patch does
*nothing* that will help Anton.  Your problem seems to be that ar(1)
somehow got built before libarchive, while Anton's problem is that gcc
is picking up the wrong version of liblzma.

DES
-- 
Dag-Erling Smørgrav - d...@des.no
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: r209240 ia64 - buildworld - undefined reference to `lzma_physmem'

2010-06-27 Thread Anton Shterenlikht
On Sun, Jun 27, 2010 at 10:45:21PM +0200, Dag-Erling Smørgrav wrote:
 Garrett Cooper yanef...@gmail.com writes:
  Sorry to jump in, but could you please copy your source tree on
  the failing machine elsewhere, run make clean cleandir, and try
  applying the patch attached to the post below [1] and see whether or
  not the issue is resolved?
 
 Umm...  the error you got was completely unrelated, and that patch does
 *nothing* that will help Anton.  Your problem seems to be that ar(1)
 somehow got built before libarchive, while Anton's problem is that gcc
 is picking up the wrong version of liblzma.

I still haven't got round to do what you suggested, DES, but
will definitely do soon..

many thanks
anton

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Patch for rc.d/devd on FreeBSD 9-current

2010-06-27 Thread M. Warner Losh
In message: aanlktilnygnz7v6z6akeksquvomn8ylvo57gm1goi...@mail.gmail.com
Garrett Cooper yanef...@gmail.com writes:
: On Sat, Jun 26, 2010 at 1:45 PM, Garrett Cooper yanef...@gmail.com wrote:
:  On Sat, Jun 26, 2010 at 1:29 PM, Hans Petter Selasky hsela...@c2i.net 
wrote:
:  Hi,
: 
:  Sometimes utilities that are started by devd require libraries outside
:  /usr/lib. One example is the webcamd utility which is started by devd upon 
USB
:  device insertion. What do you think about the following patch:
: 
:  --- devd        (revision 209463)
:  +++ devd        (local)
:  @@ -4,7 +4,7 @@
:   #
: 
:   # PROVIDE: devd
:  -# REQUIRE: netif
:  +# REQUIRE: netif ldconfig
:   # BEFORE: NETWORKING mountcritremote
:   # KEYWORD: nojail shutdown
: 
:  Funny since I was just monkeying around with this. This doesn't appear
:  to be the only issue with devd:
: 
:  # devd
:  devd: devd already running, pid: 430
:  # pgrep 430; echo $?
:  1
:  #
: 
:  Looks like /etc/rc.d/devd restart is broken :(...
: 
: This seems to fix that.
: Thanks,
: -Garrett
: 
: Index: devd.cc
: ===
: --- devd.cc   (revision 209530)
: +++ devd.cc   (working copy)
: @@ -739,6 +739,7 @@
:  static void
:  event_loop(void)
:  {
: + bool warn_user_about_cleanup;
:   int rv;
:   int fd;
:   char buffer[DEVCTL_MAXBUF];
: @@ -804,6 +805,17 @@
:   new_client(server_fd);
:   }
:   close(fd);
: + close(server_fd);
: +
: + if (unlink(PIPE) == 0) {
: + cfg.remove_pidfile();
: + warn_user_about_cleanup = false;
: + } else
: + warn_user_about_cleanup = true;
: +
: + if (warn_user_about_cleanup == true)
: + warn(cleanup failed);
: +

Why not fix pidfile_open to not return a file handle when the PID
doesn't match?  Seems like a bug to me in that routine as well.

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


Re: Patch for rc.d/devd on FreeBSD 9-current

2010-06-27 Thread M. Warner Losh
In message: aanlktilnygnz7v6z6akeksquvomn8ylvo57gm1goi...@mail.gmail.com
Garrett Cooper yanef...@gmail.com writes:
: On Sat, Jun 26, 2010 at 1:45 PM, Garrett Cooper yanef...@gmail.com wrote:
:  On Sat, Jun 26, 2010 at 1:29 PM, Hans Petter Selasky hsela...@c2i.net 
wrote:
:  Hi,
: 
:  Sometimes utilities that are started by devd require libraries outside
:  /usr/lib. One example is the webcamd utility which is started by devd upon 
USB
:  device insertion. What do you think about the following patch:
: 
:  --- devd        (revision 209463)
:  +++ devd        (local)
:  @@ -4,7 +4,7 @@
:   #
: 
:   # PROVIDE: devd
:  -# REQUIRE: netif
:  +# REQUIRE: netif ldconfig
:   # BEFORE: NETWORKING mountcritremote
:   # KEYWORD: nojail shutdown
: 
:  Funny since I was just monkeying around with this. This doesn't appear
:  to be the only issue with devd:
: 
:  # devd
:  devd: devd already running, pid: 430
:  # pgrep 430; echo $?
:  1
:  #
: 
:  Looks like /etc/rc.d/devd restart is broken :(...
: 
: This seems to fix that.
: Thanks,
: -Garrett
: 
: Index: devd.cc
: ===
: --- devd.cc   (revision 209530)
: +++ devd.cc   (working copy)
: @@ -739,6 +739,7 @@
:  static void
:  event_loop(void)
:  {
: + bool warn_user_about_cleanup;
:   int rv;
:   int fd;
:   char buffer[DEVCTL_MAXBUF];
: @@ -804,6 +805,17 @@
:   new_client(server_fd);
:   }
:   close(fd);
: + close(server_fd);
: +
: + if (unlink(PIPE) == 0) {
: + cfg.remove_pidfile();
: + warn_user_about_cleanup = false;
: + } else
: + warn_user_about_cleanup = true;
: +
: + if (warn_user_about_cleanup == true)
: + warn(cleanup failed);
: +
:  }
:  
:  /*

This patch is wrong.  The problems with it:

(1) You don't need to unlink the pipe.  If you can't unlink it, then
you won't remove the pid file.
(2) If devd dies suddenly (kill -9, segv, etc), then the pid file will
remain around, and devd will fail to start.
(3) i_really_do_not_like_names_this_long_esp_when_they_are_not_needed.

The following works around the bug in pidfile_open, and allows me to
restart devd both in a nice shutdown mode, as well as preventing devd
from running multiple times.  I'm not 100% sure the error handling is
right, I'm still tracing through that path.  This seems to work.

Warner

Index: devd.cc
===
--- devd.cc (revision 209492)
+++ devd.cc (working copy)
@@ -376,11 +376,18 @@
if (_pidfile == )
return;
pfh = pidfile_open(_pidfile.c_str(), 0600, otherpid);
-   if (pfh == NULL) {
-   if (errno == EEXIST)
+   if (pfh != NULL)
+   return;
+   if (errno == EEXIST) {
+   /*
+* Work around a bug in libutil where it will return this
+* condition when the other process does not, in fact,
+* actually exist.  Use kill(2) to see if it is there or not.
+*/
+   if (kill(otherpid, 0) == 0)
errx(1, devd already running, pid: %d, (int)otherpid);
+   } else
warn(cannot open pid file);
-   }
 }
 
 void
@@ -804,6 +811,8 @@
new_client(server_fd);
}
close(fd);
+   close(server_fd);
+   cfg.remove_pidfile();
 }
 
 /*
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Patch for rc.d/devd on FreeBSD 9-current

2010-06-27 Thread Garrett Cooper
On Sun, Jun 27, 2010 at 3:08 PM, M. Warner Losh i...@bsdimp.com wrote:
 In message: aanlktilnygnz7v6z6akeksquvomn8ylvo57gm1goi...@mail.gmail.com
            Garrett Cooper yanef...@gmail.com writes:
 : On Sat, Jun 26, 2010 at 1:45 PM, Garrett Cooper yanef...@gmail.com wrote:
 :  On Sat, Jun 26, 2010 at 1:29 PM, Hans Petter Selasky hsela...@c2i.net 
 wrote:
 :  Hi,
 : 
 :  Sometimes utilities that are started by devd require libraries outside
 :  /usr/lib. One example is the webcamd utility which is started by devd 
 upon USB
 :  device insertion. What do you think about the following patch:
 : 
 :  --- devd        (revision 209463)
 :  +++ devd        (local)
 :  @@ -4,7 +4,7 @@
 :   #
 : 
 :   # PROVIDE: devd
 :  -# REQUIRE: netif
 :  +# REQUIRE: netif ldconfig
 :   # BEFORE: NETWORKING mountcritremote
 :   # KEYWORD: nojail shutdown
 : 
 :  Funny since I was just monkeying around with this. This doesn't appear
 :  to be the only issue with devd:
 : 
 :  # devd
 :  devd: devd already running, pid: 430
 :  # pgrep 430; echo $?
 :  1
 :  #
 : 
 :  Looks like /etc/rc.d/devd restart is broken :(...
 :
 : This seems to fix that.
 : Thanks,
 : -Garrett
 :
 : Index: devd.cc
 : ===
 : --- devd.cc   (revision 209530)
 : +++ devd.cc   (working copy)
 : @@ -739,6 +739,7 @@
 :  static void
 :  event_loop(void)
 :  {
 : +     bool warn_user_about_cleanup;
 :       int rv;
 :       int fd;
 :       char buffer[DEVCTL_MAXBUF];
 : @@ -804,6 +805,17 @@
 :                       new_client(server_fd);
 :       }
 :       close(fd);
 : +     close(server_fd);
 : +
 : +     if (unlink(PIPE) == 0) {
 : +             cfg.remove_pidfile();
 : +             warn_user_about_cleanup = false;
 : +     } else
 : +             warn_user_about_cleanup = true;
 : +
 : +     if (warn_user_about_cleanup == true)
 : +             warn(cleanup failed);
 : +
 :  }
 :
 :  /*

 This patch is wrong.  The problems with it:

 (1) You don't need to unlink the pipe.  If you can't unlink it, then
    you won't remove the pid file.
 (2) If devd dies suddenly (kill -9, segv, etc), then the pid file will
    remain around, and devd will fail to start.
 (3) i_really_do_not_like_names_this_long_esp_when_they_are_not_needed.

 The following works around the bug in pidfile_open, and allows me to
 restart devd both in a nice shutdown mode, as well as preventing devd
 from running multiple times.  I'm not 100% sure the error handling is
 right, I'm still tracing through that path.  This seems to work.

 Warner

 Index: devd.cc
 ===
 --- devd.cc     (revision 209492)
 +++ devd.cc     (working copy)
 @@ -376,11 +376,18 @@
        if (_pidfile == )
                return;
        pfh = pidfile_open(_pidfile.c_str(), 0600, otherpid);
 -       if (pfh == NULL) {
 -               if (errno == EEXIST)
 +       if (pfh != NULL)
 +               return;
 +       if (errno == EEXIST) {
 +               /*
 +                * Work around a bug in libutil where it will return this
 +                * condition when the other process does not, in fact,
 +                * actually exist.  Use kill(2) to see if it is there or not.
 +                */
 +               if (kill(otherpid, 0) == 0)
                        errx(1, devd already running, pid: %d, 
 (int)otherpid);
 +       } else
                warn(cannot open pid file);
 -       }
  }

  void
 @@ -804,6 +811,8 @@
                        new_client(server_fd);
        }
        close(fd);
 +       close(server_fd);
 +       cfg.remove_pidfile();
  }

I see what you mean. pidfile_open obviously fails with this requirement:

 If a file can not be locked, a PID of an already running daemon is returned
 in the pidptr argument (if it is not NULL).  The function does not write
 process' PID into the file here, so it can be used before
fork()ing and exit
 with a proper error message when needed.  If the path argument is NULL,
 /var/run/progname.pid file will be used.

The problem I think is that the flopen arguments are wrong -- it passes in
O_TRUNC, instead of checking whether or not the file exists beforehand, and
then attempt to read in the file (if it exists) to determine whether
or not the PID is alive.

Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


panic with zfs v16 patch

2010-06-27 Thread Sam Fourman Jr.
hello list,

I just had a panic on a FreeBSD 9.0 built with yesterdays sources.

uname -a
FreeBSD  9.0-CURRENT FreeBSD 9.0-CURRENT #0: Sat Jun 26 09:14:30 CDT
2010 sfourman@:/usr/obj/usr/src/sys/ZFSv16  amd64

GENERIC kernel with this patch
http://people.freebsd.org/~mm/patches/zfs/v16/head-v16-extended.patch
i have a ufs2 boot drive with a separate ZFS pool

since this was a fresh install of 9-current(specifically to test the
v16 ZFS patches)

I was doing a zpool import of a 2TB dataset that has ~100 snapshots
it was taking over a hour to import, possibly this zfs bug

http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6761786

So I decided to build subversion from ports while I waited on zfs import
I got the panic in the following pics

http://www.puffybsd.com/img_3995.jpg
http://www.puffybsd.com/img_3996.jpg

-- 

Sam Fourman Jr.
Fourman Networks
http://www.fourmannetworks.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Patch for rc.d/devd on FreeBSD 9-current

2010-06-27 Thread M. Warner Losh
In message: aanlktiki223vbybdeqlua6fjcbbeqcqfujoimp5ho...@mail.gmail.com
Garrett Cooper yanef...@gmail.com writes:
: On Sun, Jun 27, 2010 at 3:08 PM, M. Warner Losh i...@bsdimp.com wrote:
:  In message: aanlktilnygnz7v6z6akeksquvomn8ylvo57gm1goi...@mail.gmail.com
:             Garrett Cooper yanef...@gmail.com writes:
:  : On Sat, Jun 26, 2010 at 1:45 PM, Garrett Cooper yanef...@gmail.com 
wrote:
:  :  On Sat, Jun 26, 2010 at 1:29 PM, Hans Petter Selasky hsela...@c2i.net 
wrote:
:  :  Hi,
:  : 
:  :  Sometimes utilities that are started by devd require libraries outside
:  :  /usr/lib. One example is the webcamd utility which is started by devd 
upon USB
:  :  device insertion. What do you think about the following patch:
:  : 
:  :  --- devd        (revision 209463)
:  :  +++ devd        (local)
:  :  @@ -4,7 +4,7 @@
:  :   #
:  : 
:  :   # PROVIDE: devd
:  :  -# REQUIRE: netif
:  :  +# REQUIRE: netif ldconfig
:  :   # BEFORE: NETWORKING mountcritremote
:  :   # KEYWORD: nojail shutdown
:  : 
:  :  Funny since I was just monkeying around with this. This doesn't appear
:  :  to be the only issue with devd:
:  : 
:  :  # devd
:  :  devd: devd already running, pid: 430
:  :  # pgrep 430; echo $?
:  :  1
:  :  #
:  : 
:  :  Looks like /etc/rc.d/devd restart is broken :(...
:  :
:  : This seems to fix that.
:  : Thanks,
:  : -Garrett
:  :
:  : Index: devd.cc
:  : ===
:  : --- devd.cc   (revision 209530)
:  : +++ devd.cc   (working copy)
:  : @@ -739,6 +739,7 @@
:  :  static void
:  :  event_loop(void)
:  :  {
:  : +     bool warn_user_about_cleanup;
:  :       int rv;
:  :       int fd;
:  :       char buffer[DEVCTL_MAXBUF];
:  : @@ -804,6 +805,17 @@
:  :                       new_client(server_fd);
:  :       }
:  :       close(fd);
:  : +     close(server_fd);
:  : +
:  : +     if (unlink(PIPE) == 0) {
:  : +             cfg.remove_pidfile();
:  : +             warn_user_about_cleanup = false;
:  : +     } else
:  : +             warn_user_about_cleanup = true;
:  : +
:  : +     if (warn_user_about_cleanup == true)
:  : +             warn(cleanup failed);
:  : +
:  :  }
:  :
:  :  /*
: 
:  This patch is wrong.  The problems with it:
: 
:  (1) You don't need to unlink the pipe.  If you can't unlink it, then
:     you won't remove the pid file.
:  (2) If devd dies suddenly (kill -9, segv, etc), then the pid file will
:     remain around, and devd will fail to start.
:  (3) i_really_do_not_like_names_this_long_esp_when_they_are_not_needed.
: 
:  The following works around the bug in pidfile_open, and allows me to
:  restart devd both in a nice shutdown mode, as well as preventing devd
:  from running multiple times.  I'm not 100% sure the error handling is
:  right, I'm still tracing through that path.  This seems to work.
: 
:  Warner
: 
:  Index: devd.cc
:  ===
:  --- devd.cc     (revision 209492)
:  +++ devd.cc     (working copy)
:  @@ -376,11 +376,18 @@
:         if (_pidfile == )
:                 return;
:         pfh = pidfile_open(_pidfile.c_str(), 0600, otherpid);
:  -       if (pfh == NULL) {
:  -               if (errno == EEXIST)
:  +       if (pfh != NULL)
:  +               return;
:  +       if (errno == EEXIST) {
:  +               /*
:  +                * Work around a bug in libutil where it will return this
:  +                * condition when the other process does not, in fact,
:  +                * actually exist.  Use kill(2) to see if it is there or 
not.
:  +                */
:  +               if (kill(otherpid, 0) == 0)
:                         errx(1, devd already running, pid: %d, 
(int)otherpid);
:  +       } else
:                 warn(cannot open pid file);
:  -       }
:   }
: 
:   void
:  @@ -804,6 +811,8 @@
:                         new_client(server_fd);
:         }
:         close(fd);
:  +       close(server_fd);
:  +       cfg.remove_pidfile();
:   }
: 
: I see what you mean. pidfile_open obviously fails with this requirement:
: 
:  If a file can not be locked, a PID of an already running daemon is 
returned
:  in the pidptr argument (if it is not NULL).  The function does not write
:  process' PID into the file here, so it can be used before
: fork()ing and exit
:  with a proper error message when needed.  If the path argument is NULL,
:  /var/run/progname.pid file will be used.
: 
: The problem I think is that the flopen arguments are wrong -- it passes in
: O_TRUNC, instead of checking whether or not the file exists beforehand, and
: then attempt to read in the file (if it exists) to determine whether
: or not the PID is alive.

O_TRUNC likely is OK.  If you can obtain the lock, then truncation is
what you want...

Maybe the real problem is that devd locks the file, then dies.  The
file remains locked, so the flopen is failing with EWOULDBLOCK.  That
gets turned into an EEXIST return value, with the PID of of 

Re: Coming back to the btxld: No such file or directory installworld error

2010-06-27 Thread Ruslan Ermilov
On Sun, Jun 27, 2010 at 01:14:59PM -0700, Garrett Cooper wrote:
 Hi Ruslan,
 I've run into this particular error twice now in the past couple
 of weeks when building with -j24 on a memory disk and I was wondering
 if there was an missing dependency / race somewhere or something
 (perhaps make obj?):
 
 === sys/boot/i386/boot2 (install)
 # ...
 btxld -v -E 0x2000 -f bin -b
 /usr/obj/scratch/freebsd/current/sys/boot/i386/boot2/../btx/btx/btx -l
 boot2.ldr  -o boot2.ld -P 1 boot2.bin
 btxld: No such file or directory
 *** Error code 1

The install target isn't supposed to build stuff, only install it.
When you see it trying to build something, this can be indicative of:

- build wasn't run (e.g., after an update);

- a computer's date/time is set to the past (causing wrong date/time
  to be set on output files = causing them to be considered out-of-
  date by make(1)); check with date(1).

- source files have modification times pointing to the future which
  fools make(1) into thinking that it should rebuild some target;
  check with find /usr/src -mtime -0.


HTH,
-- 
Ruslan Ermilov
r...@freebsd.org
FreeBSD committer
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org