|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #70041 segfaults due tests
Submitted: 2015-07-10 13:34 UTC Modified: 2017-12-23 12:10 UTC
From: spam2 at rhsoft dot net Assigned: nikic (profile)
Status: Closed Package: Testing related
PHP Version: 5.6.11 OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
From: spam2 at rhsoft dot net
New email:
PHP Version: OS:


 [2015-07-10 13:34 UTC] spam2 at rhsoft dot net
Jul 10 14:20:25 testserver phpt[31378]: Basic syslog test
Jul 10 14:53:28 testserver kernel: conftest[68039]: segfault at 1 ip 00007f23f66b8f19 sp 00007ffe875e97c0 error 4 in[7f23f6676000+108000]
Jul 10 14:53:28 testserver systemd-coredump: Process 68039 (conftest) of user 5000 dumped core.

Stack trace of thread 68039:
#0  0x00007f23f66b8f19 utf8_to_mutf7 (
#1  0x00007f23f6baea6b n/a (/home/builduser/rpmbuild/BUILD/php-5.6.11/build-apache/conftest)

Jul 10 14:53:37 testserver kernel: conftest[70332]: segfault at 0 ip 00007f04a2ff7886 sp 00007ffff639aec0 error 4 in conftest[7f04a2ff7000+1000]
Jul 10 14:53:37 testserver kernel: conftest[70356]: segfault at 0 ip 00007f001f8c1266 sp 00007ffe890ced88 error 4 in[7f001f77b000+1b3000]
Jul 10 14:53:37 testserver systemd-coredump: Process 70332 (conftest) of user 5000 dumped core.

Stack trace of thread 70332:
#0  0x00007f04a2ff7886 n/a (/home/builduser/rpmbuild/BUILD/php-5.6.11/build-apache/conftest)

Jul 10 14:53:38 testserver systemd-coredump: Process 70356 (conftest) of user 5000 dumped core.

Stack trace of thread 70356:
#0  0x00007f001f8c1266 __GI___strcmp_ssse3 (
#1  0x00007f0023701a29 n/a (/home/builduser/rpmbuild/BUILD/php-5.6.11/build-apache/conftest)

Jul 10 15:04:06 testserver systemd-coredump: Process 121367 (php) of user 5000 dumped core.

Stack trace of thread 121367:
#0  0x00007f3d148ae8d7 raise (
#1  0x00007f3d148b053a abort (
#2  0x00007f3d148a747d __assert_fail_base (
#3  0x00007f3d148a7532 __assert_fail (
#4  0x00007f3d18da0a76 encoding_filter_script_to_internal (php)
#5  0x00007f3d18da47f7 lex_scan (php)
#6  0x00007f3d18dca422 zendlex (php)
#7  0x00007f3d18d9be94 zendparse (php)
#8  0x00007f3d18da16d5 compile_file (php)
#9  0x00007f3d0d4ea1e6 phar_compile_file (
#10 0x00007f3d18de937b zend_execute_scripts (php)
#11 0x00007f3d18d6fe10 php_execute_script (php)
#12 0x00007f3d18ea31db do_cli (php)
#13 0x00007f3d18b2602d main (php)
#14 0x00007f3d14899fe0 __libc_start_main (
#15 0x00007f3d18b2616d _start (php)

Jul 10 15:04:07 testserver systemd-coredump: Process 121376 (php) of user 5000 dumped core.

Stack trace of thread 121376:
#0  0x00007f4397e8f8d7 raise (
#1  0x00007f4397e9153a abort (
#2  0x00007f4397e8847d __assert_fail_base (
#3  0x00007f4397e88532 __assert_fail (
#4  0x00007f439c381a76 encoding_filter_script_to_internal (php)
#5  0x00007f439c3857f7 lex_scan (php)
#6  0x00007f439c3ab422 zendlex (php)
#7  0x00007f439c37ce94 zendparse (php)
#8  0x00007f439c3826d5 compile_file (php)
#9  0x00007f4390acb1e6 phar_compile_file (
#10 0x00007f439c3ca37b zend_execute_scripts (php)
#11 0x00007f439c350e10 php_execute_script (php)
#12 0x00007f439c4841db do_cli (php)
#13 0x00007f439c10702d main (php)
#14 0x00007f4397e7afe0 __libc_start_main (
#15 0x00007f439c10716d _start (php)

Test script:

environment for rpmbuild:

* gcc-4.9.2-6.fc21.x86_64
* optflags: x86_64 -m64 -O2 -march=westmere -mtune=westmere -fopenmp -mfpmath=sse -pipe -fno-strict-aliasing -fomit-frame-pointer -finline-functions -finline-limit=60 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=6 -D_FORTIFY_SOURCE=2 -Wstack-protector -Wformat -Werror=format-sec
* export CFLAGS="%{optflags} -O3 -fPIC -fPIE -funroll-loops -funswitch-loops -Wno-pointer-sign"
* export CXXFLAGS="%{optflags} -O3 -fPIC -fPIE -funroll-loops -funswitch-loops -Wno-pointer-sign"
* export LDFLAGS="-Wl,-z,now -Wl,-z,relro,-z,noexecstack -pie %{optflags} -O3 -funroll-loops -funswitch-loops -Wno-pointer-sign"
* export SH_LDFLAGS="-Wl,-z,now -Wl,-z,relro,-z,noexecstack -pie %{optflags} -O3 -funroll-loops -funswitch-loops -Wno-pointer-sign"

as part of the rpm-spec

%if %runselftest
 ulimit -s 32712
 cd build-apache
 export MYSQL_TEST_PARAM="php_autotest"
 export LANG=C
 if ! make test; then
  set +x
  for f in `find .. -name \*.diff -type f -print`; do
   echo "TEST FAILURE: $f --"
   cat "$f"
   echo "-- $f result ends."
  set -x

Expected result:
no segfaults and failing tests

Actual result:
segfaults above and too much failing tests, some of them for years

PHP encoding setting test [tests/basic/encoding.phpt]
Zend Multibyte and UTF-8 BOM [Zend/tests/multibyte/multibyte_encoding_002.phpt]
Zend Multibyte and UTF-16 BOM [Zend/tests/multibyte/multibyte_encoding_003.phpt]
Test iconv_set_encoding() function : error functionality [ext/iconv/tests/iconv_set_encoding_variation.phpt]
mysqli autocommit/commit/rollback [ext/mysqli/tests/014.phpt]
mysqli autocommit/commit/rollback with innodb [ext/mysqli/tests/015.phpt]
Bug #42548 PROCEDURE xxx can't return a result set in the given context (works in 5.2.3!!) [ext/mysqli/tests/bug42548.phpt]
Bug #44879 (failed to prepare statement) [ext/mysqli/tests/bug44897.phpt]
Bug #51647 (Certificate file without private key (pk in another file) doesn't work) [ext/mysqli/tests/bug51647.phpt]
Bug #55283 (SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections) [ext/mysqli/tests/bug55283.phpt]
mysqli_autocommit() [ext/mysqli/tests/mysqli_autocommit.phpt]
mysqli->autocommit() [ext/mysqli/tests/mysqli_autocommit_oo.phpt]
mysqli_begin_transaction() [ext/mysqli/tests/mysqli_begin_transaction.phpt]
mysqli_change_user() - ROLLBACK [ext/mysqli/tests/mysqli_change_user_rollback.phpt]
Interface of the class mysqli_driver [ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt]
Interface of the class mysqli [ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.phpt]
mysqli_fetch_field() - flags/field->flags [ext/mysqli/tests/mysqli_fetch_field_flags.phpt]
mysqli_query() [ext/mysqli/tests/mysqli_query.phpt]
mysqli_query() - Stored Procedures [ext/mysqli/tests/mysqli_query_stored_proc.phpt]
mysqli_query() - unicode (cyrillic) [ext/mysqli/tests/mysqli_query_unicode.phpt]
mysqli_real_query() [ext/mysqli/tests/mysqli_real_query.phpt]
mysqli_report() [ext/mysqli/tests/mysqli_report.phpt]
mysqli_rollback() [ext/mysqli/tests/mysqli_rollback.phpt]
mysqli_stmt_execute() - Stored Procedures [ext/mysqli/tests/mysqli_stmt_execute_stored_proc.phpt]
Multiple result set with PS [ext/mysqli/tests/mysqli_stmt_multires.phpt]
mysqli_store_result() [ext/mysqli/tests/mysqli_store_result_copy.phpt]
Bug #54929 (Parse error with single quote in sql comment (pdo-mysql)) [ext/pdo_mysql/tests/bug54929.phpt]
MySQL PDO->__construct() - Generic + DSN [ext/pdo_mysql/tests/pdo_mysql___construct.phpt]
MySQL PDO->exec(), affected rows [ext/pdo_mysql/tests/pdo_mysql_exec_load_data.phpt]
MySQL PDOStatement->nextRowSet() with PDO::MYSQL_ATTR_MULTI_STATEMENTS either true or false [ext/pdo_mysql/tests/pdo_mysql_multi_stmt_nextrowset.phpt]
use_trans_sid should not affect SID [ext/session/tests/015.phpt]
rewriter correctly handles attribute names which contain dashes [ext/session/tests/018.phpt]
rewriter uses arg_separator.output for modifying URLs [ext/session/tests/020.phpt]
Bug #26862 (ob_flush() before output_reset_rewrite_vars() results in data loss) [ext/session/tests/bug26862.phpt]
Bug #31454 (Incorrect adding PHPSESSID to links, which contains \r\n) [ext/session/tests/bug36459.phpt]
Bug #41600 (url rewriter tags doesn't work with namespaced tags) [ext/session/tests/bug41600.phpt]
Bug #50308 (session id not appended properly for empty anchor tags) [ext/session/tests/bug50308.phpt]
Bug #66481: Calls to session_name() segfault when is null. [ext/session/tests/bug66481.phpt]
Test session.hash_function ini setting : basic functionality [ext/session/tests/session_hash_function_basic.phpt]
Bug #44394 (Last two bytes missing from output) [ext/standard/tests/general_functions/bug44394.phpt]
Bug #44394 (Last two bytes missing from output) with session.use_trans_id [ext/standard/tests/general_functions/bug44394_2.phpt]
Bug #38802 (ignore_errors and max_redirects) [ext/standard/tests/http/bug38802.phpt]
Bug #48929 (duplicate \r\n sent after last header line) [ext/standard/tests/http/bug48929.phpt]
Bug #53198 (From: header cannot be changed with ini_set) [ext/standard/tests/http/bug53198.phpt]
Bug #61548 (content-type must appear at the end of headers) [ext/standard/tests/http/bug61548.phpt]
Bug #65634 (HTTP wrapper is very slow with protocol_version 1.1) [ext/standard/tests/http/bug65634.phpt]
Bug #67430 (http:// wrapper doesn't follow 308 redirects) [ext/standard/tests/http/bug67430.phpt]
http:// and ignore_errors [ext/standard/tests/http/ignore_errors.phpt]
Bug #26817 (http_build_query() did not handle private & protected object properties) [ext/standard/tests/strings/bug26817.phpt]
Test htmlentities() function [ext/standard/tests/strings/htmlentities24.phpt]
http_build_query() function [ext/standard/tests/strings/http_build_query.phpt]
Test http_build_query() function: usage variations - first arguments as object [ext/standard/tests/strings/http_build_query_variation1.phpt]
Test http_build_query() function: usage variations - first arguments as multidimensional array and second argument present/not present [ext/standard/tests/strings/http_build_query_variation2.phpt]
Test http_build_query() function: usage variations - testing four parameter added in PHP 5.4.0 [ext/standard/tests/strings/http_build_query_variation3.phpt]
Test function show_source() by calling it with its expected arguments, more test for highlight_file() [ext/standard/tests/strings/show_source_basic.phpt]
Test function show_source() by calling it with its expected arguments and php output, more test for highlight_file() [ext/standard/tests/strings/show_source_variation1.phpt]
Test function show_source() by calling it with its expected arguments and output to variable, more test for highlight_file() [ext/standard/tests/strings/show_source_variation2.phpt]


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2015-07-10 17:40 UTC]
Please, do not post failed test summaries in this bug tracker,
because these are worse than useless. Instead send the summary
generated by `make test` to the QA team.

Of course, patches to fix broken test cases and other help are
welcome, see <>.
 [2015-07-13 09:38 UTC] spam2 at rhsoft dot net
that's only "useless" because this is the only bugtracker on this planet without a attachment option, otherwise would had attached the jpeg file

> Instead send the summary generated by `make test` to the QA team

uhm is there a way *without* register permanently to a maling-list?

frankly i have here the complete build-log including configure, build, options, the full testrun and all outputs (stdout/stderr), the syslog with the crashes and even coredumps for them

[harry@rh:/mnt/data/downloads]$ ls
insgesamt 3,3M
drwxr-x--- 3 harry verwaltung 4,0K 2015-07-13 11:32 test-crashes
-rw-r----- 1 harry verwaltung 3,3M 2015-07-13 11:37 test-crashes.tar.xz
[harry@rh:/mnt/data/downloads]$ ls -R test-crashes/
insgesamt 3,8M
drwxr-x--- 2 harry verwaltung 4,0K 2015-07-13 11:31 coredumps
-rw-r----- 1 harry verwaltung 3,8M 2015-07-13 11:28 build-php.log
-rw------- 1 harry verwaltung 3,1K 2015-07-13 11:29 crashes.log

insgesamt 39M
-rw-r----- 1 harry verwaltung 1,4M 2015-07-13 11:31 core.conftest.5000.4936a6c8165f43d885b71dc10f6c2c4e.4114.1436778184000000
-rw-r----- 1 harry verwaltung 1,7M 2015-07-13 11:31 core.conftest.5000.4936a6c8165f43d885b71dc10f6c2c4e.6407.1436778193000000
-rw-r----- 1 harry verwaltung 1,7M 2015-07-13 11:31 core.conftest.5000.4936a6c8165f43d885b71dc10f6c2c4e.6431.1436778193000000
-rw-r----- 1 harry verwaltung  17M 2015-07-13 11:31 core.php.5000.4936a6c8165f43d885b71dc10f6c2c4e.57299.1436778804000000
-rw-r----- 1 harry verwaltung  17M 2015-07-13 11:31 core.php.5000.4936a6c8165f43d885b71dc10f6c2c4e.57308.1436778805000000
 [2015-07-13 10:02 UTC]
After running `make test`, you should be offered to send the
generated test summary via email. That is not supposed to require
any registration at all, AFAIK.

Regarding the coredumps: these would make only sense if it is
clear which test is segfaulting. That doesn't seem to be evident
from what you've posted above.
 [2015-07-13 10:11 UTC] spam2 at rhsoft dot net
> After running `make test`, you should be offered to 
> send the generated test summary via email

that's impossible in context of rpmbuild which runs the testsuite inside of %tests section, gives out all results and finally genearte rpm packages
 [2017-12-23 12:10 UTC]
-Status: Open +Status: Closed -Assigned To: +Assigned To: nikic
 [2017-12-23 12:10 UTC]
The assertion failures in the multibyte tests have been fixed by in 7.0, so closing here.
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Tue Oct 27 01:01:23 2020 UTC