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