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

Reply via email to