Edit report at http://bugs.php.net/bug.php?id=53837&edit=1
ID: 53837 Updated by: paj...@php.net Reported by: elacunza at binovo dot es Summary: Gettext extension crashes PHP/Apache -Status: Open +Status: Feedback Type: Bug Package: Gettext related Operating System: Windows PHP Version: 5.3.5 Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2011-01-26 12:35:58] paj...@php.net No idea what's wrong on your config but gettext works just fine here. Does it crash when no translation data are used? (no po) Or only when it actually does the translation? If the former, pls send me the translation data so I can try to reproduce your problem. Also the backtrace for VC9 looks wrong, it should not use msvcrt at all but the VC9 versions. It looks to me that there is a DLL mess on your box. Such DLLs mess causes free/heapfree crashes as different crt are use to alloc and freed a given resource. ------------------------------------------------------------------------ [2011-01-26 12:27:04] elacunza at binovo dot es VC6 thread safe version version due to Apache. The backtrace has been generated from CLI using VC6 ts. I just tested the script with VC9 on the cli ts and it also crashes. Backtrace for VC9: Report for php__PID__1636__Date__01_25_2011__Time_06_32_55PM__913__Second_Chance_Exception_C0000005.dmp Type of Analysis Performed Crash Analysis Machine Name WIN2008 Operating System Windows Vista Service Pack 2 Number Of Processors 2 Process ID 1636 Process Image c:\php535\php.exe System Up-Time 1 day(s) 06:38:08 Process Up-Time 00:00:01 Thread 0 - System ID 4124 Entry point php!mainCRTStartup Create time 25/01/2011 18:32:55 Time spent in user mode 0 Days 0:0:0.93 Time spent in kernel mode 0 Days 0:0:0.406 Function Arg 1 Arg 2 Arg 3 Source ntdll!RtlpCoalesceFreeBlocks+35 00320000 002c8490 00c0f958 ntdll!RtlpFreeHeap+1e2 002c8490 002c8498 002c8498 ntdll!RtlFreeHeap+14e 00320000 00000000 002c8490 kernel32!HeapFree+14 00320000 00000000 002c8498 msvcrt!free+cd 002c8498 455f7365 6f6d4053 php_gettext!libintl_dcigettext+2df 002c7674 02a0f400 00000000 php_gettext!libintl_dcgettext+1a 00000000 02a0f400 000006c1 php_gettext!libintl_gettext+11 02a0f400 00322640 031ea0b0 php_gettext!zif_gettext+65 02a0f400 031e09a0 00000000 php5ts!zend_do_fcall_common_helper_SPEC+94e 00000000 02a405e8 00322640 php5ts!ZEND_DO_FCALL_SPEC_CONST_HANDLER+130 00c0fbd4 00322640 00c0fe70 php5ts!execute+2fe 02a405e8 00322600 00000000 php5ts!zend_execute_scripts+f6 00000008 00322640 00000000 php5ts!php_execute_script+245 00c0fe70 00322640 00000000 php!main+bf1 00000002 003225c8 003215a8 php!mainCRTStartup+e3 7ffd5000 00c0ffd4 776219bb kernel32!BaseThreadInitThunk+e 7ffd5000 71387a67 00000000 ntdll!__RtlUserThreadStart+23 00402d78 7ffd5000 ffffffff ntdll!_RtlUserThreadStart+1b 00402d78 7ffd5000 00000000 NTDLL!RTLPCOALESCEFREEBLOCKS+35 Detailed Info For Corrupt Heap Heap 1 - 0x000f0000 Heap Name Default process heap Heap Description This heap is created by default and shared by all modules in the process Reserved memory 1.050.192,03 TBytes Committed memory 623.439,40 TBytes (59,36% of reserved) Uncommitted memory 426.752,63 TBytes (40,64% of reserved) Number of heap segments 1 segments Number of uncommitted ranges 2,67403375434139E+16 range(s) Size of largest uncommitted range 29.184,39 TBytes Calculated heap fragmentation 93,16% Segment Information Base Address Reserved Size Committed Size Uncommitted Size Number of uncommitted ranges Largest uncommitted block Calculated heap fragmentation 0x0bc83dc4 101.713.488,03 TBytes -2.249.817.298.122.890.000.000 Bytes 2.147.910.400,63 TBytes 2,67403375434139E+16 29.184,39 TBytes 100,00% Back to Top In php__PID__1636__Date__01_25_2011__Time_06_32_55PM__913__Second_Chance_Exception_C0000005.dmp the assembly instruction at ntdll!RtlpCoalesceFreeBlocks+35 in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x0029df42 on thread 0 Heap corruption was detected in heap 0x000f0000, however pageheap was not enabled in this dump. Please follow the instructions in the recommendation section for troubleshooting heap corruption issues. Current NTGlobalFlags value: 0x0 Module Information Image Name: C:\Windows\System32\ntdll.dll Symbol Type: PDB Base address: 0x775e0000 Time Stamp: Sat Apr 11 08:26:41 2009 Checksum: 0x0012c163 Comments: COM DLL: False Company Name: Microsoft Corporation ISAPIExtension: False File Description: NT Layer DLL ISAPIFilter: False File Version: 6.0.6002.18005 (lh_sp2rtm.090410-1830) Managed DLL: False Internal Name: ntdll.dll VB DLL: False Legal Copyright: © Microsoft Corporation. All rights reserved. Loaded Image Name: ntdll.dll Legal Trademarks: Mapped Image Name: Original filename: ntdll.dll Module name: ntdll Private Build: Single Threaded: False Product Name: Microsoft® Windows® Operating System Module Size: 1,15 MBytes Product Version: 6.0.6002.18005 Symbol File Name: c:\symcache\ntdll.pdb\2A581B1A8A244C51992668A826BF4FBB2\ntdll.pdb Special Build: & ------------------------------------------------------------------------ [2011-01-25 19:22:34] paj...@php.net Which version/build do you use? VC9 or VC6? If VC6 please try using VC9. It should work in the CLI too. Btw, does it happen in CLI too? ------------------------------------------------------------------------ [2011-01-25 18:49:49] elacunza at binovo dot es Description: ------------ We have an application working just fine on windows 2008 + apache 2.2.17 + php 5.2.17 . We updated to 5.3.5 and found repeatable PHP crashes, from within Apache and also from command line. It is repeatable, but not always (it crashes about 9 of 10 runs). Server is virtualized as guest in a KVM host (debian lenny). Test script: --------------- <?php $a = _('Albaran'); ?> Expected result: ---------------- I expected a clean end of php, with no output. Actual result: -------------- php__PID__4900__Date__01_25_2011__Time_06_33_38PM__118__Second_Chance_Exception_C0000005.dmp Type of Analysis Performed Crash Analysis Machine Name WIN2008 Operating System Windows Vista Service Pack 2 Number Of Processors 2 Process ID 4900 Process Image c:\php535\php.exe System Up-Time 1 day(s) 06:38:51 Process Up-Time 00:00:01 Thread 0 - System ID 380 Entry point php!mainCRTStartup Create time 25/01/2011 18:33:37 Time spent in user mode 0 Days 0:0:0.140 Time spent in kernel mode 0 Days 0:0:0.328 Function Arg 1 Arg 2 Arg 3 Source ntdll!RtlpCoalesceFreeBlocks+35 00090000 00178490 00c0f958 ntdll!RtlpFreeHeap+1e2 00178490 00178498 00178498 ntdll!RtlFreeHeap+14e 00090000 00000000 00178490 kernel32!HeapFree+14 00090000 00000000 00178498 msvcrt!free+cd 00178498 455f7365 6f6d4053 php_gettext!libintl_dcigettext+2df 00177674 0290f0d0 00000000 php_gettext!libintl_dcgettext+1a 00000000 0290f0d0 000006c1 php_gettext!libintl_gettext+11 0290f0d0 00092640 030e9dc0 php_gettext!zif_gettext+65 0290f0d0 030e06b0 00000000 php5ts!zend_do_fcall_common_helper_SPEC+94e 00000000 02940550 00092640 php5ts!ZEND_DO_FCALL_SPEC_CONST_HANDLER+130 00c0fbd4 00092640 00c0fe70 php5ts!execute+2fe 02940550 00092600 00000000 php5ts!zend_execute_scripts+f6 00000008 00092640 00000000 php5ts!php_execute_script+245 00c0fe70 00092640 00000000 php!main+bf1 00000002 000925c8 000915a8 php!mainCRTStartup+e3 7ffdb000 00c0ffd4 776219bb kernel32!BaseThreadInitThunk+e 7ffdb000 7139d704 00000000 ntdll!__RtlUserThreadStart+23 00402d78 7ffdb000 ffffffff ntdll!_RtlUserThreadStart+1b 00402d78 7ffdb000 00000000 NTDLL!RTLPCOALESCEFREEBLOCKS+35 Detailed Info For Corrupt Heap Heap 1 - 0x00180000 Heap Name Default process heap Heap Description This heap is created by default and shared by all modules in the process Reserved memory 5.244.720,03 TBytes Committed memory 2.097.264,00 TBytes (39,99% of reserved) Uncommitted memory 3.147.456,03 TBytes (60,01% of reserved) Number of heap segments 1 segments Number of uncommitted ranges 996432412722 range(s) Size of largest uncommitted range 29.440,41 TBytes Calculated heap fragmentation 99,06% Segment Information Base Address Reserved Size Committed Size Uncommitted Size Number of uncommitted ranges Largest uncommitted block Calculated heap fragmentation 0x1f92dd0d 105.908.016,03 TBytes 52.428.912,00 TBytes 53.479.104,03 TBytes 996432412722 29.440,41 TBytes 99,94% Back to Top In php__PID__4900__Date__01_25_2011__Time_06_33_38PM__118__Second_Chance_Exception_C0000005.dmp the assembly instruction at ntdll!RtlpCoalesceFreeBlocks+35 in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x0010ff3a on thread 0 Heap corruption was detected in heap 0x00180000, however pageheap was not enabled in this dump. Please follow the instructions in the recommendation section for troubleshooting heap corruption issues. Current NTGlobalFlags value: 0x0 Module Information Image Name: C:\Windows\System32\ntdll.dll Symbol Type: PDB Base address: 0x775e0000 Time Stamp: Sat Apr 11 08:26:41 2009 Checksum: 0x0012c163 Comments: COM DLL: False Company Name: Microsoft Corporation ISAPIExtension: False File Description: NT Layer DLL ISAPIFilter: False File Version: 6.0.6002.18005 (lh_sp2rtm.090410-1830) Managed DLL: False Internal Name: ntdll.dll VB DLL: False Legal Copyright: © Microsoft Corporation. All rights reserved. Loaded Image Name: ntdll.dll Legal Trademarks: Mapped Image Name: Original filename: ntdll.dll Module name: ntdll Private Build: Single Threaded: False Product Name: Microsoft® Windows® Operating System Module Size: 1,15 MBytes Product Version: 6.0.6002.18005 Symbol File Name: c:\symcache\ntdll.pdb\2A581B1A8A244C51992668A826BF4FBB2\ntdll.pdb Special Build: & ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53837&edit=1