ID:               35620
 User updated by:  humbads at alum dot mit dot edu
 Reported By:      humbads at alum dot mit dot edu
 Status:           Open
 Bug Type:         ODBC related
 Operating System: Windows XP SP2
 PHP Version:      5CVS-2005-12-10 (snap)
 New Comment:

The same crash occurs if the code is simply within a function, rather
than a class. Furthermore, the same crash occurs if another data source
is used, e.g. SQL Server.

myfunction();

function myfunction() {
  $odbc = new PDO("odbc:Driver={Microsoft Visual FoxPro
Driver};SourceType=DBF;SourceDB=C:\\"); 
  $query = "SELECT * FROM invoice";
  $result = $odbc->query($query);
}


Previous Comments:
------------------------------------------------------------------------

[2005-12-10 08:24:07] humbads at alum dot mit dot edu

Description:
------------
php-cgi.exe crashes with an access violation when using PDO ODBC to run
a simple query as given below.  The code runs without error if not
enclosed in a class.  It also runs without error if the query is run
without saving the return value in $result. The stack trace indicates a
crash when destroying the implicit prepared statement.

Reproduce code:
---------------
$mc = new MyClass;

class MyClass {
  function MyClass() {
    $odbc = new PDO("odbc:Driver={Microsoft Visual FoxPro
Driver};SourceType=DBF;SourceDB=C:\\");
                
    $query = "SELECT * FROM invoice";
    $result = $odbc->query($query);
    die("happy");
  }
}

Expected result:
----------------
It should not crash when returning the result, or when running from
within a class.

Actual result:
--------------
>       [EMAIL PROTECTED]()  + 0xb      
        odbc32.dll!CCriticalSection::Enter()  + 0xf     
        [EMAIL PROTECTED]()  + 0xf      
        [EMAIL PROTECTED]()  + 0x23     
        [EMAIL PROTECTED]()  + 0x2b     
        php_pdo_odbc.dll!odbc_stmt_dtor(_pdo_stmt_t * stmt=0x00720448, void *
* * tsrm_ls=0x00323eb0)  Line 56        C
        php_pdo.dll!free_statement(_pdo_stmt_t * stmt=0x00720448, void * * *
tsrm_ls=0x00323eb0)  Line 2118 + 0x8    C
        php_pdo.dll!php_pdo_stmt_delref(_pdo_stmt_t * stmt=0x00720448, void *
* * tsrm_ls=0x00323eb0)  Line 2157 + 0xb        C
        php_pdo.dll!pdo_dbstmt_free_storage(_pdo_stmt_t * stmt=0x00720448,
void * * * tsrm_ls=0x00323eb0)  Line 2162 + 0xf C
        php5ts.dll!zend_objects_store_free_object_storage(_zend_objects_store
* objects=0x00328dc4, void * * * tsrm_ls=0x00323eb0)  Line 83 + 0xb     C
        php5ts.dll!shutdown_executor(void * * * tsrm_ls=0x00a232c0)  Line 273
+ 0x13  C
        [EMAIL PROTECTED]()  + 0x26     

Unhandled exception at 0x7c901010 (ntdll.dll) in php-cgi.exe:
0xC0000005: Access violation reading location 0x00000018.



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=35620&edit=1

Reply via email to