Req #35326 [Opn]: Concurrency issue with recursive mkdir

From: Date: Tue, 01 Oct 2013 04:15:57 +0000
Subject: Req #35326 [Opn]: Concurrency issue with recursive mkdir
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-181855@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=35326&edit=1

 ID:                 35326
 Updated by:         pajoye@php.net
 Reported by:        bugs dot php dot net at chsc dot dk
 Summary:            Concurrency issue with recursive mkdir
 Status:             Open
 Type:               Feature/Change Request
-Package:            Feature/Change Request
+Package:            *General Issues
 Operating System:   Linux
 PHP Version:        5.1.6
 Block user comment: N
 Private report:     N

 New Comment:

I am not sure it is actually a PHP problem. To create the right locking mechanism 
to avoid such issue to happen between (almost) simultaneous requests is the 
application developer job, not the core.

Adding such tests should be done in almost all file creation operations (and some 
other) and will drastically performance without actually solving the problem.


Previous Comments:
------------------------------------------------------------------------
[2013-09-30 10:39:45] me at vlastv dot ru

Problem still exists in PHP 5.4.1.

------------------------------------------------------------------------
[2013-07-23 22:55:07] gustavo dot straube at gmail dot com

Problem still exists in PHP 5.3.3.

------------------------------------------------------------------------
[2006-10-10 07:25:52] bugs dot php dot net at chsc dot dk

Problem still exists in PHP 5.1.6.

------------------------------------------------------------------------
[2005-11-22 13:52:24] bugs dot php dot net at chsc dot dk

Yes, it also occurs with the CVS snapshot (this time I tried with the CGI version).

AFAICS the problem is in php_plain_files_mkdir in main/streams/plain_wrapper.c. If php_mkdir() or
VCWD_MKDIR() returns false, the method gives up instead of checking whether directory exists anyway,
i.e. if it was created by another thread.

------------------------------------------------------------------------
[2005-11-22 12:13:10] tony2001@php.net

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip



------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=35326


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=35326&edit=1


Thread (12 messages)

« previous php.bugs (#181855) next »