[php-src] Issue #12329: pdo_odbc causes segfault in PHP 8.2.11
| From: | banakito | Date: | Sat, 30 Sep 2023 01:22:59 +0000 |
| Subject: | [php-src] Issue #12329: pdo_odbc causes segfault in PHP 8.2.11 | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245464@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/12329
Author: banakito
### Description
In PHP 8.2.11 loading pdo_odbc extension often produces a segfault in libodbccr.so
There is no need to use PDO class to raise the error.
/etc/php.d/30-pdo_odbc.ini
```
; Enable pdo_odbc extension module
extension=pdo_odbc
```
Resulted in this being logged:
```
Sep 29 21:24:53 beta kernel: php-fpm[30841]: segfault at 0 ip 00007fc49a20209c sp 00007fff81ee7e50
error 6 in libodbccr.so.2.0.0[7fc49a200000+8000] likely on CPU 3 (core 3, socket 0)
Sep 29 21:24:53 beta kernel: Code: ff 90 60 05 00 00 66 a9 fe ff 41 89 c4 0f 85 8a 00 00 00 48 8b 3b
48 8b 95 28 09 00 00 31 c0 0f 1f 80 00 00 00 00 48 8b 0c 07 <48> 89 0c 02 48 8b 4c 07 08 48 89
4c 02 08 48 8b 4c 07 10 48 89 4c
```
This behavior has not been observed in PHP 8.2.10
We're using unixODBC 2.3.11
When load is successful, PDO ODBC works just fine.
Disabling the extension makes the error disappear.
### PHP Version
PHP 8.2.11
### Operating System
Centos 7.9