Segmentation fault (stack overflow) in Zend
Offen
Dieses Issue hat noch niemand übernommen.
Bug
Category: Engine
Status: Verified
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The following code:
<?php
function test($vars) {
}
function foo() {
foreach ($array as $value) {
try {
try {
foreach ($array as $_) {
}
} finally {
throw new Exception;
}
} catch (Exception $e) { }
}
}
for ($i=0; $fusion < 550; $i++) {
$array = array($array);
}
Resulted in this output:
Segmentation fault (core dumped)
this seems to crash very old php like php 5.5
PHP Version
PHP 8.4.0-dev
Operating System
ubuntu 22.04
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es wird keine Quelldatei oder kein Test genannt. Reproduziere zuerst den segmentation fault unter PHP 8.4.0-dev auf Ubuntu 22.04 mit dem bereitgestellten verschachtelten foreach/try-finally-Code und der rekursiven Array-Konstruktion und verfolge anschließend den beteiligten Zend-Ausführungspfad; als erledigt gilt die Aufgabe, wenn der Reproducer nicht mehr abstürzt und ein Regressionstest dies abdeckt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100