the main difference is php_sprintf in 5.3 it calls OG(php_body_write) which points to php_default_output_func at tha point. in 5.4 it calls php_output_write, which writes output via SAPI.
On Wednesday, January 25, 2012 05:07:15 PM Dmitry Stogov wrote: > Hi Stas, > > We've just found one more critical problem in 5.4. > > Apache/PHP crashes in case of error on startup, when > display_startup_errors=1. It's probably related to new output API. > > I afraid it may affect many php users. > > #0 0x00007ff4509cb471 in php_apache_sapi_header_handler > (sapi_header=0x7fff9176cda0, op=SAPI_HEADER_ADD, > sapi_headers=0x7ff450f037b0) > at /php-5.4.0RC6/sapi/apache2handler/sapi_apache2.c:124 > #1 0x00007ff450811414 in sapi_header_add_op (op=SAPI_HEADER_ADD, > sapi_header=0x7fff9176cda0) at /php-5.4.0RC6/main/SAPI.c:618 > #2 0x00007ff450811e33 in sapi_send_headers () at > /php-5.4.0RC6/main/SAPI.c:835 > #3 0x00007ff450791b10 in php_header () at > /php-5.4.0RC6/ext/standard/head.c:68 > #4 0x00007ff45081d44c in php_output_op (op=0, str=0x7ff45779bac8 > "\nWarning: Module 'Phar' already loaded in Unknown on line 0\n", len=60) > at /php-5.4.0RC6/main/output.c:1020 > #5 0x00007ff45081b993 in php_output_write (str=0x7ff45779bac8 > "\nWarning: Module 'Phar' already loaded in Unknown on line 0\n", len=60) > at /php-5.4.0RC6/main/output.c:201 > #6 0x00007ff450802c55 in php_printf (format=0x7ff450c1d669 "%s\n%s: %s > in %s on line %d\n%s") at /php-5.4.0RC6/main/main.c:673 > #7 0x00007ff45080410c in php_error_cb (type=32, > error_filename=0x7ff450c32a0b "Unknown", error_lineno=0, > format=0x7ff450c33132 "Module '%s' already loaded", > args=0x7fff9176d200) at /php-5.4.0RC6/main/main.c:1089 > #8 0x00007ff45089267d in zend_error (type=32, format=0x7ff450c33132 > "Module '%s' already loaded") at /php-5.4.0RC6/Zend/zend.c:1082 > #9 0x00007ff45089aac8 in zend_register_module_ex > (module=0x7ff44649de00) at /php-5.4.0RC6/Zend/zend_API.c:1832 > #10 0x00007ff45077da51 in php_load_extension (filename=0x7ff45779b008 > "phar.so", type=1, start_now=0) > at /php-5.4.0RC6/ext/standard/dl.c:237 > #11 0x00007ff45080ed28 in php_load_php_extension_cb (arg=0x195cd40) at > /php-5.4.0RC6/main/php_ini.c:351 > #12 0x00007ff450883763 in zend_llist_apply (l=0x7ff450ef6c78, > func=0x7ff45080ed06 <php_load_php_extension_cb>) > at /php-5.4.0RC6/Zend/zend_llist.c:193 > #13 0x00007ff45080f98b in php_ini_register_extensions () at > /php-5.4.0RC6/main/php_ini.c:710 > #14 0x00007ff45080624c in php_module_startup (sf=0x7ff450ec0240, > additional_modules=0x7ff450ec0380, num_additional_modules=1) > at /php-5.4.0RC6/main/main.c:2193 > #15 0x00007ff4509cbd54 in php_apache2_startup > (sapi_module=0x7ff450ec0240) at > /php-5.4.0RC6/sapi/apache2handler/sapi_apache2.c:348 > #16 0x00007ff4509cbf08 in php_apache_server_startup (pconf=0x17c8168, > plog=0x17fc308, ptemp=0x17d01a8, s=0x17ce968) > at /php-5.4.0RC6/sapi/apache2handler/sapi_apache2.c:457 > #17 0x0000000000438d84 in ap_run_post_config () > #18 0x0000000000425bbc in main () > > In 5.3 SAPI functions were not called for startup errors. > > I'm not going to fix it myself. > > Thanks. Dmitry. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php