Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

pdo memory leak #17970

Closed
chongwick opened this issue Mar 4, 2025 · 1 comment
Closed

pdo memory leak #17970

chongwick opened this issue Mar 4, 2025 · 1 comment

Comments

@chongwick
Copy link

Description

The following code:

<?php
$conn = null;
try {
    $conn = new PDO('firebird:dbname=localhost:C:/path/to/your/db.gdb', 'username', 'password');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $conn->prepare('SELECT * FROM your_table');
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    echo 'Connection failed: '. $e->getMessage();
} finally {
    if ($conn) {
        $conn = null;
    }
}
?>

Resulted in this output:

Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in /home/w023dtc/autest/php_fuzzing/gen_3/template.inc on line 44
Connection failed: SQLSTATE[08003] [0] invalid database handle (no active connection)
=================================================================
==3192395==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 768 byte(s) in 3 object(s) allocated from:
    #0 0x14e817ca1a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    #1 0x14e81383abf6 in mp_init (/lib/x86_64-linux-gnu/libtommath.so.1+0x4bf6)
    #2 0x14e8149e7909  (/lib/x86_64-linux-gnu/libfbclient.so.2+0x9c909)
    #3 0x14e814a06197  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xbb197)
    #4 0x14e814a09b69  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xbeb69)
    #5 0x14e814a0a353  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xbf353)
    #6 0x14e8149fb9e4  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xb09e4)
    #7 0x14e8149ef11a  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xa411a)
    #8 0x14e8149fea99  (/lib/x86_64-linux-gnu/libfbclient.so.2+0xb3a99)
    #9 0x14e8149cdbf3  (/lib/x86_64-linux-gnu/libfbclient.so.2+0x82bf3)
    #10 0x14e8149bac82 in isc_attach_database (/lib/x86_64-linux-gnu/libfbclient.so.2+0x6fc82)
    #11 0x562e89a2ddb3 in pdo_firebird_handle_factory /home/w023dtc/nightly_php/php-src/ext/pdo_firebird/firebird_driver.c:1390
    #12 0x562e899f61b1 in php_pdo_internal_construct_driver /home/w023dtc/nightly_php/php-src/ext/pdo/pdo_dbh.c:489
    #13 0x562e8a91ecdb in ZEND_DO_FCALL_SPEC_RETVAL_UNUSED_HANDLER /home/w023dtc/nightly_php/php-src/Zend/zend_vm_execute.h:1919
    #14 0x562e8a91ecdb in execute_ex /home/w023dtc/nightly_php/php-src/Zend/zend_vm_execute.h:58860
    #15 0x562e8a91fb0f in zend_execute /home/w023dtc/nightly_php/php-src/Zend/zend_vm_execute.h:64247
    #16 0x562e8aae2bef in zend_execute_script /home/w023dtc/nightly_php/php-src/Zend/zend.c:1941
    #17 0x562e8a28b1e3 in php_execute_script_ex /home/w023dtc/nightly_php/php-src/main/main.c:2584
    #18 0x562e8aae8285 in do_cli /home/w023dtc/nightly_php/php-src/sapi/cli/php_cli.c:938
    #19 0x562e88e73c32 in main /home/w023dtc/nightly_php/php-src/sapi/cli/php_cli.c:1313
    #20 0x14e813e9fd8f  (/lib/x86_64-linux-gnu/libc.so.6+0x29d8f)

Direct leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x14e817ca1887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x14e813ea076c in __gconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a76c)
    #2 0x14e813ea02b7 in iconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a2b7)
    #3 0x602000019c4f  (<unknown module>)

Direct leak of 112 byte(s) in 1 object(s) allocated from:
    #0 0x14e817ca1887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x14e813ea076c in __gconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a76c)
    #2 0x14e813ea02b7 in iconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a2b7)
    #3 0x602000019bcf  (<unknown module>)

Indirect leak of 32640 byte(s) in 1 object(s) allocated from:
    #0 0x14e817ca1887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x14e813ea07e6 in __gconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a7e6)
    #2 0x14e813ea02b7 in iconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a2b7)
    #3 0x602000019c4f  (<unknown module>)

Indirect leak of 32640 byte(s) in 1 object(s) allocated from:
    #0 0x14e817ca1887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x14e813ea07e6 in __gconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a7e6)
    #2 0x14e813ea02b7 in iconv_open (/lib/x86_64-linux-gnu/libc.so.6+0x2a2b7)
    #3 0x602000019bcf  (<unknown module>)

Indirect leak of 416 byte(s) in 2 object(s) allocated from:
    #0 0x14e817ca1887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    #1 0x14e813eab9d6  (/lib/x86_64-linux-gnu/libc.so.6+0x359d6)

SUMMARY: AddressSanitizer: 66688 byte(s) leaked in 9 allocation(s).

PHP Version

nightly

Operating System

ubuntu 22.04

@nielsdos
Copy link
Member

nielsdos commented Mar 4, 2025

Not a PHP issue, but a firebird issue FirebirdSQL/firebird#7849

@nielsdos nielsdos closed this as not planned Won't fix, can't repro, duplicate, stale Mar 4, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants