ID: 48754 Comment by: jfb at zer7 dot com Reported By: busia at tiscali dot it Status: Verified Bug Type: MySQL related Operating System: * PHP Version: 5.3.0 (as of 21-07-2008) Assigned To: mysql New Comment:
I get this as well. I had avoided upgrading my ancient PHP code (some of it was from PHP4); turns out it being that ancient also means it uses old patterns, like not using handles. :) Likely that newer code will not encounter this, so it'll be folks upgrading slowly and cautiously. Previous Comments: ------------------------------------------------------------------------ [2009-07-16 14:34:19] guillermog at tricuspide dot com Still in the release, I really think lot's of people are having the same problem with their sctripts!! I filled a bug report hours ago to later accidentally find that it was a very simple problem. Once I found the problem I looked for mysql_close and version 5.3 to find this bug report. Uff finnally after the whole day!!! Regards, Guillermo ------------------------------------------------------------------------ [2009-07-14 01:50:03] sujoe_2006 at 163 dot com my development evioronment is windows xp sp2 apache 2.2 php 5.3.0 mysql 5.1.36 I write some code in test.php <?php $conn = mysql_connect('ip','user','password'); mysql_close(); ?> then ,I Will be catched a error by apache 2.2,it is: "... 0x006e2072 in httpd.exe: 0xC0000005: Access violation when reading location 0x00000000. ..." but when check the mysql_close function like this for test.php <?php $conn = mysql_connect('ip','user','password'); mysql_close($conn); ?> it will work no any error. so ,i want to know its reason of the mysql_close(),please mail to me Thanks! ------------------------------------------------------------------------ [2009-07-07 14:47:28] xektrum at gmail dot com Description: ------ I can confirm this, I'm having the same issue with php 5.3 and apache2 when calling mysql_close without a mysql_link as parameter. Reproduce code: ------ <?php mysql_connect('localhost','root','password'); mysql_close(); // win32 uncaught exception catched by MSVS ?> Workaround/not crashing: ------ <?php $link = mysql_connect('localhost','root','password'); mysql_close($link); ?> Exception : ------ Not handled Exception in 0x006e2072 in httpd.exe: 0xC0000005: Access violation when reading location 0x00000000. Note : The Exception has been translated so it is not literal ------------------------------------------------------------------------ [2009-07-02 16:45:00] u...@php.net Really a great one. The bug exists since 21-07-2008. That is 11 months and 1 week ago. Sometimes I which users would try non-GA versions just in case test suites don't catch issues... This is when the bug was introduced: http://cvs.php.net/viewvc.cgi/php-src/ext/mysql/php_mysql.c?r1=1.213.2.6.2.16.2.22&r2=1.213.2.6.2.16.2.23& mysql_link points to NULL and that's causing a crash. Possible workaround (as suggested by Johannes): nixn...@linux-en61:~/src/login/php5> cvs diff ext/mysql/tests/ cvs diff: Diffing . cvs diff: Diffing ext cvs diff: Diffing ext/mysql cvs diff: Diffing ext/mysql/tests nixn...@linux-en61:~/src/login/php5> cvs diff ext/mysql/ cvs diff: Diffing ext/mysql Index: ext/mysql/php_mysql.c =================================================================== RCS file: /repository/php-src/ext/mysql/php_mysql.c,v retrieving revision 1.213.2.6.2.16.2.37 diff -r1.213.2.6.2.16.2.37 php_mysql.c 372a373,376 > #ifdef MYSQL_USE_MYSQLND > mysqlnd_end_psession(link->conn); > #endif > 987,995c991 < #ifdef MYSQL_USE_MYSQLND < { < int tmp; < if ((mysql = zend_list_find(Z_RESVAL_P(mysql_link), &tmp)) && tmp == le_plink) { < mysqlnd_end_psession(mysql->conn); < } < } < #endif < if (mysql_link) { /* explicit resource number */ --- > if (mysql_link) { cvs diff: Diffing ext/mysql/tests Someone may want to review that. ------------------------------------------------------------------------ [2009-07-02 13:05:17] u...@php.net This one is funny. It may have existed since more than one year now and nobody has ever found it. ------------------------------------------------------------------------ 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/48754 -- Edit this bug report at http://bugs.php.net/?id=48754&edit=1