ID: 27828 Comment by: r dot vanicek at seznam dot cz Reported By: deanb at gbtn dot net Status: Open Bug Type: Sybase-ct (ctlib) related Operating System: Digital Unix 4.0F PHP Version: 4CVS-2004-04-02 New Comment:
It worked fine in PHP 4.3.4 and PHP 4.3.5RC2, but PHP 4.3.5 (final) is broken, and PHP 4.3.6RC3 is broken too. When sybase_free_result is called, there is segmentation fault (my system is Debian GNU/Linux woody, Apache 1.3.26). Previous Comments: ------------------------------------------------------------------------ [2004-04-07 10:46:37] hager at transgene dot fr Hello, same bug with PHP5.0.0-RC1 and the latest PHP5 snapshot PHP5-200404071230 : sybase_free_result() crashes. Should I open a new bug report for PHP 5 ? ------------------------------------------------------------------------ [2004-04-02 13:20:29] deanb at gbtn dot net Nope, same crash with php4-STABLE-200404021630. ------------------------------------------------------------------------ [2004-04-02 06:12:19] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip ------------------------------------------------------------------------ [2004-04-02 04:21:50] tvoigt at informatik dot tu-cottbus dot de Hi there! The bug ist reproducible here on Debian Woody + apache-1.3.29/php >= 4.3.4RC3, too. It was most probably introduced while fixing http://bugs.php.net/bug.php?id=26407: sybase_free_result() works properly up to php-4.3.4RC2, but not with a patched 4.3.4RC2 to solve bug #26407 (that patch then made it into 4.3.4RC3). Well, I'm sorry for not testing sybase_free_result() afterwards, never used it before... Best regards, Thomas ------------------------------------------------------------------------ [2004-04-01 15:59:18] deanb at gbtn dot net Description: ------------ If I use sybase_free_result() in a script, then php crashes. The exact same code works fine in php 4.3.4. ./configure --with-sybase-ct=${SYBASE} --enable-track-vars --without-mysql --with-apache=../apache_1.3.29 --disable-dba --enable-session Reproduce code: --------------- <?php $db = sybase_connect("server", "user", "pass"); $res = sybase_query("select name from sysdatabases", $db); while ($data = sybase_fetch_array($res)) { print "db: $data[0]\n"; } sybase_free_result($res); sybase_close($db); ?> Expected result: ---------------- a list of databases with no crashes Actual result: -------------- > php s.php db: master db: model db: sybsystemprocs db: tempdb Segmentation fault (core dumped) > dbx php core dbx version 3.11.10 Type 'help' for help. Core file created by program "php" signal Segmentation fault at [_efree:241 ,0x12013e7c8] CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size); (dbx) where > 0 _efree(ptr = 0x52667250203a6264) ["/app/apps/web/php-4.3.5/Zend/zend_alloc.c":241, 0x12013e7c8] 1 php_sybase_finish_results(result = 0x1400cd5b8) ["/app/apps/web/php-4.3.5/ext/sybase_ct/php_sybase_ct.c":1011, 0x1200e766c] 2 zif_sybase_free_result(ht = 1, return_value = 0x1400d8298, this_ptr = (nil), return_value_used = 0) ["/app/apps/web/php-4.3.5/ext/sybase_ct/php_sybase_ct.c":1602, 0x1200e8f20] 3 execute(op_array = 0x1400c52d8) ["/app/apps/web/php-4.3.5/Zend/zend_execute.c":1621, 0x12016fdf4] 4 zend_execute_scripts(type = 8, retval = (nil), file_count = 3) ["/app/apps/web/php-4.3.5/Zend/zend.c":889, 0x120155be0] 5 php_execute_script(primary_file = 0x11fffec10) ["/app/apps/web/php-4.3.5/main/main.c":1731, 0x120116d84] 6 main(argc = 2, argv = 0x11fffef28) ["/app/apps/web/php-4.3.5/sapi/cli/php_cli.c":822, 0x1201722e4] (dbx) up php_sybase_finish_results:1011 efree(result->tmp_buffer[i]); (dbx) up zif_sybase_free_result:1602 php_sybase_finish_results(result); ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27828&edit=1