kern/165087: lock violation in unionfs

2012-02-13 Thread Pavel Polyakov

>Number: 165087
>Category:   kern
>Synopsis:   lock violation in unionfs
>Confidential:   no
>Severity:   serious
>Priority:   medium
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 13 09:00:28 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Pavel Polyakov
>Release:FreeBSD 9.0-STABLE r230270
>Organization:
>Environment:
FreeBSD 9.0-STABLE #0 r230270M: Wed Feb  1 00:31:59 EET 2012
>Description:

Dump header from device /dev/label/dump0
  Architecture: amd64
  Architecture Version: 2
  Dump Length: 743739392B (709 MB)
  Blocksize: 512
  Dumptime: Sun Feb 12 15:22:16 2012
  Hostname: cel.home
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 9.0-STABLE #0 r230270M: Wed Feb  1 00:31:59 EET 2012
r...@cel.home:/usr/obj/usr/src/sys/PDC90
  Panic String:
  Dump Parity: 2051880815
  Bounds: 75
  Dump Status: good



Unread portion of the kernel message buffer:
KDB: stack backtrace:
db_trace_self_wrapper() at 0x802da48a = db_trace_self_wrapper+0x2a
kdb_backtrace() at 0x805cc157 = kdb_backtrace+0x37
vfs_badlock() at 0x8062ee75 = vfs_badlock+0x95
assert_vop_elocked() at 0x80632ff9 = assert_vop_elocked+0x69
insmntque1() at 0x8063337a = insmntque1+0x4a
unionfs_nodeget() at 0x8143469c = unionfs_nodeget+0x10c
unionfs_domount() at 0x81436e2f = unionfs_domount+0x4af
vfs_donmount() at 0x80629784 = vfs_donmount+0x884
sys_nmount() at 0x8062a542 = sys_nmount+0x82
amd64_syscall() at 0x80831b1b = amd64_syscall+0x27b
Xfast_syscall() at 0x8081cef7 = Xfast_syscall+0xf7
--- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x8008a638c, rsp = 
0x7fffcb48, rbp = 0x7fffcb70 ---
insmntque: mp-safe fs and non-locked vp: 0xfe01d96704f0 is not exclusive 
locked but should be
KDB: enter: lock violation
Dumping 709 out of 8175 MB:..3%..12%..21%..32%..41%..52%..61%..73%..82%..91%



..
Reading symbols from /boot/kernel/unionfs.ko...Reading symbols from 
/boot/kernel/unionfs.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/unionfs.ko
#0  doadump (textdump=1818177984) at /usr/src/sys/kern/kern_shutdown.c:260
260 if (textdump && textdump_pending) {
(kgdb) #0  doadump (textdump=1818177984) at 
/usr/src/sys/kern/kern_shutdown.c:260
#1  0x802d7cdc in db_fncall (dummy1=Variable "dummy1" is not available.
)
at /usr/src/sys/ddb/db_command.c:573
#2  0x802d8011 in db_command (last_cmdp=0x80c337c0, 
cmd_table=Variable "cmd_table" is not available.
)
at /usr/src/sys/ddb/db_command.c:449
#3  0x802d8260 in db_command_loop ()
at /usr/src/sys/ddb/db_command.c:502
#4  0x802da3c9 in db_trap (type=Variable "type" is not available.
) at /usr/src/sys/ddb/db_main.c:229
#5  0x805cbf91 in kdb_trap (type=3, code=0, tf=0xff816c5f33f0)
at /usr/src/sys/kern/subr_kdb.c:620
#6  0x808328fa in trap (frame=0xff816c5f33f0)
at /usr/src/sys/amd64/amd64/trap.c:591
#7  0x8081cc0f in calltrap ()
at /usr/src/sys/amd64/amd64/exception.S:228
#8  0x805cbd3b in kdb_enter (why=0x8092b343 "vfslock",
msg=0x80 ) at cpufunc.h:63
#9  0x80632ff9 in assert_vop_elocked (vp=0xfe01d96704f0,
str=0x8092c460 "insmntque: mp-safe fs and non-locked vp")
at /usr/src/sys/kern/vfs_subr.c:3848
#10 0x8063337a in insmntque1 (vp=0xfe01d96704f0,
mp=0xfe0120200730, dtr=0x806359f0 ,
dtr_arg=0x0) at /usr/src/sys/kern/vfs_subr.c:1124
#11 0x8143469c in unionfs_nodeget (mp=0xfe0120200730,
uppervp=0xfe001e3919e0, lowervp=0xfe016974d768, dvp=0x0,
vpp=0xfe00156a4b10, cnp=0x0, td=0xfe001e251460)
at /usr/src/sys/modules/unionfs/../../fs/unionfs/union_subr.c:264
#12 0x81436e2f in unionfs_domount (mp=0xfe0120200730)
at /usr/src/sys/modules/unionfs/../../fs/unionfs/union_vfsops.c:289
#13 0x80629784 in vfs_donmount (td=Variable "td" is not available.
)
at /usr/src/sys/kern/vfs_mount.c:800
#14 0x8062a542 in sys_nmount (td=0xfe001e251460,
uap=0xff816c5f3bc0) at /usr/src/sys/kern/vfs_mount.c:410
#15 0x80831b1b in amd64_syscall (td=0xfe001e251460, traced=0)
at subr_syscall.c:131
#16 0x8081cef7 in Xfast_syscall ()
at /usr/src/sys/amd64/amd64/exception.S:387
#17 0x0008008a638c in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)





db> run lockinfo

db:0:lockinfo> show locks
exclusive sleep mutex Giant (Giant) r = 0 (0x80c59ea0) locked @ 
/usr/src/sys/dev/usb/usb_transfer.c:3165
db:0:locks>  show alllocks
Process 9335 (mount_unionfs) thread 0xfe001e251460 (100436)
exclusive sleep mutex Giant (Giant) r = 0 (0x80c59ea0) locked @ 
/usr/src/sys/dev/usb/usb_transfer.c:3165
Process 2392 (perl5.8.9) thread 0xfe

Re: misc/165085: nanobsd building broken

2012-02-13 Thread Eugene Grosbein
The following reply was made to PR misc/165085; it has been noted by GNATS.

From: Eugene Grosbein 
To: bug-follo...@freebsd.org
Cc:  
Subject: Re: misc/165085: nanobsd building broken
Date: Mon, 13 Feb 2012 16:00:07 +0700

 Hi!
 
 The first nanobsd build should be done without '-b' or '-w' options,
 so it can populate its obj directory for installworld/installkernel.
 
 This PR should be closed as case of pilot error.
 
 Eugene Grosbein
___
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: bin/165075: rtld error messages are missing a newline

2012-02-13 Thread kib
Synopsis: rtld error messages are missing a newline

State-Changed-From-To: open->patched
State-Changed-By: kib
State-Changed-When: Mon Feb 13 11:14:49 UTC 2012
State-Changed-Why: 
Fix in head.


Responsible-Changed-From-To: freebsd-bugs->kib
Responsible-Changed-By: kib
Responsible-Changed-When: Mon Feb 13 11:14:49 UTC 2012
Responsible-Changed-Why: 
Fix in head.

http://www.freebsd.org/cgi/query-pr.cgi?pr=165075
___
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: bin/164317: commit references a PR

2012-02-13 Thread dfilter service
The following reply was made to PR bin/164317; it has been noted by GNATS.

From: dfil...@freebsd.org (dfilter service)
To: bug-follo...@freebsd.org
Cc:  
Subject: Re: bin/164317: commit references a PR
Date: Mon, 13 Feb 2012 14:40:25 + (UTC)

 Author: glebius
 Date: Mon Feb 13 14:40:15 2012
 New Revision: 231586
 URL: http://svn.freebsd.org/changeset/base/231586
 
 Log:
   Fix write(1) to support wide characters.
   
   Submitted by:amdmi3
   PR:  bin/164317
 
 Modified:
   head/usr.bin/write/write.1
   head/usr.bin/write/write.c
 
 Modified: head/usr.bin/write/write.1
 ==
 --- head/usr.bin/write/write.1 Mon Feb 13 13:07:56 2012(r231585)
 +++ head/usr.bin/write/write.1 Mon Feb 13 14:40:15 2012(r231586)
 @@ -31,7 +31,7 @@
  .\" @(#)write.1   8.1 (Berkeley) 6/6/93
  .\" $FreeBSD$
  .\"
 -.Dd July 17, 2004
 +.Dd February 13, 2012
  .Dt WRITE 1
  .Os
  .Sh NAME
 @@ -107,7 +107,3 @@ setting is used to determine which chara
  terminal, not the receiver's (which
  .Nm
  has no way of knowing).
 -.Pp
 -The
 -.Nm
 -utility does not recognize multibyte characters.
 
 Modified: head/usr.bin/write/write.c
 ==
 --- head/usr.bin/write/write.c Mon Feb 13 13:07:56 2012(r231585)
 +++ head/usr.bin/write/write.c Mon Feb 13 14:40:15 2012(r231586)
 @@ -60,12 +60,14 @@ __FBSDID("$FreeBSD$");
  #include 
  #include 
  #include 
 +#include 
 +#include 
  
  void done(int);
  void do_write(char *, char *, uid_t);
  static void usage(void);
  int term_chk(char *, int *, time_t *, int);
 -void wr_fputs(unsigned char *s);
 +void wr_fputs(wchar_t *s);
  void search_utmp(char *, char *, char *, uid_t);
  int utmp_chk(char *, char *);
  
 @@ -243,7 +245,8 @@ do_write(char *tty, char *mytty, uid_t m
char *nows;
struct passwd *pwd;
time_t now;
 -  char path[MAXPATHLEN], host[MAXHOSTNAMELEN], line[512];
 +  char path[MAXPATHLEN], host[MAXHOSTNAMELEN];
 +  wchar_t line[512];
  
/* Determine our login name before we reopen() stdout */
if ((login = getlogin()) == NULL) {
 @@ -269,7 +272,7 @@ do_write(char *tty, char *mytty, uid_t m
(void)printf("\r\n\007\007\007Message from %s@%s on %s at %s ...\r\n",
login, host, mytty, nows + 11);
  
 -  while (fgets(line, sizeof(line), stdin) != NULL)
 +  while (fgetws(line, sizeof(line)/sizeof(wchar_t), stdin) != NULL)
wr_fputs(line);
  }
  
 @@ -288,30 +291,20 @@ done(int n __unused)
   * turns \n into \r\n
   */
  void
 -wr_fputs(unsigned char *s)
 +wr_fputs(wchar_t *s)
  {
  
 -#define   PUTC(c) if (putchar(c) == EOF) err(1, NULL);
 +#define   PUTC(c) if (putwchar(c) == WEOF) err(1, NULL);
  
 -  for (; *s != '\0'; ++s) {
 -  if (*s == '\n') {
 -  PUTC('\r');
 -  } else if (((*s & 0x80) && *s < 0xA0) ||
 - /* disable upper controls */
 - (!isprint(*s) && !isspace(*s) &&
 -  *s != '\a' && *s != '\b')
 -) {
 -  if (*s & 0x80) {
 -  *s &= ~0x80;
 -  PUTC('M');
 -  PUTC('-');
 -  }
 -  if (iscntrl(*s)) {
 -  *s ^= 0x40;
 -  PUTC('^');
 -  }
 +  for (; *s != L'\0'; ++s) {
 +  if (*s == L'\n') {
 +  PUTC(L'\r');
 +  PUTC(L'\n');
 +  } else if (iswprint(*s) || iswspace(*s)) {
 +  PUTC(*s);
 +  } else {
 +  wprintf(L"<0x%X>", *s);
}
 -  PUTC(*s);
}
return;
  #undef PUTC
 ___
 svn-src-...@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
 
___
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: bin/164317: [patch] write(1): add multibyte character support

2012-02-13 Thread glebius
Synopsis: [patch] write(1): add multibyte character support

State-Changed-From-To: open->patched
State-Changed-By: glebius
State-Changed-When: Mon Feb 13 14:57:51 UTC 2012
State-Changed-Why: 
Committed, thanks!


Responsible-Changed-From-To: freebsd-bugs->glebius
Responsible-Changed-By: glebius
Responsible-Changed-When: Mon Feb 13 14:57:51 UTC 2012
Responsible-Changed-Why: 
Grab.

http://www.freebsd.org/cgi/query-pr.cgi?pr=164317
___
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: misc/165085: nanobsd building broken

2012-02-13 Thread Eugene M. Zheganin
The following reply was made to PR misc/165085; it has been noted by GNATS.

From: "Eugene M. Zheganin" 
To: bug-follo...@freebsd.org, eug...@zhegan.in
Cc:  
Subject: Re: misc/165085: nanobsd building broken
Date: Tue, 14 Feb 2012 00:44:16 +0600

 Please close this pr, looks like I forgot completely to build a nanossd 
 binary tree.
 I'm sorry.
___
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: misc/165085: nanobsd building broken

2012-02-13 Thread jh
Synopsis: nanobsd building broken

State-Changed-From-To: open->closed
State-Changed-By: jh
State-Changed-When: Mon Feb 13 19:11:38 UTC 2012
State-Changed-Why: 
Closed at submitter's request.

http://www.freebsd.org/cgi/query-pr.cgi?pr=165085
___
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"


misc/165117: [NEW PORT] databases/xtrabackup - version 1.6.5 of Percona's xtrabackup utility

2012-02-13 Thread Claudiu Vasadi

>Number: 165117
>Category:   misc
>Synopsis:   [NEW PORT] databases/xtrabackup - version 1.6.5 of Percona's 
>xtrabackup utility
>Confidential:   no
>Severity:   non-critical
>Priority:   low
>Responsible:freebsd-bugs
>State:  open
>Quarter:
>Keywords:   
>Date-Required:
>Class:  change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 13 22:10:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Claudiu Vasadi
>Release:9.0-STABLE amd64
>Organization:
>Environment:
FreeBSD xtrabackup.local 9.0-STABLE FreeBSD 9.0-STABLE #2 r230424: Mon Feb  6 
00:12:29 CET 2012 root@da1:/usr/obj/usr/src/sys/da1  amd64
>Description:
Version 1.6.5 of the only OpenSource online (non-blockable) backup solution for 
InnoDB and XtraDB engines.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#   xtrabackup
#   xtrabackup/pkg-descr
#   xtrabackup/distinfo
#   xtrabackup/Makefile
#
echo c - xtrabackup
mkdir -p xtrabackup > /dev/null 2>&1
echo x - xtrabackup/pkg-descr
sed 's/^X//' >xtrabackup/pkg-descr << '8a8b25963b1e4584cc7b3d398625190c'
XPercona XtraBackup is OpenSource online (non-blockable) backup solution for 
XInnoDB and XtraDB engines. It works with MySQL 5.0 and 5.1 versions (InnoDB
XPlugin and Barracuda format is supported as of release 0.9.5rc) and also can 
Xhandle MyISAM tables.
X
XWWW: http://www.percona.com/docs/wiki/percona-xtrabackup:start
8a8b25963b1e4584cc7b3d398625190c
echo x - xtrabackup/distinfo
sed 's/^X//' >xtrabackup/distinfo << '4890596a033a923cae5840e122d6f8e7'
XSHA256 (xtrabackup-1.6.5.tar.gz) = 
b9c789a6304712483d9e457a6a39f0c16c9bd028aa0124f7689f814833fdf990
XSIZE (xtrabackup-1.6.5.tar.gz) = 933213
4890596a033a923cae5840e122d6f8e7
echo x - xtrabackup/Makefile
sed 's/^X//' >xtrabackup/Makefile << '3b5873206719b25fef0c55e0225465df'
X# New ports collection makefile for:   xtrabackup
X# Date created:04 Feb 2012
X# Whom:Claudiu Vasadi 

X#
X# $FreeBSD$
X#
X
XPORTNAME=  xtrabackup
XPORTVERSION=   1.6.5
XCATEGORIES=databases
XMASTER_SITES=  
http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6.5/source/
X
XMAINTAINER=claudiu.vas...@gmail.com
XCOMMENT=   OpenSource version of InnoDB backup with support of Percona 
extensions
X
XBUILD_DEPENDS=  bash:${PORTSDIR}/shells/bash \
X   wget:${PORTSDIR}/ftp/wget \
X   automake-1.11:${PORTSDIR}/devel/automake
XRUN_DEPENDS=   perl:${PORTSDIR}/lang/perl5.10
X
XOPTIONS=INNODB51_BUILTIN   "built-in InnoDB in MySQL 5.1"  
off \
X   INNODB55"InnoDB in MySQL 5.5"   
off \
X   XTRADB51"Percona Server with XtraDB 5.1"
off \
X   XTRADB55"Percona Server with XtraDB 5.5"
off
X
XHAS_CONFIGURE= yes
XCONFIGURE_ENV= AUTO_DOWNLOAD="yes"
XCONFIGURE_WRKSRC=  ${WRKSRC}
XCONFIGURE_SCRIPT=  utils/build.sh
X
X.include 
X
X.if defined(WITH_INNODB51_BUILTIN)
X   CONFIGURE_ARGS+=innodb51_builtin
X   PLIST_FILES=bin/tar4ibd \
X   bin/xtrabackup_51 \
X   bin/innobackupex-1.5.1
Xdo-install:
X   ${CP} ${WRKSRC}/libtar-1.2.11/libtar/tar4ibd ${LOCALBASE}/bin
X   ${CP} ${WRKSRC}/mysql-5.1/storage/innobase/xtrabackup/xtrabackup_51 
${LOCALBASE}/bin
X   ${SED} -e '89s/autodetect/\/usr\/local\/bin\/xtrabackup_51/' < \
X   ${WRKSRC}/innobackupex > ${LOCALBASE}/bin/innobackupex-1.5.1
X.endif
X
X.if defined(WITH_INNODB55)
X   CONFIGURE_ARGS+=innodb55
X   PLIST_FILES= bin/tar4ibd \
X   bin/xtrabackup_innodb55 \
X   bin/innobackupex-1.5.1
Xdo-install:
X   ${CP} ${WRKSRC}/libtar-1.2.11/libtar/tar4ibd ${LOCALBASE}/bin
X   ${CP} 
${WRKSRC}/mysql-5.5/storage/innobase/xtrabackup/xtrabackup_innodb55 
${LOCALBASE}/bin
X   ${SED} -e '89s/autodetect/\/usr\/local\/bin\/xtrabackup_innodb55/' < \
X   ${WRKSRC}/innobackupex > ${LOCALBASE}/bin/innobackupex-1.5.1
X.endif
X
X.if defined(WITH_XTRADB51)
X   RUN_DEPENDS+=   bzr:${PORTSDIR}/devel/bazaar-ng
X   CONFIGURE_ARGS+=xtradb51
X   PLIST_FILES= bin/tar4ibd \
X   bin/xtrabackup \
X   bin/innobackupex-1.5.1
Xdo-install:
X   ${CP} ${WRKSRC}/libtar-1.2.11/libtar/tar4ibd ${LOCALBASE}/bin
X   ${CP} 
${WRKSRC}/percona-server-5.1-xtrabackup/Percona-Server/storage/innodb_plugin/xtrabackup/xtrabackup
 \
X   ${LOCALBASE}/bin
X   ${SED} -e '89s/autodetect/\/usr\/local\/bin\/xtrabackup/' < \
X   ${WRKSRC}/innobackupex > ${LOCALBASE}/bin/innobackupex-1.5.1
X.endif
X
X.if defined(WITH_XTRADB55)
X   

bin/165120: ed and sed - tmp file handling - security and location

2012-02-13 Thread grarpamp

>Number: 165120
>Category:   bin
>Synopsis:   ed and sed - tmp file handling - security and location
>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:   Tue Feb 14 01:10:14 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: grarpamp
>Release:HEAD
>Organization:
>Environment:
HEAD
>Description:
# /bin/ed has no means to relocate its temp file.
Absent other administrative solutions, this often leads
to a full /tmp.

# /usr/bin/sed has legacy/poor temp file handling.
Should be updated to use mkstemp(3) so as to be more
secure and therefore less clobberish.

Fix for both (add all three):
a) Add environment: TMPDIR
b) Add argument: -t 
 Takes precedence over environment.
c) Change the default to: mkstemp(realpath(.XX))
 The directory that the file being edited resides in, and is
  naturally expected to be writable and have sufficient free
  space. Make tmp file named after  if possible so as
  to be recognizable if crash cleanup is needed.

## line no's are for RELENG_8, topic applies to 8/9/HEAD

# /bin/ed
buf.c:191:char sfn[15] = "";  /* scratch file name */
buf.c:202:  strcpy(sfn, "/tmp/ed.XX");
buf.c:203:  if ((fd = mkstemp(sfn)) == -1 ||

# /usr/bin/sed
main.c:114:static char tmpfname[PATH_MAX];  /* Temporary file name (for 
in-place editing) */
main.c:360: unlink(tmpfname);
main.c:398: len = snprintf(tmpfname, sizeof(tmpfname),
main.c:399: "%s/.!%ld!%s", dirname(fname), 
(long)getpid(),
main.c:400: basename(fname));

>How-To-Repeat:
Have space contention in /tmp.
Have security race or filename collision.

>Fix:
See above.

>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: bin/165120: ed and sed - tmp file handling - security and location

2012-02-13 Thread eadler
Synopsis: ed and sed - tmp file handling - security and location

Responsible-Changed-From-To: freebsd-bugs->eadler
Responsible-Changed-By: eadler
Responsible-Changed-When: Tue Feb 14 03:04:27 UTC 2012
Responsible-Changed-Why: 
I'll take it.

http://www.freebsd.org/cgi/query-pr.cgi?pr=165120
___
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"