ID: 40544 User updated by: kees at tweakers dot net Reported By: kees at tweakers dot net -Status: Feedback +Status: Open Bug Type: PostgreSQL related Operating System: Linux (Debian) PHP Version: 5.2.1 New Comment:
tested with the snapshot: [EMAIL PROTECTED]:/usr/src/php5.2-200702191330$ sapi/cli/php test.3.php Starting And now he hangs in a busy wait [ctrl-c] [EMAIL PROTECTED]:/usr/src/php5.2-200702191330$ sapi/cli/php -v PHP 5.2.2-dev (cli) (built: Feb 19 2007 16:49:22) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies ldd sapi/cli/php libpq.so.5 => /usr/lib/libpq.so.5 (0xa7f3c000) Previous Comments: ------------------------------------------------------------------------ [2007-02-19 15:19:10] acm at tweakers dot net Btw, when hanging gdb to the php-process and type 'bt' you get this: #0 0xa7ba88c0 in free () from /lib/tls/libc.so.6 #1 0xa7ec8ea7 in PQclear () from /usr/lib/libpq.so.5 #2 0x08086fc8 in _close_pgsql_link (rsrc=0x81e43ec) at /usr/src/php-4.4.2/ext/pgsql/pgsql.c:277 #3 0x08139fb2 in list_entry_destructor (ptr=0x81e43ec) at /usr/src/php-4.4.2/Zend/zend_list.c:177 #4 0x08137977 in zend_hash_apply_deleter (ht=0x81a49e0, p=0x81e43b4) at /usr/src/php-4.4.2/Zend/zend_hash.c:611 #5 0x08137b97 in zend_hash_graceful_reverse_destroy (ht=0x81a49e0) at /usr/src/php-4.4.2/Zend/zend_hash.c:677 #6 0x0812b9ed in shutdown_executor () at /usr/src/php-4.4.2/Zend/zend_execute_API.c:211 #7 0x08133801 in zend_deactivate () at /usr/src/php-4.4.2/Zend/zend.c:689 #8 0x08107862 in php_request_shutdown (dummy=0x0) at /usr/src/php-4.4.2/main/main.c:999 #9 0x0814ee56 in main (argc=2, argv=0xafb6d114) at /usr/src/php-4.4.2/sapi/cli/php_cli.c:881 ------------------------------------------------------------------------ [2007-02-19 15:10:06] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2007-02-19 14:57:19] kees at tweakers dot net Description: ------------ After opening a db connection to postgresql and executing a query, and after that query a 'die()' php doesnt return to the CLI but hangs Reproduce code: --------------- <? $conn = pg_connect('user=acm dbname=loganalysis'); echo "Starting\n"; $q = " CREATE TEMPORARY TABLE test (test integer); COPY test FROM STDIN WITH DELIMITER ',' CSV QUOTE '\"' ESCAPE '\"'"; pg_query($conn, $q); die("And now he hangs in a busy wait\n"); ?> Expected result: ---------------- [EMAIL PROTECTED]:~$ php test.3.php Starting And now he hangs in a busy wait [EMAIL PROTECTED]:~$ Actual result: -------------- [EMAIL PROTECTED]:~$ php test.3.php Starting And now he hangs in a busy wait [no prompt, you have to ctrl-c to exit] Last part of strace: recv(3, "C\0\0\0\21CREATE TABLE\0G\0\0\0\t\0\0\1\0\0", 16384, 0) = 28 write(1, "And now he hangs in a busy wait\n", 32And now he hangs in a busy wait ) = 32 close(6) = 0 close(5) = 0 close(4) = 0 He probably wants to do a close(3) here as that is the postgresql connection, but it never closes, and netstat will show an open connection: Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 3 [ ] STREAM CONNECTED 549701 - /var/run/postgresql/.s.PGSQL.5432 unix 3 [ ] STREAM CONNECTED 549700 26884/php Tested with PHP 5.2.0-8 (debian package) and PHP 4.4.2 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40544&edit=1