Date: Wed, 22 Feb 2012 10:55:31 GMT From: Vsevolod Volkov <vvv@colocall.net> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/165392: Multiple mkdir/rmdir fails with errno 31 Message-ID: <201202221055.q1MAtVW4032424@red.freebsd.org> Resent-Message-ID: <201202221100.q1MB0Mfq027514@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 165392 >Category: kern >Synopsis: Multiple mkdir/rmdir fails with errno 31 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Feb 22 11:00:22 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Vsevolod Volkov >Release: 9.0-RELEASE amd64/i386 >Organization: >Environment: FreeBSD 9.0-RELEASE #0: Mon Feb 13 12:12:58 EET 2012 amd64 FreeBSD 9.0-RELEASE #1: Thu Feb 9 16:29:18 EET 2012 i386 >Description: Multiple sequence of mkdir and rmdir causes mkdir failure with errno 31. Usualy it happens on 32765 iteration. >How-To-Repeat: Compile and execute the following program: #include <sys/stat.h> #include <unistd.h> #include <stdio.h> #include <errno.h> int main (void) { int i; char dir[100]; for (i = 0; i < 50000; i++) { snprintf (dir, sizeof(dir), "empty_dir/%d", i); printf ("%s\n", dir); if (mkdir (dir, 0700) == -1) { printf ("mkdir %s: (errno %d)\n", dir, errno); break; } if (rmdir (dir) == -1) { printf ("rmdir %s: (errno %d)\n", dir, errno); break; } } return 0; } gcc -o test1 test1.c mkdir empty_dir ./test1 >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202221055.q1MAtVW4032424>