Edit report at https://bugs.php.net/bug.php?id=63486&edit=1
ID: 63486 Comment by: suchy63 at hotmail dot com Reported by: der...@php.net Summary: mysqli_free_result leave the resource variable in a messy state Status: Verified Type: Bug Package: MySQLi related PHP Version: 5.4.8 Assigned To: mysql Block user comment: N Private report: N New Comment: I'm experiencing this problem as well, both in 5.4 and 5.5, and it's very problematic. It makes it impossible for me to upgrade past 5.3. Our application has a custom error handler which throws an exception if error is below the reporting level. I an unable to step over the code after a breakpoint. The error handler is triggered and I am booted to the error page after an uncaught exception. Previous Comments: ------------------------------------------------------------------------ [2013-05-08 06:20:57] hugh dot messenger at gmail dot com Just wondering if anyone has given this any thought recently? It's been absolutely crippling my xdebug usage since upgrading to 5.4.14 a month ago. I'd vote for including it in the next release of 5.4, given that as far as I can tell, most of the world is only just now starting to move from 5.3 to 5.4 as their minimum requirement / standard development version, so punting this till 5.5 is going to mean a long time for us work-a-day application developers having to deal with page upon page upon page of "can't fetch result" and "property access" warnings on xdebug sessions. Or at the very least, make it a notice instead of a warning. My $0.02. ------------------------------------------------------------------------ [2013-01-30 12:56:09] dev at pp3345 dot net Hello, I've also experienced this bug in the past, using reflection on a freed resource. Are there any news on when the bug fix will be included in PHP? I think it wouldn't be a problem to include it in the next PHP 5.4/5.3 release since a ton of warnings isn't intended behavior. At least it should be in PHP 5.5. ------------------------------------------------------------------------ [2012-11-23 10:20:17] u...@php.net Thanks for the patch. It seems straight forward , however, it changes behaviour in case of user errors. This makes me wonder in which PHP version it should go. Current behaviour: a) var_dump() - the XDebug view res->free(); var_dump(res) <-- throws a ton of warnings b) Invalid property access - user error: why access free'd resource? res->free(); var_dump(res->lengths) <--- throws a ton of warnings c) Invalid method access - user error: why access free'd resource? res->free(); res->free(); <--- trows a ton of warnings In all three cases the user is confronted with warnings that he could ignore, if he wanted. The patch leaves the user with: a) var_dump() - the XDebug view res->free() var_dump(res) <-- Warning on accessing free'd resource is gone b) res->free(); var_dump(res->lengths) <-- Notice var_dump(res) <-- Warning gone In sum: user gets less hints about his, well, "why are you doing that"-code. c) res->free(); res->free(); <-- Fatal Application that used to work now throws fatal Please, note that I am not saying no to fixing the var_dump() issue. Trying to explain the side effects of the proposed patch and asking what PHP version would qualify for such a change. ------------------------------------------------------------------------ [2012-11-15 17:17:16] u...@php.net Derick, thanks a lot for the patch. All three of us MySQL guys are at a team meeting. We will fly back home tomorrow morning. We can have a look once home and no more tired (flight goes at 6:xx am). ------------------------------------------------------------------------ [2012-11-11 12:53:01] der...@php.net The following patch has been added/updated: Patch Name: mysqli-clear-result-cleanup Revision: 1352638381 URL: https://bugs.php.net/patch-display.php?bug=63486&patch=mysqli-clear-result-cleanup&revision=1352638381 ------------------------------------------------------------------------ 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=63486 -- Edit this bug report at https://bugs.php.net/bug.php?id=63486&edit=1