JIT: SEGV in exception handler stub after OOM inside an output-buffer callback
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 42/100
Rechercherichtung
Start by reproducing the crash with the supplied PHP script and CLI command, with JIT tracing enabled and a 16M memory limit. Then trace the exception handler stub reached after the output-buffer callback runs out of memory. Done when the reproducer no longer crashes and a regression test covers the failure.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
The following code:
<?php
$o = new stdClass;
ob_start(function ($buffer) use (&$storage) {
$storage .= $buffer;
return '';
}, 1);
while ($o < 10);
Resulted in this output:
==3128836==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000001f (pc 0x0000484f1049 bp 0x7ffeced13390 sp 0x7ffeced132b0 T0)
==3128836==The signal is caused by a READ memory access.
==3128836==Hint: address points to the zero page.
#0 0x484f1049 (/dev/zero (deleted)+0x8000049)
SUMMARY: AddressSanitizer: SEGV (/dev/zero (deleted)+0x8000049)
To reproduce: USE_ZEND_ALLOC=1 ./sapi/cli/php -d memory_limit=16M -d opcache.enable_cli=1 -d opcache.jit=tracing -d opcache.jit_buffer_size=64M -d opcache.file_update_protection=0 test.php
Commit:
33a61f765a94e018a8d55d962a73e8c8331ee256
Configurations:
CC="clang-12" CXX="clang++-12" CFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" CXXFLAGS="-DZEND_VERIFY_TYPE_INFERENCE" ./configure --enable-debug --enable-address-sanitizer --enable-undefined-sanitizer --enable-re2c-cgoto --enable-zts --enable-bcmath --enable-calendar --enable-dba --enable-dl-test --enable-exif --enable-ftp --enable-gd --enable-gd-jis-conv --enable-mbstring --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-zend-test --with-zlib --with-bz2 --with-curl --with-enchant --with-gettext --with-gmp --with-mhash --with-ldap --with-libedit --with-readline --with-snmp --with-sodium --with-xsl --with-zip --with-mysqli --with-pdo-mysql --with-pdo-pgsql --with-pgsql --with-sqlite3 --with-pdo-sqlite --with-webp --with-jpeg --with-freetype --enable-sigchild --with-pcre-jit --with-iconv
Operating System:
Ubuntu 20.04 Host, Docker 0599jiangyc/flowfusion:latest
This report is automatically generated by FlowFusion
PHP Version
nightly
Operating System
No response
- Vorherrschende Sprache
- C
- Sterne
- 41.8k
- Forks
- 8.5k
- Ø Merge
- 2 T. 12 Std.
- Gemergte PRs (30 T.)
- 137
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus php/php-src
-
SNMP accepts malformed remote portsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 62/100
php/php-src#25137 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
Maintainer antworten meist innerhalb von 1 Tag
-
quoted_printable_encode() produces lines longer than 76 characters for bytes 0xF5 to 0xFFEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
php/php-src#24196 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Feature Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
php/php-src#24183 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
enhancement good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
bug multiplayer status: planned
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
ChupathingyCE/chupathingyce#851 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
HigherOrderCO/Bend#2104 ·
-
research-radar
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue help wanted program
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 83/100
hffgzktbcc-blip/ounce-core#297 ·
Maintainer antworten meist innerhalb von 1 Tag