php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10408 Bad Sybase-CTlib closing
Submitted: 2001-04-19 15:18 UTC Modified: 2001-05-20 14:41 UTC
From: ocomte at guarantycity dot com Assigned:
Status: Closed Package: Sybase-ct (ctlib) related
PHP Version: 4.0.4pl1 OS: Sun Solaris and Linux
Private report: No CVE-ID: None
 [2001-04-19 15:18 UTC] ocomte at guarantycity dot com
if you run this script :
<html>
<body>
<?
// error handler function
// this function NEVER RETURN (all errors are FATAL) !!
function myErrorHandler($errno,$ErrorMsg)
{	global $connect_id;
  	echo $ErrorMsg,'</body></html>';	// I want to see this one !!!
	exit();  // global exit of php
}

//MAIN PGM:
// set to the user defined error handler
set_error_handler('myErrorHandler');
$connect_id=sybase_connect('MyServer','MyLogin','MyPassword');
if (!$connect_id)
	echo "An error in sybase_query !!<br>";	// I don't want to see this message
else
{	$res=sybase_query('select * from toto',$connect_id);
	if (!$res)
		echo "An error in sybase_query !!<br>";	// I don't want to see this message too
	else
		echo 'No error';
}
?>
</html>
</body>
and that the table toto doesn't exist you trigger the myErrorHandler and the script terminate as intended. The problem is that Sybase doesn't seem aware of this and the process will live forever even if it doesn't allow Sybase query any more. So if you run this script a few times all the processes will be sleeping and you will no more be able to make a Sybase query. I think there is a problem in the way you handle the Sybase connexion in a error handler with an exit() call.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-04-19 16:03 UTC] joey@php.net
Cannot duplicate this locally, can you provide more info?
 [2001-05-20 14:41 UTC] jmoore@php.net
No feedback.

- James
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 28 07:01:29 2024 UTC