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

 ID:                 64214
 Comment by:         mattfic...@php.net
 Reported by:        mattfic...@php.net
 Summary:            PHAR PHPTs intermittently crash when run on DFS or
                     SMB
 Status:             Assigned
 Type:               Bug
 Package:            PHAR related
 Operating System:   Windows
 PHP Version:        5.5.0alpha4
 Assigned To:        pajoye
 Block user comment: N
 Private report:     N

 New Comment:

I haven't seen this bug repro on any recent 5.3, 5.4, or 5.5 snapshot builds.

I think this bug is fixed.


I have added a documentation note about the importance of setting the 
`sys_temp_dir` directive, especially when using remote file systems: 
http://us3.php.net/manual/en/book.phar.php


Previous Comments:
------------------------------------------------------------------------
[2013-05-17 09:52:47] paj...@php.net

I think I found all locations causing these crashes. Matt, let me know once the 
last serie of tests pass (stress and compat) so we can close it :)

------------------------------------------------------------------------
[2013-05-14 22:34:06] paj...@php.net

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.

------------------------------------------------------------------------
[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] mattfic...@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

Reply via email to