php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #56342 mssql driver crashes webserver
Submitted: 2005-03-08 17:44 UTC Modified: 2005-06-10 02:25 UTC
From: gpd at gpdnet dot co dot uk Assigned: wez (profile)
Status: Closed Package: PDO (PECL)
PHP Version: 5_1 CVS-2005-03-08 (dev) OS: Windows XP/IIS
Private report: No CVE-ID: None
 [2005-03-08 17:44 UTC] gpd at gpdnet dot co dot uk
Description:
------------
using driver mssql: crashes the PHP-CGI exe on windows or causes and access violation when run from IIS

If I use the same SQL to a pgsql: driver (same server machine) it works OK.


Reproduce code:
---------------
$SQL = 'select * from vclient where client_id = 123';
$cn = new PDO('mssql:host=gary;dbname=drb2171','user1.drb2171','user1');
$dr = $cn->prepare($SQL);
$dr->execute();


Expected result:
----------------
result set from database

Actual result:
--------------
PHP has encountered an Access Violation at 00BA7C9E

or 

crashes PHP-CGI.exe with dialog to send exeception result to MS.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-03-09 17:03 UTC] gpd at gpdnet dot co dot uk
In further testing, this access violation also occurs with the odbc and pgsql drivers, but only occasionally (about every 5 to 10 runs of the script)

Going back in time to the 200502191130 windows snapshot build, everything works perfectly. All drivers are OK and no access violation at all.

The fault must have been introduced since then.
 [2005-05-13 13:56 UTC] wez@php.net
Please try the latest snapshot and reproduce the crash.
When you download it, please also grab the associated debug pack (see the dbgpack zips at http://snaps.php.net/win32/).

When the 'send to MS' dialog appears, you should be able to view more information about what will be sent to microsoft; you will see a list files that are going to be sent; please copy those files to somewhere safe and then close the dialogs (don't send the report to MS).
You need to copy the files because they are going to be deleted when the dialog is closed.

The minidump file is the interesting file; please put it online so that I can download it; upload the dbgpack file alongside it.  (this is necessary because we offer the latest version of the dbgpack files, and by the time I go to look at the problem, I could be using the wrong one!).

If you don't want to make those files public, feel free to email me witht the location.

With this info, I should be able to get a backtrace for the problem.
 [2005-05-16 14:49 UTC] gpd at gpdnet dot co dot uk
I have tried to reproduce this problem with the latest php snapshots over the weekend and today. The bad news is that I can't reproduce it now. It looks like the problem, either in PDO or PHP itself, has been fixed. It may be that the problem has just moved and someone may hit it later. For now I can't give you the data you need. Probably best to close this one and I will reopen it if it happens again.

I have tried with the mssql, odbc and pgsql drivers. There does still seem to be a very intermittent problem with the mssql driver, but I will raise this as a separate issue if I manage to reproduce it reliably.
 [2005-06-10 02:25 UTC] wez@php.net
Marking it as closed then.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 18:02:40 2024 UTC