Bug #51701 [Fbk->NoF]: "Maximum execution time exceeded" error with round() API on octeon platform

From: Date: Sun, 02 Sep 2018 09:34:22 +0000
Subject: Bug #51701 [Fbk->NoF]: "Maximum execution time exceeded" error with round() API on octeon platform
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-216848@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=51701&edit=1 ID: 51701 Updated by: cmb@php.net Reported by: k dot nagakiran at gmail dot com Summary: "Maximum execution time exceeded" error with round() API on octeon platform -Status: Feedback +Status: No Feedback Type: Bug Package: Math related Operating System: Octeon PHP Version: 5.3.2 Assigned To: cmb Block user comment: N Private report: N New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Re-Opened". Thank you. Previous Comments: ------------------------------------------------------------------------ [2018-08-14 15:03:05] cmb@php.net Is that still an issue with actively supported PHP versions[1]? [1] <http://php.net/supported-versions.php> ------------------------------------------------------------------------ [2010-05-20 14:31:16] magnolitao at gmail dot com I had a problem like this with php 5.3.2. but on freebsd 7.2... Not a problem of max_execution_time but with the round() function, <?php echo round((5.5/100),3); // gives : 0.0550000000000000002775557561563 <== I specified and expected 3 floats, and no 30 ! ?> I have tested it on different PHP versions and OS, and others worked fine. <?php echo round((5.5/100),3); // gives : 0.055 ?> Finally, the error was in my php.ini, "precision" was setted to 30. I change it to 14 , as usually. Now, it works fine. It was my responsability.... but this comportement of round() is very surprising and I suppose this could help to understand a problem of max_execution of time if your "precision" is very large. I tested to raise progressively the "precision" to 100000 and even if I cannot obtain an error like "max_execution_time exceeded", pages were more and more long to charge until I obtain this error : "Balloc() allocation exceeds list boundary". Before, the max of floats I obtained is 57 : 0.055000000000000000277555756156289135105907917022705078125. I don't know if we could talk about a bug for this comportment of PHP, but it seems very important to let the directive "precision" to 14... ------------------------------------------------------------------------ [2010-04-30 08:55:56] k dot nagakiran at gmail dot com Stack Trace: (gdb) bt #0 mult (a=0xb32000, b=0xb33000) at src/dist/php/Zend/zend_strtod.c:674 #1 0x006c9604 in pow5mult (b=0xb32000, k=<value optimized out>) at src/dist/php/Zend/zend_strtod.c:803 #2 0x006cbf80 in zend_dtoa (_d=<value optimized out>, mode=2, ndigits=14, decpt=0x3ffe9d80, sign=0x3ffe9d84, rve=0x0) at src/dist/php/Zend/zend_strtod.c:1838 #3 0x005cd3c4 in php_gcvt (value=12, ndigit=14, dec_point=46 '.', exponent=0 '\0', buf=0x3ffe9df1 "") at src/dist/php/main/snprintf.c:142 #4 0x005ce67c in vspprintf (pbuf=0x3ffea0e8, max_len=0, format=<value optimized out>, ap=<value optimized out>) at src/dist/php/main/spprintf.c:669 #5 0x00620db8 in zend_spprintf (message=0x3ffea0e8, max_len=0, format=0x2 <Address 0x2 out of bounds>) at src/dist/php/Zend/zend_exceptions.c:529 #6 0x006bc270 in zend_locale_sprintf_double (op=0x3ffea0e8) at src/dist/php/Zend/zend_operators.c:2047 #7 0x005f8dbc in zend_make_printable_zval (expr=0x9aec40, expr_copy=0x3ffea0e8, use_copy=0x3ffea0f8) at src/dist/php/Zend/zend.c:276 #8 0x005f8e8c in zend_print_zval_ex (write_func=0x5bb56c <php_body_write_wrapper>, expr=0x3ffea0e8, indent=<value optimized out>) at src/dist/php/Zend/zend.c:300 #9 0x005f95a0 in zend_print_zval (expr=0x0, indent=2) at src/dist/php/Zend/zend.c:291 #10 0x006cce04 in zend_print_variable (var=0x3ffea0e8) at src/dist/php/Zend/zend_variables.c:150 #11 0x0063d2b0 in ZEND_ECHO_SPEC_VAR_HANDLER (execute_data=0xaf1020) at src/dist/php/Zend/zend_vm_execute.h:7819 #12 0x00625ea4 in execute (op_array=<value optimized out>) at src/dist/php/Zend/zend_vm_execute.h:104 #13 0x005f7328 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at src/dist/php/Zend/zend.c:1194 #14 0x005bafbc in php_execute_script (primary_file=0x3ffeb8b8) at src/dist/php/main/main.c:2260 #15 0x006cffa4 in main (argc=0, argv=0x0) at src/dist/php/sapi/cgi/cgi_main.c:2102 (gdb) finish Run till exit from #0 mult (a=0xb32000, b=0xb33000) at src/dist/php/Zend/zend_strtod.c:674 0x006c9604 in pow5mult (b=0xb32000, k=<value optimized out>) at src/dist/php/Zend/zend_strtod.c:803 803 in src/dist/php/Zend/zend_strtod.c Value returned is $22 = (Bigint *) 0xb34000 (gdb) finish Run till exit from #0 0x006c9604 in pow5mult (b=0xb32000, k=<value optimized out>) at src/dist/php/Zend/zend_strtod.c:803 X-Powered-By: PHP/5.3.2 Content-type: text/html <br /> <b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>/cf/var/jail/jail-srxsme/html/testPHP.php</b> on line <b>13</b><br /> Program exited with code 0377. ------------------------------------------------------------------------ [2010-04-30 07:02:32] k dot nagakiran at gmail dot com Description: ------------ I am facing issues with round() API of PHP 5.3.2 compiled for octeon platform. The following one line script throws the following error: "Maximum execution time of 30 seconds exceeded in <fileName>" <?php echo round(12); ?> With gdb, I noticed that its doing an infinite loop inside "static Bigint * mult(Bigint *a, Bigint *b)" in Zend/zend_strtod.c It works fine with PHP 5.2.3 compiled for octeon platform. I don't see any difference in function definition between these 2 releases. Is it a known issue or any patch available? Please let me know if I need to provide more information. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=51701&edit=1

« previous php.bugs (#216848) next »