php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #28803 --enable-debug causes tests to fail with "Bailed out without a bailout address!"
Submitted: 2004-06-16 12:45 UTC Modified: 2005-03-23 13:17 UTC
Votes:2
Avg. Score:4.5 ± 0.5
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: Bjorn dot Wiberg at its dot uu dot se Assigned:
Status: Closed Package: PHP options/info functions
PHP Version: 5-STABLE-200503231130 snapshot (5.04RC2-dev) OS: IBM AIX 5.2.0.0 ML5
Private report: No CVE-ID: None
 [2004-06-16 12:45 UTC] Bjorn dot Wiberg at its dot uu dot se
Description:
------------
Compilation works fine, but 'make test' fails on almost all tests with the error message:

/usr/local/src/php-5.0.0RC3/main/main.c(1694) : Bailed out without a bailout address!


Reproduce code:
---------------
Configured PHP with:

CC=/usr/local/bin/gcc CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/lib -L/opt/freeware/lib -L/usr/local/lib" ./configure

...followed by these directives:

--enable-dba --enable-debug --enable-memory-limit
--enable-short-tags --enable-versioning --prefix=/apache/php 
--with-apxs2=/apache/bin/apxs
--with-apxs2filter=/apache/bin/apxs
--with-freetype-dir
--with-gd --with-gdbm --with-gettext
--with-jpeg-dir
--with-ldap
--with-mysql=/usr/local/mysql --with-openssl=/opt/freeware
--with-png-dir --with-tiff-dir
--with-ttf
--with-zlib --with-zlib-dir
--with-mnogosearch
--with-xpm-dir
--enable-bcmath
--enable-calendar
--enable-exif
--enable-embedded-mysqli
--enable-filepro
--enable-gd-jis-conv
--enable-gd-native-ttf
--enable-mbstring
--enable-zend-multibyte
--with-inifile
--with-libxml-dir
--with-mime-magic

Changed GDLIB_CFLAGS in the Makefile to start with:

  -I/usr/include/freetype2 <the rest goes here>

...as I have both GD1 and GD2 installed on the system, and need to make sure that it uses FreeType 2's 
/usr/include/freetype2/freetype/freetype.h instead of FreeType 1's /opt/freeware/include/freetype/freetype.h as the IBM OpenSSL 0.9.6m-1 installation causes -I/opt/freeware/include to appear before -I/usr/include/freetype2 (hence it picking up  the wrong <freetype/freetype.h>). (Maybe this also is a bug which should be corrected...)

I'm using GCC 3.3.2 from Bull (http://www.bullfreeware.com/main.html) and GNU make 3.80 from IBM's AIX Toolbox for Linux Applications (http://www-1.ibm.com/servers/aix/products/aixos/linux/date.html).

Compiled PHP with '/opt/freeware/bin/make'.
Ran the tests with '/opt/freeware/bin/make test'.


Expected result:
----------------
That all or at least a vast majority of the tests pass.

Actual result:
--------------
Most of the tests fail (rendering a huge test report which is too big to submit, either packed or unpacked) to the QA mailing list (I've tried).

From the 'make test' php_test_results_20040616_1120.txt file:

/.../

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   56
Exts tested     :   27
---------------------------------------------------------------------

Number of tests : 1211               679
Tests skipped   :  532 (43.9%) --------
Tests warned    :    1 (  0.1%) (  0.1%)
Tests failed    :  672 (55.5%) (99.0%)
Tests passed    :    6 (  0.5%) (  0.9%)
---------------------------------------------------------------------
Time taken      :  179 seconds
=====================================================================

/.../

================================================================================
/usr/local/src/php-5.0.0RC3/tests/run-test/test001.phpt
================================================================================

---- EXPECTED OUTPUT
abc
---- ACTUAL OUTPUT
abc
/usr/local/src/php-5.0.0RC3/main/main.c(1694) : Bailed out without a bailout address!
---- FAILED

================================================================================
002+ /usr/local/src/php-5.0.0RC3/main/main.c(1694) : Bailed out without a bailout address!
================================================================================



================================================================================
/usr/local/src/php-5.0.0RC3/tests/run-test/test002.phpt
================================================================================

---- EXPECTED OUTPUT
%d
%i
%i
%f
%s
%x
%c
---- ACTUAL OUTPUT
123
-123
+123
+1.1
abc
0abc
x
/usr/local/src/php-5.0.0RC3/main/main.c(1694) : Bailed out without a bailout address!
---- FAILED

================================================================================
008+ /usr/local/src/php-5.0.0RC3/main/main.c(1694) : Bailed out without a bailout address!
================================================================================

/.../


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-07-15 19:42 UTC] Bjorn dot Wiberg at its dot uu dot se
The error still occurs with PHP 5.0.0 (release version).
 [2004-08-03 08:34 UTC] Bjorn dot Wiberg at its dot uu dot se
It turned out that this only occurs when PHP 5 is compiled with --enable-debug; most tests work fine when --enable-debug is left out.

Should I worry about the debug error message? PHP 4.3.8 works fine with --enable-debug, and the bailout error message looks a little worrying to me. The simple scripts I've tried so far seem to be working, though.

I'd be very thankful for any input regarding this!

Best regards,
Bj?rn
 [2005-01-07 09:19 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.0-win32-latest.zip


 [2005-01-11 08:52 UTC] Bjorn dot Wiberg at its dot uu dot se
Hi!

Sorry, a vast majority of the tests still fail, so it seems that the snapshot made no difference in that regard. Also notice the strange exit code 255, which PHP 5 seems to exhibit under AIX for some reason (that one has been there for a while now)...


=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   53
Exts tested     :   30
---------------------------------------------------------------------

Number of tests : 1296               731
Tests skipped   :  565 (43.6%) --------
Tests warned    :    1 (0.1%) (0.1%)
Tests failed    :  723 (55.8%) (98.9%)
Tests passed    :    7 (0.5%) (1.0%)
---------------------------------------------------------------------
Time taken      :  147 seconds
=====================================================================

/../

root@spinus:/usr/local/src/php5-STABLE-200501101530# /usr/local/src/php5-STABLE-200501101530/main/main.c(1697) : Bailed out without a
-bash: syntax error near unexpected token `1697'
root@spinus:/usr/local/src/php5-STABLE-200501101530#  bailout address!
-bash: bailout: command not found
root@spinus:/usr/local/src/php5-STABLE-200501101530# make: [test] Error 255 (ignored)
-bash: syntax error near unexpected token `('
root@spinus:/usr/local/src/php5-STABLE-200501101530#


I'd be happy to try more snapshots whenever you want me to, though!

Best regards,
Bj?rn
 [2005-02-28 21:24 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip


 [2005-03-11 14:20 UTC] Bjorn dot Wiberg at its dot uu dot se
Sorry for the late reply; it seems that I did not receive an e-mail about the recent changes to the bug.

Unfortunately, I still get the same error:

---- EXPECTED OUTPUT
Done
---- ACTUAL OUTPUT
Done
/usr/local/src/php5-200503111130/main/main.c(1704) : Bailed out without a bailout address!
---- FAILED

Of course I'd be happy to try another snapshot anytime.

Best regards,
Bj?rn
 [2005-03-14 22:41 UTC] sniper@php.net
Uh..this part in your configure script caught my eye:

--with-apxs2=/apache/bin/apxs
--with-apxs2filter=/apache/bin/apxs

You can have just ONE of those, NOT BOTH!

 [2005-03-15 09:16 UTC] Bjorn dot Wiberg at its dot uu dot se
Oops, sorry, I removed that a long time ago but forgot to update the configure stuff of this bug report. The current configure line I'm using is:

CC=/usr/local/bin/gcc CPPFLAGS="-I/usr/local/include -DIEEE_BIG_ENDIAN" LDFLAGS="-L/lib -L/opt/freeware/lib -L/usr/local/lib" ./configure --enable-bcmath --enable-calendar --enable-dba --enable-exif --enable-embed
ded-mysqli --enable-filepro --enable-ftp --enable-gd-jis-conv --enable-gd-native-ttf --enable-mbstring --enable-memory-limit --enable-sockets --enable-versioning --enable-zend-multibyte --prefix=/apache/php --with
-apxs2=/apache/bin/apxs --with-bz2 --with-freetype-dir --with-gd --with-gdbm --with-gettext --with-imagick --with-inifile --with-jpeg-dir --with-ldap --with-libxml-dir --with-mime-magic --with-mnogosearch --with-m
ysql=/usr/local/mysql --with-openssl=/opt/freeware --with-png-dir --with-tiff-dir --with-ttf --with-xpm-dir --with-zlib --with-zlib-dir

(The -DIEEE_BIG_ENDIAN is needed to fix bug #31131.)

I've also tried 5.0.3 on another machine, without mnoGoSearch, and with some other built-in extensions/configure options (SysV semaphore stuff and dBASE), with another packaging of gcc 3.3.2 (IBM's instead of bullfreeware.com's), and with newer libs etc., but with the same result.

Best regards,
Bj?rn
 [2005-03-18 19:59 UTC] sniper@php.net
Uh..remove that IEEE...thing, this is fixed in CVS long time ago (you ARE trying CVS snapshots after all)

 [2005-03-18 19:59 UTC] sniper@php.net
Remove also --enable-versioning (there's no use for it)

 [2005-03-21 17:11 UTC] Bjorn dot Wiberg at its dot uu dot se
OK, now using:

CC=/usr/local/bin/gcc CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/lib -L/opt/freeware/lib -L/usr/local/lib" ./configure --enable-bcmath --enable-calendar --enable-dba --enable-debug --enable-exif --enable-embedded
-mysqli --enable-filepro --enable-ftp --enable-gd-jis-conv --enable-gd-native-ttf --enable-mbstring --enable-memory-limit --enable-sockets --enable-zend-multibyte --prefix=/apache/php --with-apxs2=/apache/bin/apxs
 --with-bz2 --with-freetype-dir --with-gd --with-gdbm --with-gettext --with-imagick --with-inifile --with-jpeg-dir --with-ldap --with-libxml-dir --with-mime-magic --with-mnogosearch --with-mysql=/usr/local/mysql -
-with-openssl=/opt/freeware --with-png-dir --with-tiff-dir --with-ttf --with-xpm-dir --with-zlib --with-zlib-dir

With the same results, e.g.:

root@spinus:/usr/local/src/php5-200503210730/tests/classes# less visibility_002b.diff 
002+ /usr/local/src/php5-200503210730/main/main.c(1702) : Bailed out without a bailout address!

Best regards,
Bj?rn
 [2005-03-22 10:19 UTC] tony2001@php.net
It bails out in sapi_cli_flush() because for some reason fflush(stdout) returns EOF and errno is EBADF.
Will try to look into it today..   
 [2005-03-22 16:10 UTC] tony2001@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 [2005-03-23 13:17 UTC] Bjorn dot Wiberg at its dot uu dot se
Thank you, just tried this with the 5-STABLE snapshot, and it seems to work fine!

Thanks a lot!

Best regards,
Bj?rn
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Mar 19 05:01:29 2024 UTC