Edit report at https://bugs.php.net/bug.php?id=64214&edit=1
ID: 64214
Updated by: pajoye@php.net
Reported by: mattficken@php.net
Summary: PHAR PHPTs intermittently crash when run on DFS or
SMB
-Status: Open
+Status: Assigned
Type: Bug
Package: PHAR related
Operating System: Windows
PHP Version: 5.5.0alpha4
-Assigned To:
+Assigned To: pajoye
Block user comment: N
Private report: N
New Comment:
Crashes should be fixed by now (testing) but the reason why tmp files creations
fail has to be analyzed and fixed as well. Assigned to me.
Previous Comments:
------------------------------------------------------------------------
[2013-02-27 10:35:49] user at kkdf2 dot sakura dot ne dot jp
About NAS, it may be possible.
For example,
My company's NAS Buffalo Ls-L series freezes sometimes when I try simultaneous client accesses.
It seems that NAS exhausts its ram memory by operating multiple file requests.
------------------------------------------------------------------------
[2013-02-14 23:52:25] mattficken@php.net
Description:
------------
I am running PHPT tests on an SMB file share (and also sometimes DFS) served by a remote file
server. The share is mounted to a local drive (H:) on Windows. This issue occurs on Windows 7,
Vista, 2008, 2008r2, 8, 2012, x64 and x86 (I am using the PHP on Windows binary build from
windows.php.net without any modification).
When I run these 2 PHAR tests, sometimes, they crash:
ext/phar/tests/zip/phar_commitwrite.phpt
ext/phar/tests/tar/phar_setsignaturealgo2.phpt
See attached BTs.
If I add additional traffic to the network or file server (ex: download a big file on another
computer), the crashes happen more frequently. Even then, I'm only adding max ~10MiB/S to
network or file server which isn't really heavy load.
The file access times on the share are still pretty normal (fraction of a second max, to read a PHPT
file, so the network or file server is never heavily loaded).
I believe this is a time issue that is load induced.
Actual result:
--------------
ext/phar/tests/zip/phar_commitwrite.phpt
php5ts.dll!_php_stream_write(_php_stream * stream, const char * buf, unsigned int
count, void * * * tsrm_ls) Line 1233 + 0x10 bytes C
php5ts.dll!phar_zip_flush(_phar_archive_data * phar, char * user_stub, long len, int
defaultstub, char * * error, void * * * tsrm_ls) Line 1304 + 0x18 bytes C
php5ts.dll!phar_flush(_phar_archive_data * phar, char * user_stub, long len, int
convert, char * * error, void * * * tsrm_ls) Line 2601 + 0x18 bytes C
php5ts.dll!phar_add_file(_phar_archive_data * * pphar, char * filename, int
filename_len, char * cont_str, int cont_len, _zval_struct * zresource, void * * * tsrm_ls) Line
3737 + 0x11 bytes C
php5ts.dll!zim_Phar_offsetSet(int ht, _zval_struct * return_value, _zval_struct * *
return_value_ptr, _zval_struct * this_ptr, int return_value_used, void * * * tsrm_ls) Line 3818 +
0x14 bytes C
php5ts.dll!zend_call_function(_zend_fcall_info * fci, _zend_fcall_info_cache *
fci_cache, void * * * tsrm_ls) Line 959 + 0x1f bytes C
php5ts.dll!zend_call_method(_zval_struct * * object_pp, _zend_class_entry * obj_ce,
_zend_function * * fn_proxy, const char * function_name, int function_name_len, _zval_struct * *
retval_ptr_ptr, int param_count, _zval_struct * arg1, _zval_struct * arg2, void * * * tsrm_ls) Line
97 + 0x14 bytes C
php5ts.dll!zend_std_write_dimension(_zval_struct * object, _zval_struct * offset,
_zval_struct * value, void * * * tsrm_ls) Line 678 + 0x1e bytes C
php5ts.dll!ZEND_ASSIGN_DIM_SPEC_CV_CONST_HANDLER(_zend_execute_data * execute_data,
void * * * tsrm_ls) Line 32607 + 0xbc bytes C
ext/phar/tests/tar/phar_setsignaturealgo2.phpt
php5ts.dll!user_wrapper_opener(_php_stream_wrapper * wrapper, char * filename, char *
mode, int options, char * * opened_path, _php_stream_context * context, void * * * tsrm_ls) Line
346 + 0x2f bytes C
php5ts.dll!_php_stream_open_wrapper_ex(char * path, char * mode, int options, char * *
opened_path, _php_stream_context * context, void * * * tsrm_ls) Line 2054 + 0x24 bytes C
php5ts.dll!php_if_fopen(int ht, _zval_struct * return_value, _zval_struct * *
return_value_ptr, _zval_struct * this_ptr, int return_value_used, void * * * tsrm_ls) Line 869 +
0x1a bytes C
php5ts.dll!phar_fopen(int ht, _zval_struct * return_value, _zval_struct * *
return_value_ptr, _zval_struct * this_ptr, int return_value_used, void * * * tsrm_ls) Line 418 +
0x22 bytes C
php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data * execute_data, void *
* * tsrm_ls) Line 542 + 0x5e bytes C
php5ts.dll!ZEND_DO_FCALL_SPEC_CONST_HANDLER(_zend_execute_data * execute_data, void *
* * tsrm_ls) Line 2305 + 0xb bytes C
php5ts.dll!execute_ex(_zend_execute_data * execute_data, void * * * tsrm_ls) Line 356
+ 0xa bytes C
php5ts.dll!zend_execute(_zend_op_array * op_array, void * * * tsrm_ls) Line 381 +
0x1bc bytes C
php5ts.dll!zend_execute_scripts(int type, void * * * tsrm_ls, _zval_struct * * retval,
int file_count, ...) Line 1317 C
php5ts.dll!php_execute_script(_zend_file_handle * primary_file, void * * * tsrm_ls)
Line 2478 + 0x12 bytes C
php5apache2_4.dll!php_handler(request_rec * r) Line 667 + 0xe bytes C
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=64214&edit=1