[php-src] Issue #20842: Stack overflow from recursive `AppendIterator` self-reference

[email protected] (bendrissou)
Newsgroups php.bugs
Message-ID <[email protected]>
Issue: https://github.com/php/php-src/issues/20842
Author: bendrissou

### Description

The following code:

```php
<?php
$array_a = new ArrayIterator(array('a', 'b', 'c'));
$array_b = new ArrayIterator(array('d', 'e', 'f'));

$iterator = new AppendIterator;
$iterator->append($iterator)->append($array_a);

$iterator2 = new AppendIterator;
$iterator2->append($iterator);
$iterator2->append($array_b);

foreach ($iterator2 as $current) {
    echo $current;
}
?>
<?php
```

Resulted in this output:
```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==2764114==ERROR: AddressSanitizer: stack-overflow on address 0x7fff10712f30 (pc 0x563016dc61ef bp 0x7fff10713070 sp 0x7fff10712ea0 T0)
    #0 0x563016dc61ee in zend_call_function /home/php-src/Zend/zend_execute_API.c:810
    #1 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #2 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #3 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #4 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #5 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #6 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #7 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #8 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #9 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #10 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #11 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #12 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #13 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #14 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #15 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #16 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #17 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #18 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #19 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #20 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #21 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #22 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #23 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #24 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #25 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #26 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #27 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #28 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #29 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #30 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #31 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #32 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #33 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #34 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #35 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #36 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #37 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #38 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #39 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #40 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #41 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #42 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #43 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #44 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #45 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #46 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #47 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #48 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #49 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #50 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #51 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #52 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #53 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #54 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #55 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #56 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #57 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #58 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #59 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #60 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #61 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #62 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #63 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #64 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #65 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #66 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #67 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #68 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #69 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #70 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #71 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #72 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #73 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #74 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #75 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #76 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #77 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #78 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #79 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #80 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #81 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #82 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #83 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #84 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #85 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #86 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #87 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #88 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #89 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #90 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #91 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #92 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #93 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #94 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #95 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #96 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #97 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #98 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #99 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #100 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #101 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #102 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #103 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #104 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #105 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #106 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #107 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #108 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #109 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #110 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #111 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #112 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #113 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #114 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #115 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #116 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #117 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #118 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #119 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #120 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #121 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #122 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #123 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #124 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #125 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #126 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #127 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #128 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #129 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #130 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #131 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #132 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #133 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #134 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #135 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #136 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #137 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #138 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #139 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #140 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #141 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #142 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #143 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #144 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #145 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #146 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #147 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #148 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #149 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #150 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #151 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #152 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #153 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #154 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #155 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #156 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #157 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #158 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #159 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #160 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #161 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #162 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #163 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #164 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #165 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #166 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #167 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #168 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #169 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #170 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #171 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #172 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #173 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #174 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #175 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #176 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #177 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #178 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #179 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #180 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #181 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #182 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #183 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #184 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #185 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #186 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #187 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #188 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #189 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #190 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #191 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #192 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #193 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #194 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #195 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #196 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #197 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #198 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #199 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #200 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #201 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #202 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #203 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #204 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #205 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #206 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #207 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #208 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #209 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #210 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #211 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #212 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #213 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #214 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #215 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #216 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #217 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #218 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #219 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #220 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #221 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #222 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #223 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #224 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #225 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #226 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #227 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #228 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #229 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #230 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #231 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #232 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #233 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #234 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #235 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #236 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #237 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #238 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #239 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #240 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #241 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #242 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #243 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #244 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #245 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #246 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #247 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #248 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #249 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #250 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #251 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #252 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #253 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #254 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #255 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #256 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #257 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #258 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #259 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #260 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #261 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #262 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #263 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #264 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #265 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #266 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #267 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #268 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #269 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #270 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #271 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #272 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #273 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #274 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #275 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #276 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #277 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #278 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #279 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #280 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #281 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #282 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #283 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #284 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #285 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #286 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #287 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #288 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #289 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #290 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #291 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #292 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #293 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #294 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #295 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #296 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #297 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #298 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #299 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #300 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #301 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #302 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #303 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #304 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #305 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #306 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #307 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #308 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #309 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #310 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #311 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #312 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #313 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #314 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #315 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #316 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #317 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #318 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #319 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #320 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #321 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #322 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #323 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #324 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #325 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #326 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #327 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #328 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #329 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #330 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #331 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #332 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #333 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #334 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #335 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #336 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #337 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #338 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #339 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #340 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #341 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #342 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #343 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #344 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #345 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #346 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #347 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #348 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #349 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #350 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #351 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #352 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #353 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #354 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #355 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #356 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #357 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #358 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #359 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #360 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #361 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #362 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #363 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #364 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #365 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #366 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #367 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #368 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #369 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #370 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #371 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #372 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #373 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #374 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #375 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #376 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #377 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #378 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #379 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #380 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #381 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #382 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #383 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #384 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #385 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #386 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #387 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #388 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #389 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #390 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788
    #391 0x563016690161 in zim_AppendIterator_rewind /home/php-src/ext/spl/spl_iterators.c:2877
    #392 0x563016dc7a02 in zend_call_function /home/php-src/Zend/zend_execute_API.c:1025
    #393 0x563016dca569 in zend_call_known_function /home/php-src/Zend/zend_execute_API.c:1104
    #394 0x5630171b6cda in zend_call_known_instance_method /home/php-src/Zend/zend_API.h:860
    #395 0x5630171b6cda in zend_call_known_instance_method_with_0_params /home/php-src/Zend/zend_API.h:866
    #396 0x5630171b6cda in zend_user_it_rewind /home/php-src/Zend/zend_interfaces.c:181
    #397 0x563016683ea4 in spl_dual_it_rewind /home/php-src/ext/spl/spl_iterators.c:1471
    #398 0x563016683ea4 in spl_append_it_next_iterator /home/php-src/ext/spl/spl_iterators.c:2788

SUMMARY: AddressSanitizer: stack-overflow /home/php-src/Zend/zend_execute_API.c:810 in zend_call_function
==2764114==ABORTING

```

But I expected this output instead:
```
abcdef
```


### PHP Version

```plain
PHP 8.6.0-dev (cli) (built: Jan  5 2026 18:19:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.6.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v8.6.0-dev, Copyright (c), by Zend Technologies
```

### Operating System

Ubuntu 20.04
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.