Edit report at http://bugs.php.net/bug.php?id=52389&edit=1
ID: 52389 Comment by: clint at ubuntu dot com Reported by: miroslav dot zacek at skype dot net Summary: Memory (de)allocation problem for pgsql notices Status: Open Type: Bug Package: PostgreSQL related Operating System: Linux (Kubuntu) PHP Version: 5.3.2 Block user comment: N New Comment: I've not seen the segfault that Miroslav is reporting. However, I applied the patch to the latest version of php in Ubuntu (5.3.3- ubuntu4) and there was no problem running phppgadmin as ethan suggests. I would guess Ethan's problem is more likely this one: https://sourceforge.net/tracker/? func=detail&aid=2954087&group_id=37132&atid=418980 Which basically says that phppgadmin won't support php 5.3 in their stable tree. Previous Comments: ------------------------------------------------------------------------ [2010-08-03 00:04:45] ethan at remindercall dot com I've applied this patch to the 5.3.2 sources and it causes new problems - PHPPgAdmin doesn't even function with the patch applied. ------------------------------------------------------------------------ [2010-08-02 10:10:42] miroslav dot zacek at skype dot net GNU gdb (GDB) 7.1-ubuntu Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/sbin/apache2...done. (gdb) handle SIG33 pass nostop noprint Signal Stop Print Pass to program Description SIG33 No No Yes Real-time event 33 (gdb) set pagination 0 (gdb) run Starting program: /usr/sbin/apache2 -k start -X [Thread debugging using libthread_db enabled] [New Thread 0x7fffe9619710 (LWP 1339)] [Thread 0x7fffe9619710 (LWP 1339) exited] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff3d98343 in _zend_mm_free_canary_int (heap=0x7ffff83fdca0, p=0x37000000d1) at /build/buildd/php5-5.3.2/Zend/zend_alloc_canary.c:2090 2090 SUHOSIN_MM_CHECK_CANARIES(mm_block, "efree()"); (gdb) backtrace full #0 0x00007ffff3d98343 in _zend_mm_free_canary_int (heap=0x7ffff83fdca0, p=0x37000000d1) at /build/buildd/php5-5.3.2/Zend/zend_alloc_canary.c:2090 p = 0x7ffff3d79bc0 "H\203\354\bH\213GHH\205\300t\017\213\267\230" mm_block = 0x7ffff91a00d0 next_block = 0x7ffff3d79bc0 size = 4165624496 #1 0x00007fffebee2761 in _php_pgsql_notice_ptr_dtor (ptr=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/ext/pgsql/pgsql.c:835 notice = 0x7ffff87ad648 #2 0x00007ffff3d84b98 in zend_hash_clean (ht=0x7fffec0f9168) at /build/buildd/php5-5.3.2/Zend/zend_hash.c:753 p = 0x7ffff9298b50 #3 0x00007fffebee9410 in zm_deactivate_pgsql (type=-130032480, module_number=209) at /build/buildd/php5-5.3.2/ext/pgsql/pgsql.c:1034 No locals. #4 0x00007ffff3d79bdc in module_registry_cleanup (module=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/Zend/zend_API.c:2150 No locals. #5 0x00007ffff3d84734 in zend_hash_reverse_apply (ht=0x7ffff44701c0, apply_func=0x7ffff3d79bc0 <module_registry_cleanup>) at /build/buildd/php5-5.3.2/Zend/zend_hash.c:957 result = 0 p = 0x7ffff84a62b0 #6 0x00007ffff3d7864d in zend_deactivate_modules () at /build/buildd/php5-5.3.2/Zend/zend.c:938 __orig_bailout = 0x0 __bailout = {{__jmpbuf = {0, 0, 4098291904, 32767, 3240731330, 2033281132, 4167622472, 32767}, __mask_was_saved = 793223874, __saved_mask = {__val = {0, 32767, 0, 0, 1, 4294967295, 4162878232, 32767, 0, 0, 0, 0, 4179820304, 32767, 4294958864, 1836}}}} __orig_bailout = 0x0 __bailout = {{__jmpbuf = {0, 0, 4098291904, 32767, 3240731330, 2033281132, 4167622472, 32767}, __mask_was_saved = 793223874, __saved_mask = {__val = {0, 32767, 0, 0, 1, 4294967295, 4162878232, 32767, 0, 0, 0, 0, 4179820304, 32767, 4294958864, 1836}}}} #7 0x00007ffff3d24565 in php_request_shutdown (dummy=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/main/main.c:1623 report_memleaks = 0 '\000' #8 0x00007ffff3e04dc7 in php_handler (r=0x7ffff3e04dc7) at /build/buildd/php5-5.3.2/sapi/apache2handler/sapi_apache2.c:512 ctx = 0x7ffff91b5b08 conf = 0x7ffff868df48 brigade = 0x0 bucket = 0x679b8d7abd51d2 rv = 2059227602 parent_req = 0x1 #9 0x00007ffff7fd6140 in ap_run_handler (r=0x7ffff868df48) at /build/buildd/apache2-2.2.14/server/config.c:159 n = 3 rv = 2059227602 #10 0x00007ffff7fd9aa8 in ap_invoke_handler (r=0x7ffff868df48) at /build/buildd/apache2-2.2.14/server/config.c:373 handler = 0x0 result = 0 old_handler = 0x7ffff83747d0 "application/x-httpd-php" ignore = <value optimized out> #11 0x00007ffff7fe749c in ap_internal_redirect (new_uri=<value optimized out>, r=<value optimized out>) at /build/buildd/apache2-2.2.14/modules/http/http_request.c:501 new = 0x7ffff868df48 access_status = 2059227602 #12 0x00007ffff7fe7517 in ap_process_request (r=0x7ffff86937c8) at /build/buildd/apache2-2.2.14/modules/http/http_request.c:296 access_status = 2059227602 #13 0x00007ffff7fe4528 in ap_process_http_connection (c=0x7ffff8683648) at /build/buildd/apache2-2.2.14/modules/http/http_core.c:190 r = 0x7ffff86937c8 csd = 0x7ffff8683458 #14 0x00007ffff7fddcf8 in ap_run_process_connection (c=0x7ffff8683648) at /build/buildd/apache2-2.2.14/server/connection.c:43 n = 1 rv = 2059227602 #15 0x00007ffff7fec037 in child_main (child_num_arg=<value optimized out>) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:662 current_conn = <value optimized out> csd = 0x7ffff8683458 ptrans = 0x7ffff86833d8 allocator = 0x7ffff86812d0 status = <value optimized out> i = <value optimized out> lr = <value optimized out> pollset = 0x7ffff8681470 sbh = 0x7ffff8681468 bucket_alloc = 0x7ffff86856d8 last_poll_idx = 0 #16 0x00007ffff7fec306 in make_child (s=0x7ffff8214938, slot=0) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:702 No locals. #17 0x00007ffff7fec953 in ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:978 index = <value optimized out> remaining_children_to_start = <value optimized out> rv = <value optimized out> #18 0x00007ffff7fc2350 in main (argc=4, argv=0x7fffffffe728) at /build/buildd/apache2-2.2.14/server/main.c:742 c = 88 'X' configtestonly = <value optimized out> confname = 0x7ffff7fee92b "/etc/apache2/apache2.conf" def_server_root = 0x7ffff7ff252b "" temp_error_log = 0x0 error = <value optimized out> process = 0x7ffff820c220 server_conf = 0x7ffff8214938 pglobal = 0x7ffff820c128 pconf = 0x7ffff820e138 plog = 0x7ffff82422d8 ptemp = 0x7ffff8216178 pcommands = 0x7ffff8210148 opt = 0x7ffff8210240 rv = <value optimized out> mod = <value optimized out> optarg = 0x0 (gdb) info registers rax 0x679b8d7abd51d2 29162954553119186 rbx 0x7ffff83fdca0 140737358322848 rcx 0x7ffff7f8b000 140737353658368 rdx 0xb495beeed0237dbf -5434227442449154625 rsi 0x37000000d1 236223201489 rdi 0x7ffff83fdca0 140737358322848 rbp 0x37000000d1 0x37000000d1 rsp 0x7fffffffdd40 0x7fffffffdd40 r8 0x7ffff83feba0 140737358326688 r9 0x0 0 r10 0x0 0 r11 0x728 1832 r12 0x7ffff91a00d0 140737372618960 r13 0x7ffff3d79bc0 140737284381632 r14 0x7ffff84a62b0 140737359012528 r15 0x7ffff8207b18 140737356266264 rip 0x7ffff3d98343 0x7ffff3d98343 <_zend_mm_free_canary_int+51> eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0 (gdb) x/16i $pc => 0x7ffff3d98343 <_zend_mm_free_canary_int+51>: cmp %rax,-0x28(%rsi) 0x7ffff3d98347 <_zend_mm_free_canary_int+55>: lea -0x28(%rsi),%r12 0x7ffff3d9834b <_zend_mm_free_canary_int+59>: mov -0x20(%rsi),%r14 0x7ffff3d9834f <_zend_mm_free_canary_int+63>: mov -0x10(%rsi),%r13 0x7ffff3d98353 <_zend_mm_free_canary_int+67>: je 0x7ffff3d98460 <_zend_mm_free_canary_int+336> 0x7ffff3d98359 <_zend_mm_free_canary_int+73>: mov 0x6b25f8(%rip),%rcx # 0x7ffff444a958 0x7ffff3d98360 <_zend_mm_free_canary_int+80>: xor %eax,%eax 0x7ffff3d98362 <_zend_mm_free_canary_int+82>: mov %r12,%rdx 0x7ffff3d98365 <_zend_mm_free_canary_int+85>: lea 0x402bf4(%rip),%rsi # 0x7ffff419af60 0x7ffff3d9836c <_zend_mm_free_canary_int+92>: mov $0x1,%edi 0x7ffff3d98371 <_zend_mm_free_canary_int+97>: callq *(%rcx) 0x7ffff3d98373 <_zend_mm_free_canary_int+99>: mov $0x2,%edi 0x7ffff3d98378 <_zend_mm_free_canary_int+104>: callq 0x7ffff3d39650 <suhosin_get_config> 0x7ffff3d9837d <_zend_mm_free_canary_int+109>: test %al,%al 0x7ffff3d9837f <_zend_mm_free_canary_int+111>: je 0x7ffff3d98506 <_zend_mm_free_canary_int+502> 0x7ffff3d98385 <_zend_mm_free_canary_int+117>: mov 0x8a8(%rbx),%rax (gdb) thread apply all backtrace Thread 1 (Thread 0x7ffff7f61740 (LWP 1335)): #0 0x00007ffff3d98343 in _zend_mm_free_canary_int (heap=0x7ffff83fdca0, p=0x37000000d1) at /build/buildd/php5-5.3.2/Zend/zend_alloc_canary.c:2090 #1 0x00007fffebee2761 in _php_pgsql_notice_ptr_dtor (ptr=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/ext/pgsql/pgsql.c:835 #2 0x00007ffff3d84b98 in zend_hash_clean (ht=0x7fffec0f9168) at /build/buildd/php5-5.3.2/Zend/zend_hash.c:753 #3 0x00007fffebee9410 in zm_deactivate_pgsql (type=-130032480, module_number=209) at /build/buildd/php5-5.3.2/ext/pgsql/pgsql.c:1034 #4 0x00007ffff3d79bdc in module_registry_cleanup (module=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/Zend/zend_API.c:2150 #5 0x00007ffff3d84734 in zend_hash_reverse_apply (ht=0x7ffff44701c0, apply_func=0x7ffff3d79bc0 <module_registry_cleanup>) at /build/buildd/php5-5.3.2/Zend/zend_hash.c:957 #6 0x00007ffff3d7864d in zend_deactivate_modules () at /build/buildd/php5-5.3.2/Zend/zend.c:938 #7 0x00007ffff3d24565 in php_request_shutdown (dummy=0x7ffff83fdca0) at /build/buildd/php5-5.3.2/main/main.c:1623 #8 0x00007ffff3e04dc7 in php_handler (r=0x7ffff3e04dc7) at /build/buildd/php5-5.3.2/sapi/apache2handler/sapi_apache2.c:512 #9 0x00007ffff7fd6140 in ap_run_handler (r=0x7ffff868df48) at /build/buildd/apache2-2.2.14/server/config.c:159 #10 0x00007ffff7fd9aa8 in ap_invoke_handler (r=0x7ffff868df48) at /build/buildd/apache2-2.2.14/server/config.c:373 #11 0x00007ffff7fe749c in ap_internal_redirect (new_uri=<value optimized out>, r=<value optimized out>) at /build/buildd/apache2-2.2.14/modules/http/http_request.c:501 #12 0x00007ffff7fe7517 in ap_process_request (r=0x7ffff86937c8) at /build/buildd/apache2-2.2.14/modules/http/http_request.c:296 #13 0x00007ffff7fe4528 in ap_process_http_connection (c=0x7ffff8683648) at /build/buildd/apache2-2.2.14/modules/http/http_core.c:190 #14 0x00007ffff7fddcf8 in ap_run_process_connection (c=0x7ffff8683648) at /build/buildd/apache2-2.2.14/server/connection.c:43 #15 0x00007ffff7fec037 in child_main (child_num_arg=<value optimized out>) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:662 #16 0x00007ffff7fec306 in make_child (s=0x7ffff8214938, slot=0) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:702 #17 0x00007ffff7fec953 in ap_mpm_run (_pconf=<value optimized out>, plog=<value optimized out>, s=<value optimized out>) at /build/buildd/apache2-2.2.14/server/mpm/prefork/prefork.c:978 #18 0x00007ffff7fc2350 in main (argc=4, argv=0x7fffffffe728) at /build/buildd/apache2-2.2.14/server/main.c:742 (gdb) l 2085 } 2086 2087 mm_block = ZEND_MM_HEADER_OF(p); 2088 size = ZEND_MM_BLOCK_SIZE(mm_block); 2089 #if SUHOSIN_PATCH 2090 SUHOSIN_MM_CHECK_CANARIES(mm_block, "efree()"); 2091 #endif 2092 ZEND_MM_CHECK_PROTECTION(mm_block); 2093 2094 #if ZEND_DEBUG || ZEND_MM_HEAP_PROTECTION ------------------------------------------------------------------------ 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 http://bugs.php.net/bug.php?id=52389 -- Edit this bug report at http://bugs.php.net/bug.php?id=52389&edit=1