|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2018-06-11 10:29 UTC] spam2 at rhsoft dot net
Description: ------------ our cms auto-test-suite with "make prof.gen" * OK: cl_api->navigation_base_internal->test(0.026) zend_mm_heap corrupted -------------- our cms auto-test-suite with a debug build at the same place * OK: cl_api->navigation_base_internal->test(0.183) php: /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc.u.type_info) & (1<<6))' failed. /rpmbuild/PHP-PGO/profile.sh: line 127: 308554 Aborted (core dumped) /usr/bin/valgrind --tool=memcheck --leak-check=yes --leak-check=full --log-file=$PROFILE_ROOT/logs/valgrind-cli.log $CLI_BINARY -c "$PROFILE_ROOT/php.ini" "$PROFILE_DOCROOT/cms/autotest.php" Patchesdisable-ROPE_END-dce (last revision 2018-06-12 22:27 UTC by cmb@php.net)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 19:00:01 2025 UTC |
yeah, that works after set "kernel.yama.ptrace_scope = 2" to "kernel.yama.ptrace_scope = 1" in sysctl.conf :-) php: /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc.u.type_info) & (1<<6))' failed. Program received signal SIGABRT, Aborted. 0x00007ffff68e2660 in raise () from /lib64/libc.so.6 Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-24.fc27.x86_64 cyrus-sasl-lib-2.1.26-34.fc27.x86_64 expat-2.2.5-1.fc27.x86_64 fontconfig-2.12.6-4.fc27.x86_64 freetype-2.8-8.fc27.x86_64 gd-2.2.5-3.fc27.x86_64 jbigkit-libs-2.1-8.fc27.x86_64 keyutils-libs-1.5.10-3.fc27.x86_64 krb5-libs-1.15.2-9.fc27.x86_64 libX11-1.6.5-4.fc27.x86_64 libXau-1.0.8-9.fc27.x86_64 libXpm-3.5.12-4.fc27.x86_64 libcom_err-1.43.5-2.fc27.x86_64 libcrypt-nss-2.26-28.fc27.x86_64 libcurl-7.55.1-12.fc27.x86_64 libgcc-7.3.1-5.fc27.x86_64 libgomp-7.3.1-5.fc27.x86_64 libicu-57.1-9.fc27.x86_64 libidn2-2.0.5-1.fc27.x86_64 libjpeg-turbo-1.5.3-1.fc27.x86_64 libnghttp2-1.31.1-1.fc27.x86_64 libpng-1.6.31-1.fc27.x86_64 libpsl-0.18.0-3.fc27.x86_64 libselinux-2.7-3.fc27.x86_64 libssh2-1.8.0-5.fc27.x86_64 libstdc++-7.3.1-5.fc27.x86_64 libtidy-5.4.0-3.fc27.x86_64 libtiff-4.0.9-10.fc27.x86_64 libunistring-0.9.10-1.fc27.x86_64 libwebp-1.0.0-1.fc27.x86_64 libxcb-1.12-5.fc27.x86_64 libxml2-2.9.7-1.fc27.x86_64 libzip-1.3.2-1.fc27.x86_64 nspr-4.19.0-1.fc27.x86_64 nss-3.37.3-1.0.fc27.x86_64 nss-softokn-freebl-3.37.3-1.0.fc27.x86_64 nss-util-3.37.3-1.0.fc27.x86_64 openldap-2.4.45-4.fc27.x86_64 openssl-libs-1.1.0h-3.fc27.x86_64 pcre2-10.31-4.fc27.x86_64 systemd-libs-234-11.git5f8984e.fc27.x86_64 xz-libs-5.2.3-4.fc27.x86_64 (gdb) bt #0 0x00007ffff68e2660 in raise () from /lib64/libc.so.6 #1 0x00007ffff68e3c41 in abort () from /lib64/libc.so.6 #2 0x00007ffff68daf7a in __assert_fail_base () from /lib64/libc.so.6 #3 0x00007ffff68daff2 in __assert_fail () from /lib64/libc.so.6 #4 0x000055555588a52e in zend_string_destroy (str=0x7fffe3d08b18, __zend_filename=0x5555559ce468 "/home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h", __zend_lineno=12424) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73 #5 0x000055555588a4a4 in _zval_dtor_func (p=0x7fffe3d08b18, __zend_filename=0x5555559ce468 "/home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h", __zend_lineno=12424) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:67 #6 0x00005555558e8ec5 in _zval_ptr_dtor_nogc (zval_ptr=0x7ffff60206b0, __zend_filename=0x5555559ce468 "/home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h", __zend_lineno=12424) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.h:40 #7 0x000055555590a8a5 in ZEND_FREE_SPEC_TMPVAR_HANDLER () at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h:12424 #8 0x00005555559605c9 in execute_ex (ex=0x7ffff6020030) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h:55857 #9 0x00005555559646d1 in zend_execute (op_array=0x7ffff607d700, return_value=0x0) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h:59895 #10 0x000055555588e3c8 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend.c:1564 #11 0x00005555557fc9b0 in php_execute_script (primary_file=0x7fffffffdf10) at /home/builduser/rpmbuild/BUILD/php-7.3.0/main/main.c:2467 #12 0x0000555555967082 in do_cli (argc=4, argv=0x555555d1a100) at /home/builduser/rpmbuild/BUILD/php-7.3.0/sapi/cli/php_cli.c:1011 #13 0x000055555596803d in main (argc=4, argv=0x555555d1a100) at /home/builduser/rpmbuild/BUILD/php-7.3.0/sapi/cli/php_cli.c:1404there a 3 codelines in the whole codebase containing "&openmenu=" from the last gdb-output which are basically "use rope instead of concat" $openstr = "&openmenu={$local_row['hid']}{$addlang}"; $openstr2 = "&openmenu={$openmenu}{$addlang}"; $open_part = "&openmenu={$sid}{$langadd}"; Program received signal SIGABRT, Aborted. 0x00007ffff68e2660 in raise () from /lib64/libc.so.6 Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-24.fc27.x86_64 cyrus-sasl-lib-2.1.26-34.fc27.x86_64 expat-2.2.5-1.fc27.x86_64 fontconfig-2.12.6-4.fc27.x86_64 freetype-2.8-8.fc27.x86_64 gd-2.2.5-3.fc27.x86_64 jbigkit-libs-2.1-8.fc27.x86_64 keyutils-libs-1.5.10-3.fc27.x86_64 krb5-libs-1.15.2-9.fc27.x86_64 libX11-1.6.5-4.fc27.x86_64 libXau-1.0.8-9.fc27.x86_64 libXpm-3.5.12-4.fc27.x86_64 libcom_err-1.43.5-2.fc27.x86_64 libcrypt-nss-2.26-28.fc27.x86_64 libcurl-7.55.1-12.fc27.x86_64 libgcc-7.3.1-5.fc27.x86_64 libgomp-7.3.1-5.fc27.x86_64 libicu-57.1-9.fc27.x86_64 libidn2-2.0.5-1.fc27.x86_64 libjpeg-turbo-1.5.3-1.fc27.x86_64 libnghttp2-1.31.1-1.fc27.x86_64 libpng-1.6.31-1.fc27.x86_64 libpsl-0.18.0-3.fc27.x86_64 libselinux-2.7-3.fc27.x86_64 libssh2-1.8.0-5.fc27.x86_64 libstdc++-7.3.1-5.fc27.x86_64 libtidy-5.4.0-3.fc27.x86_64 libtiff-4.0.9-10.fc27.x86_64 libunistring-0.9.10-1.fc27.x86_64 libwebp-1.0.0-1.fc27.x86_64 libxcb-1.12-5.fc27.x86_64 libxml2-2.9.7-1.fc27.x86_64 libzip-1.3.2-1.fc27.x86_64 nspr-4.19.0-1.fc27.x86_64 nss-3.37.3-1.0.fc27.x86_64 nss-softokn-freebl-3.37.3-1.0.fc27.x86_64 nss-util-3.37.3-1.0.fc27.x86_64 openldap-2.4.45-4.fc27.x86_64 openssl-libs-1.1.0h-3.fc27.x86_64 pcre2-10.31-4.fc27.x86_64 systemd-libs-234-11.git5f8984e.fc27.x86_64 xz-libs-5.2.3-4.fc27.x86_64 (gdb) f 4 #4 0x000055555588a52e in zend_string_destroy (str=0x7fffe3d08b18, __zend_filename=0x5555559ce468 "/home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h", __zend_lineno=12424) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73 73 ZEND_ASSERT(!ZSTR_IS_INTERNED(str)); (gdb) p (char*)str->val $1 = 0x7fffe3d08b30 "&openmenu="Can't say if it's *the* issue, but at least an issue is this: <?php "x{$a}y"; Crashes under opcache. Reason is that the ROPE_END is optimized away as dead code, leading to a FREE on ROPE_ADD, which is illegal. I think something similar to this would also cause your case.@rhsoft: Thanks. From that code it seems pretty clear that this is really the DCE bug mentioned above. The variable $openstr2 = "&openmenu={$openmenu}{$addlang}"; is not used anywhere, so it will be DCEd together with the rope expression.as nikic said. a short reproduciable script is: <?php function test() { $addlang = ''; $openstr2 = "&openmenu={$openmenu}{$addlang} \""; } test('1');$openstr2 = "&openmenu={$openmenu}{$addlang}"; is not used anywhere, so it will be DCEd together with the rope hell, yeah, that line is obsolete, now the testsuite crashes in a different file can we have a php.ini option to trigger warnings in error_log when DCE steps in but without crashes :-) seriouslyin the current case there are additional outputs which maybe are helpful for you guys In function cl_podcast_eintraege::edit (before dfa): var 11 (TMP) has array key type but not value type var 12 (TMP) has array key type but not value type var 14 (TMP) has array key type but not value type var 15 (CV $old_data) has array key type but not value type In function cl_podcast_eintraege::edit (after sccp): var 11 (TMP) has array key type but not value type var 12 (TMP) has array key type but not value type var 14 (TMP) has array key type but not value type var 15 (CV $old_data) has array key type but not value type In function cl_podcast_eintraege::edit (after calls): var 11 (TMP) has array key type but not value type var 12 (TMP) has array key type but not value type var 14 (TMP) has array key type but not value type var 15 (CV $old_data) has array key type but not value type In function cl_podcast_eintraege::edit (after dce): var 11 (TMP) has array key type but not value type var 12 (TMP) has array key type but not value type var 14 (TMP) has array key type but not value type var 15 (CV $old_data) has array key type but not value type In function cl_podcast_eintraege::edit (after dfa): var 11 (TMP) has array key type but not value type var 12 (TMP) has array key type but not value type var 14 (TMP) has array key type but not value type var 15 (CV $old_data) has array key type but not value type php: /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73: zend_string_destroy: Assertion `!(zval_gc_flags((str)->gc.u.type_info) & (1<<6))' failed. Program received signal SIGABRT, Aborted. 0x00007ffff68e2660 in raise () from /lib64/libc.so.6 Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.6-24.fc27.x86_64 cyrus-sasl-lib-2.1.26-34.fc27.x86_64 expat-2.2.5-1.fc27.x86_64 fontconfig-2.12.6-4.fc27.x86_64 freetype-2.8-8.fc27.x86_64 gd-2.2.5-3.fc27.x86_64 jbigkit-libs-2.1-8.fc27.x86_64 keyutils-libs-1.5.10-3.fc27.x86_64 krb5-libs-1.15.2-9.fc27.x86_64 libX11-1.6.5-4.fc27.x86_64 libXau-1.0.8-9.fc27.x86_64 libXpm-3.5.12-4.fc27.x86_64 libcom_err-1.43.5-2.fc27.x86_64 libcrypt-nss-2.26-28.fc27.x86_64 libcurl-7.55.1-12.fc27.x86_64 libgcc-7.3.1-5.fc27.x86_64 libgomp-7.3.1-5.fc27.x86_64 libicu-57.1-9.fc27.x86_64 libidn2-2.0.5-1.fc27.x86_64 libjpeg-turbo-1.5.3-1.fc27.x86_64 libnghttp2-1.31.1-1.fc27.x86_64 libpng-1.6.31-1.fc27.x86_64 libpsl-0.18.0-3.fc27.x86_64 libselinux-2.7-3.fc27.x86_64 libssh2-1.8.0-5.fc27.x86_64 libstdc++-7.3.1-5.fc27.x86_64 libtidy-5.4.0-3.fc27.x86_64 libtiff-4.0.9-10.fc27.x86_64 libunistring-0.9.10-1.fc27.x86_64 libwebp-1.0.0-1.fc27.x86_64 libxcb-1.12-5.fc27.x86_64 libxml2-2.9.7-1.fc27.x86_64 libzip-1.3.2-1.fc27.x86_64 nspr-4.19.0-1.fc27.x86_64 nss-3.37.3-1.0.fc27.x86_64 nss-softokn-freebl-3.37.3-1.0.fc27.x86_64 nss-util-3.37.3-1.0.fc27.x86_64 openldap-2.4.45-4.fc27.x86_64 openssl-libs-1.1.0h-3.fc27.x86_64 pcre2-10.31-4.fc27.x86_64 systemd-libs-234-11.git5f8984e.fc27.x86_64 xz-libs-5.2.3-4.fc27.x86_64 (gdb) f 4 #4 0x000055555588a52e in zend_string_destroy (str=0x7fffe3c7e6e0, __zend_filename=0x5555559ce4a8 "/home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_vm_execute.h", __zend_lineno=12424) at /home/builduser/rpmbuild/BUILD/php-7.3.0/Zend/zend_variables.c:73 73 ZEND_ASSERT(!ZSTR_IS_INTERNED(str)); (gdb) p (char*)str->val $1 = 0x7fffe3c7e6f8 "http://localhost"this one is indeed fixed now bu topcache obviously ha still terrible problems given that with opcache disabled the complete testsuite runs without any warning hell, how can that lead to Duplicate column name 'pal_field1' /** * Ziel-Tabelle neu anlegen * * @param bool $only_if_not_exists * @param bool $tmp * @return void * @access private */ private function create_clear_table($only_if_not_exists=false, $tmp=false): void { /** Wenn angegeben abrechen falls Tabelle existiert */ if($only_if_not_exists) { if($this->cl_api->db->table_exists($this->get_table_name($tmp))) { return; } } /** Datenfeld-Array generieren */ $field_array = [ ['name'=>'pal_id'], ['name'=>'pal_kat', 'type'=>'varchar', 'length'=>255, 'unsigned'=>1] ]; for($i=1; $i<=$this->maxfield; $i++) { if($i == 4 || $i == 6 || $i == 12 || $i == 13) { $type = 'text'; } else { $type = 'varchar'; } $field_array[] = ['name'=>"pal_field{$i}", 'type'=>$type, 'length'=>255, 'unsigned'=>1]; } $field_array[] = ['name'=>'pal_checksum', 'type'=>'varchar', 'length'=>255, 'unsigned'=>1]; $field_array[] = ['name'=>'pal_timestamp', 'type'=>'int', 'length'=>10, 'unsigned'=>1]; /** Tabelle erzeugen und wenn bereits vorhanden im Vorfeld loeschen */ $this->cl_api->db->create_table ( /**$name*/$this->get_table_name($tmp), /**$field_array*/$field_array, /**$key_array*/ [ 'pal_key' => ['type'=>'key', 'fields'=>['pal_kat']], 'pal_fulltext' => ['type'=>'fulltext', 'fields'=>['pal_field2', 'pal_field3', 'pal_field4', 'pal_field5', 'pal_field6', 'pal_field12']], 'import_key' => ['type'=>'unique', 'fields'=>[$this->artikel_nr_field, 'pal_checksum']], ], /**$drop_if_exists*/1 ); } DATABASE-ERROR 1060: localhost/autotest.php - /cms/cms/modules/pal/api_pal.php line 567 (parent call: /cms/cms/modules/pal/api_pal.php on line 645): create table `cl_autotest_pal_zsp_stock_tmp` (`pal_id` mediumint(7) unsigned not null auto_increment, `pal_kat` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not null default '', `pal_field1` varchar(255) not n - Duplicate column name 'pal_field1' - 127.0.0.1