Edit report at https://bugs.php.net/bug.php?id=49532&edit=1
ID: 49532 Updated by: [email protected] Reported by: matroy at investpsp dot ca Summary: php5ts.dll access violation exception php5ts!_zend_mm_free_int -Status: Feedback +Status: No Feedback Type: Bug Package: *General Issues Operating System: win32 only - Windows 2003 SP2 PHP Version: 5.2.11 Assigned To: pajoye Block user comment: N Private report: N New Comment: Please try using this snapshot: http://snaps.php.net/php5.4-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2011-09-02 14:12:38] skys dot dragooon dot adsss at gmail dot com I solved my problem. This error occured with php.exe, php-cgi.exe and php-win.exe, and apache's launch.. In my case, it was due to a co-exist of PHP5.2.x and PHP5.3.x version and the bad use by my PHP5.3.x of the PHP5.2.x INI file. (PHPRC environment variable pointing to PHP5.2.x INI that I missed) ------------------------------------------------------------------------ [2011-09-02 13:45:07] skys dot dragooon dot adsss at gmail dot com Always the same error.. with 5.3.6 and 5.3.8... :/ ------------------------------------------------------------------------ [2011-03-16 13:39:59] mdurovic at gmail dot com It looks like httpd crashes after this error msg in the event viewer. PHP Fatal error: Maximum execution time of 30 seconds exceeded in C:\ftproot\LocalUser\linkmarket\framework\common\php\session.class.php on line 71. That is public function write($id, $data) from the code below: <?php class Session { /** * a database connection resource * @var resource */ private $_sess_db; /** * Open the session * @return bool */ public function open() { if ($this->_sess_db = mysql_connect('server:port', 'user', 'pw')) { return mysql_select_db('db', $this->_sess_db); } return false; } /** * Close the session * @return bool */ public function close() { if(is_resource($this->_sess_db)) { return mysql_close($this->_sess_db); } return false; } /** * Read the session * @param int session id * @return string string of the sessoin */ public function read($id) { $id = mysql_real_escape_string($id); $sql = sprintf("SELECT data FROM sessions WHERE id = '%s'", $id); if ($result = mysql_query($sql, $this->_sess_db)) { if (mysql_num_rows($result)) { $record = mysql_fetch_assoc($result); //free mysql result mysql_free_result($result); return $record['data']; } } return ''; } /** * Write the session * @param int session id * @param string data of the session */ public function write($id, $data) { $sql = sprintf("REPLACE INTO sessions (id,data,timestamp,ip,url) VALUES('%s', '%s', '%s','%s','%s')", mysql_real_escape_string($id), mysql_real_escape_string($data), mysql_real_escape_string(time()), mysql_real_escape_string($_SERVER['REMOTE_ADDR']), mysql_real_escape_string("http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'])); return mysql_query($sql, $this->_sess_db); } /** * Destoroy the session * @param int session id * @return bool */ public function destroy($id) { $sql = sprintf("DELETE FROM sessions WHERE id = '%s'", $id); return mysql_query($sql, $this->_sess_db); } /** * Garbage Collector * @param int life time (sec.) * @return bool * @see session.gc_divisor 100 * @see session.gc_maxlifetime 1440 * @see session.gc_probability 1 * @usage execution rate 1/100 * (session.gc_probability/session.gc_divisor) */ public function gc($max) { $sql = sprintf("DELETE FROM sessions WHERE timestamp < '%s'", mysql_real_escape_string(time() - $max)); return mysql_query($sql, $this->_sess_db); } } //ini_set('session.gc_probability', 50); ini_set('session.save_handler', 'user'); $session = new Session(); session_set_save_handler(array($session, 'open'), array($session, 'close'), array($session, 'read'), array($session, 'write'), array($session, 'destroy'), array($session, 'gc')); ?> ------------------------------------------------------------------------ [2011-03-11 00:28:46] [email protected] Without a script to reproduce your problem we will have no chance to fix it. ------------------------------------------------------------------------ [2011-03-10 21:18:26] mdurovic at gmail dot com I don't know if this helps but here some more info: ---------------------------------------------------- FAULTING_IP: php5ts!_zend_mm_free_int+139 [Zend\zend_alloc.c @ 2019] 006ac699 395f0c cmp dword ptr [edi+0Ch],ebx EXCEPTION_RECORD: ffffffff -- (.exr 0xffffffffffffffff) ExceptionAddress: 006ac699 (php5ts!_zend_mm_free_int+0x00000139) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000000 Parameter[1]: 0000000c Attempt to read from address 0000000c PROCESS_NAME: httpd.exe ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s". EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s". EXCEPTION_PARAMETER1: 00000000 EXCEPTION_PARAMETER2: 0000000c READ_ADDRESS: 0000000c FOLLOWUP_IP: php5ts!_zend_mm_free_int+139 [Zend\zend_alloc.c @ 2019] 006ac699 395f0c cmp dword ptr [edi+0Ch],ebx MOD_LIST: <ANALYSIS/> FAULTING_THREAD: 00001624 BUGCHECK_STR: APPLICATION_FAULT_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ PRIMARY_PROBLEM_CLASS: NULL_CLASS_PTR_DEREFERENCE DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE LAST_CONTROL_TRANSFER: from 006ad6c6 to 006ac699 STACK_TEXT: 05bafa38 006ad6c6 01997ba0 00001008 00773a64 php5ts!_zend_mm_free_int+0x139 [Zend\zend_alloc.c @ 2019] 05bafa44 00773a64 05f9b1c8 019967d0 0089f395 php5ts!_efree+0x36 [Zend\zend_alloc.c @ 2351] 05bafa50 0089f395 0085a0a7 00000001 00000013 php5ts!closelog+0x54 [win32\wsyslog.c @ 71] 05bafa54 0085a0a7 00000001 00000013 019967d0 php5ts!zm_deactivate_syslog+0x5 [ext\standard\syslog.c @ 122] 05bafa80 006a851c 00000001 00000013 019967d0 php5ts!zm_deactivate_basic+0xe7 [ext\standard\basic_functions.c @ 3789] 05bafa90 00726b72 01063558 019967d0 05bafb08 php5ts!module_registry_cleanup+0x1c [Zend\zend_API.c @ 2150] 05bafaac 006a2732 00bff680 006a8500 019967d0 php5ts!zend_hash_reverse_apply+0x42 [Zend\zend_hash.c @ 758] 05bafad4 006a2718 05baffa8 00000000 56433230 php5ts!zend_deactivate_modules+0x62 [Zend\zend.c @ 866] 05bafaec 0073f49b 01a0da84 019967d0 0075d1fb php5ts!zend_deactivate_modules+0x48 [Zend\zend.c @ 865] 05bafaf8 0075d1fb 01a0da84 00000000 05bafdd4 php5ts!zend_llist_clean+0xb [Zend\zend_llist.c @ 125] 05bafb20 0075971d 05fab840 0000003c 019967d0 php5ts!php_deactivate_ticks+0x1b [main\php_ticks.c @ 31] 05bafb30 00756699 05fab840 0000003c 77bcac67 php5ts!php_body_write+0x1d [main\output.c @ 118] 05bafb58 00756869 05bafe78 05bafddc 77bcac67 php5ts!php_body_write_wrapper+0x19 [main\main.c @ 1687] 05bafdd4 10003378 00000000 10002ff6 062a3fb8 php5ts!php_execute_script+0xa9 [main\main.c @ 2201] 05bafddc 10002ff6 062a3fb8 019967d0 00000004 php5apache2_2!php_apache_request_dtor+0x8 [sapi\apache2handler\sapi_apache2.c @ 508] 05bafee4 6ff020e1 062a3fb8 010112d8 062a3fb8 php5apache2_2!php_handler+0x646 [sapi\apache2handler\sapi_apache2.c @ 681] WARNING: Stack unwind information not available. Following frames may be wrong. 05bafefc 6ff02470 062a3fb8 062a3fb8 062a3fb8 libhttpd!ap_run_handler+0x21 05baff14 6ff0eaee 00000000 062a2fd8 05baff3c libhttpd!ap_invoke_handler+0xb0 05baff24 6ff0a96c 062a3fb8 00000000 005bc0c8 libhttpd!ap_die+0x29e 05baff3c 6ff04d61 062a2fd8 062a2fd8 062a2fd8 libhttpd!ap_get_request_note+0x1d0c 05baff54 6ff05023 062a2fd8 0062f400 05baff84 libhttpd!ap_run_process_connection+0x21 05baff64 6ff1d81c 062a2fd8 01bbcda0 00000000 libhttpd!ap_process_connection+0x33 05baff84 77bcb530 062a2fd0 00000000 00000000 libhttpd!ap_regkey_value_remove+0xc7c 05baffb8 77e6482f 017dfbf0 00000000 00000000 msvcrt!_endthreadex+0xa3 05baffec 00000000 77bcb4bc 017dfbf0 00000000 kernel32!BaseThreadStart+0x34 SYMBOL_STACK_INDEX: 0 SYMBOL_NAME: php5ts!_zend_mm_free_int+139 FOLLOWUP_NAME: MachineOwner MODULE_NAME: php5ts IMAGE_NAME: php5ts.dll DEBUG_FLR_IMAGE_TIMESTAMP: 4d26013e STACK_COMMAND: ~255s; .ecxr ; kb FAILURE_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE_c0000005_php5ts.dll!_zend_mm_free_int BUCKET_ID: APPLICATION_FAULT_NULL_CLASS_PTR_DEREFERENCE_INVALID_POINTER_READ_php5ts!_zend_mm_free_int+139 WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/httpd_exe/2_2_17_0/4cbbe9e8/php5ts_dll/5_3_5_0/4d26013e/c0000005/0000c699.htm?Retriage=1 Followup: MachineOwner ------------------------------------------------------------------------ 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=49532 -- Edit this bug report at https://bugs.php.net/bug.php?id=49532&edit=1
