kern/165087: lock violation in unionfs
>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
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
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
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
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
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
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
>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
>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
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"