PHP hangs on numeric value 2.2250738585072011e-308
| Bug #53632 | PHP hangs on numeric value 2.2250738585072011e-308 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2010-12-30 06:58 UTC | Modified: | 2011-01-10 19:15 UTC |
|
||||||||||
| From: | exploringbinary at gmail dot com | Assigned: | pajoye (profile) | |||||||||||
| Status: | Closed | Package: | Math related | |||||||||||
| PHP Version: | 5.3.4 | OS: | ||||||||||||
| Private report: | No | CVE-ID: | 2010-4645 | |||||||||||
[2010-12-30 06:58 UTC] exploringbinary at gmail dot com
Description: ------------ If I assign the value 2.2250738585072011e-308 to a variable, e.g. $d = 2.2250738585072011e-308, PHP hangs (loops). I am using PHP 5.3.1 XAMPP 1.7.3 on Windows. 2.2250738585072011e-308 represents the largest subnormal double-precision floating-point number, 0.1111111111111111111111111111111111111111111111111111 x 2^-1022. Interestingly, nearby decimal literals 2.2250738585072008e-308, 2.2250738585072009e-308, 2.2250738585072010e-308 and 2.2250738585072012e-308 -- which all convert to the same floating-point value -- do not cause this problem. Test script: --------------- <?php $d = 2.2250738585072011e-308; ?> Expected result: ---------------- No Hang. Actual result: -------------- Hang.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2011-01-02 16:44 UTC] exploringbinary at gmail dot com
[2011-01-02 16:49 UTC] pajoye@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: dmitry
[2011-01-02 16:49 UTC] pajoye@php.net
[2011-01-02 16:52 UTC] exploringbinary at gmail dot com
[2011-01-02 17:05 UTC] pajoye@php.net
-Operating System: Windows +Operating System:
[2011-01-04 06:48 UTC] cswarth at gmail dot com
[2011-01-04 08:31 UTC] yuv dot adm at gmail dot com
[2011-01-04 08:55 UTC] aquilax at gmail dot com
It hangs on Debian: aquilax@zelda /tmp> php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/adodb.so' - /usr/lib/php5/20090626+lfs/adodb.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP 5.3.3-6 with Suhosin-Patch (cli) (built: Dec 7 2010 18:23:49) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH aquilax@zelda /tmp> cat t.php <?php $d = 2.2250738585072011e-308; ?> aquilax@zelda /tmp> time php t.php PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/adodb.so' - /usr/lib/php5/20090626+lfs/adodb.so: cannot open shared object file: No such file or directory in Unknown on line 0 ^CCommand terminated by signal 2 7.55user 0.02system 0:07.61elapsed 99%CPU (0avgtext+0avgdata 36720maxresident)k 0inputs+0outputs (0major+2620minor)pagefaults 0swaps[2011-01-04 08:59 UTC] yuv dot adm at gmail dot com
Check out the strace: lstat64("/home/ubuntu/junk/p.php", {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 lstat64("/home/ubuntu/junk", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/home/ubuntu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe51238) = -1 ENOTTY (Inappropriate ioctl for device) fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 mmap2(NULL, 68, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb78d1000 and then it hangs...[2011-01-04 09:02 UTC] scottmac@php.net
[2011-01-04 09:37 UTC] scottmac@php.net
[2011-01-04 10:17 UTC] pajoye@php.net
[2011-01-04 10:57 UTC] stuart dot caie at gmail dot com
[2011-01-04 14:36 UTC] brandonkirsch at hotmail dot com
[2011-01-04 16:08 UTC] brandonkirsch at hotmail dot com
[2011-01-04 16:50 UTC] abowling1 at gmail dot com
[2011-01-04 17:41 UTC] rasmus@php.net
[2011-01-04 17:55 UTC] hion2000 at yahoo dot ca
[2011-01-04 18:36 UTC] chris dot tandiono at gmail dot com
[2011-01-04 19:06 UTC] hieu dot ld at vnnb dot net
[2011-01-04 19:11 UTC] hieu dot ld at vnnb dot net
[2011-01-04 20:21 UTC] aloucks at cofront dot net
[2011-01-05 00:19 UTC] scottmac@php.net
-Status: Assigned +Status: Closed -Assigned To: dmitry +Assigned To: scottmac
[2011-01-05 00:19 UTC] scottmac@php.net
[2011-01-05 00:33 UTC] pajoye@php.net
-Status: Closed +Status: Assigned -Assigned To: scottmac +Assigned To: pajoye
[2011-01-05 00:33 UTC] pajoye@php.net
[2011-01-05 00:47 UTC] pajoye@php.net
-Status: Assigned +Status: Closed -Assigned To: pajoye +Assigned To: scottmac
[2011-01-05 00:47 UTC] pajoye@php.net
[2011-01-05 10:28 UTC] zdv2010 at gmail dot com
[2011-01-05 15:13 UTC] tyra3l at gmail dot com
[2011-01-05 16:11 UTC] tyra3l at gmail dot com
[2011-01-05 19:39 UTC] xpipe at hotmail dot de
[2011-01-05 19:43 UTC] pajoye@php.net
[2011-01-06 02:29 UTC] liaogz82 at singnet dot com dot sg
[2011-01-06 02:32 UTC] scottmac@php.net
-Block user comment: N +Block user comment: Y
[2011-01-06 14:38 UTC] boris at insert-coin dot org
[2011-01-06 14:41 UTC] aharvey@php.net
-Block user comment: N +Block user comment: Y
[2011-01-06 14:41 UTC] pajoye@php.net
[2011-01-06 17:29 UTC] pajoye@php.net
-Status: Closed +Status: Assigned -Assigned To: scottmac +Assigned To: pajoye
[2011-01-06 17:29 UTC] pajoye@php.net
[2011-01-06 19:26 UTC] pajoye@php.net
[2011-01-10 19:15 UTC] iliaa@php.net
-Status: Assigned +Status: Closed