Bug #52312 [Fbk]: PHP lstat problem

From: Date: Mon, 12 Jul 2010 22:59:44 +0000
Subject: Bug #52312 [Fbk]: PHP lstat problem
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-152341@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=52312&edit=1

 ID:               52312
 Updated by:       rasmus@php.net
 Reported by:      v dot damore at gmail dot com
 Summary:          PHP lstat problem
 Status:           Feedback
 Type:             Bug
 Package:          Safe Mode/open_basedir
 Operating System: Linux
 PHP Version:      5.2.13

 New Comment:

Set a bp and step through tsrm_realpath_r and figure out why it isn't
getting to 
the realptath_cache_find() call there.  Seems like it should be getting
there from 
the backtraces.


Previous Comments:
------------------------------------------------------------------------
[2010-07-13 00:52:21] v dot damore at gmail dot com

Please also note that realpath_cache_size and realpath_cache_ttl are
currently set to following values:

[root@svilpar4 ~]# curl http://damorealt.xoom.it/phpinfo.php | grep
real

<tr><td class="e">realpath_cache_size</td><td
class="v">1024k</td><td
class="v">1024k</td></tr>
<tr><td class="e">realpath_cache_ttl</td><td
class="v">600</td><td
class="v">600</td></tr>

------------------------------------------------------------------------
[2010-07-13 00:47:13] v dot damore at gmail dot com

I have executed script:

<pre>
<?php
var_dump(realpath_cache_get());
?>
</pre>

[root@svilpar4 ~]# curl http://damorealt.xoom.it/test.php
<pre>
array(0) {
}
</pre>

------------------------------------------------------------------------
[2010-07-13 00:38:32] v dot damore at gmail dot com

Please note, gdb output I sent is related to third time I have called
curl http://damorealt.xoom.it/test.php

I have set break point as requested:

(gdb) break realpath_cache_find
Breakpoint 1 at 0x2b0b3c9f254d: file
/usr/local/sitipersonali/sitipersonali01/NSP_SERVICE/strillo/sources/php-5.3.2/TSRM/tsrm_virtual_cwd.c,
line 560.
(gdb) bt
#0  0x000000391760db00 in __accept_nocancel () from
/lib64/libpthread.so.0
#1  0x00002b0b3c1f4544 in apr_socket_accept () from
/usr/lib64/libapr-1.so.0
#2  0x00000000004562e5 in unixd_accept ()
#3  0x0000000000454006 in child_main ()
#4  0x000000000045416c in make_child ()
#5  0x0000000000454701 in ap_mpm_run ()
#6  0x00000000004220ef in main ()
(gdb) continue
Continuing.

During test call gdb as not broken execution.
Function realpath_cache_find is not called.

------------------------------------------------------------------------
[2010-07-13 00:33:12] rasmus@php.net

Actually, try this simple test.php script:

<pre>
<?php
var_dump(realpath_cache_get());
?>
</pre>


That should tell you what is getting cached.

------------------------------------------------------------------------
[2010-07-13 00:17:16] rasmus@php.net

It seems like your realpath cache isn't working at all.

Could you set a breakpoint on realpath_cache_find and step into it the
second time 
it hits those stat calls.  Does it go into the while(bucket) loop there
at all?

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


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

    http://bugs.php.net/bug.php?id=52312


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


Thread (64 messages)

« previous php.bugs (#152341) next »