Bug #63949 [Opn->Fbk]: selects on long varchar fields returns empty with PDO ODBC

From: Date: Mon, 28 Sep 2020 13:54:04 +0000
Subject: Bug #63949 [Opn->Fbk]: selects on long varchar fields returns empty with PDO ODBC
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-229245@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=63949&edit=1

 ID:                 63949
 Updated by:         cmb@php.net
 Reported by:        toebs at pubsqrd dot com
 Summary:            selects on long varchar fields returns empty with
                     PDO ODBC
-Status:             Open
+Status:             Feedback
 Type:               Bug
 Package:            PDO ODBC
 Operating System:   Amazon Linux
 PHP Version:        5.4.10
-Assigned To:        
+Assigned To:        cmb
 Block user comment: N
 Private report:     N

 New Comment:

I cannot reproduce this with current PHP 7.3 and the ODBC Driver
17 for SQL Server.  Can anybody else reproduce the segfault with
any of the actively supported PHP versions[1]?  If so, we need to
know which database and ODBC driver, and which version of PHP you
are using, and also an ODBC trace of the execution of a well
defined script.

[1] <https://www.php.net/supported-versions.php>


Previous Comments:
------------------------------------------------------------------------
[2018-05-30 19:11:52] ivaldo dot oliveira at gmail dot com

This problem still exists in version 7.2.2. My column is varchar (300) and my database is the
Intersystems Cache.
Thanks for help.

------------------------------------------------------------------------
[2017-04-14 18:42:09] daniel at ringhisercomputersolutions dot com

This problem still exists in version 7.0.15. Why is this not being fixed?

------------------------------------------------------------------------
[2013-02-20 06:22:37] cyberitas at gmail dot com

We're also seeing the same sigsegv mentioned in the previous comment with pdo+odbc 
with MS-SQL via freetds ODBC.  Selecting from a column defined as varchar(256) any 
of the fetch functions lead to a segfault. 


Program received signal SIGSEGV, Segmentation fault.
0x00002aaab393010b in ?? () from /usr/lib64/libodbccr.so.1
(gdb) info stack
#0  0x00002aaab393010b in ?? () from /usr/lib64/libodbccr.so.1
#1  0x00002aaab013648d in SQLGetData () from /usr/lib64/libodbc.so.1
#2  0x00002aaab059d288 in ?? () from /usr/lib64/php/modules/pdo_odbc.so
#3  0x00002aaab038d920 in ?? () from /usr/lib64/php/modules/pdo.so
#4  0x00002aaab038e56e in ?? () from /usr/lib64/php/modules/pdo.so
#5  0x00002aaab038f7fc in ?? () from /usr/lib64/php/modules/pdo.so
#6  0x00000000005e78e9 in ?? ()
#7  0x00000000005bd9ab in execute ()
#8  0x0000000000599f45 in zend_execute_scripts ()
#9  0x000000000054ad48 in php_execute_script ()
#10 0x0000000000622cde in ?? ()
#11 0x00000034b5e1d9c4 in __libc_start_main () from /lib64/libc.so.6
#12 0x0000000000421789 in _start ()

------------------------------------------------------------------------
[2013-01-30 00:38:14] paul dot posts at gmail dot com

Apologies, our testing showed that cast to text was not a viable workaround.

------------------------------------------------------------------------
[2013-01-30 00:08:44] paul dot posts at gmail dot com

Also seeing this using pdo+odbc with MSSQL 2012. varchar(max) and varchar(256) 
columns were both causing heap overflow. Casting the columns to a text column 
resulted in returning the correct data as a workaround.

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


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=63949


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


Thread (12 messages)

« previous php.bugs (#229245) next »