stack overflow in JIT
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza reproduciendo el stack overflow con el programa PHP y el comando JIT proporcionados. Lee Zend/zend_objects.c alrededor de la línea 77 y Zend/zend_objects_API.c alrededor de la línea 193, donde se repite el sanitizer trace. El trabajo estará terminado cuando el reproducer ya no aborte con un stack overflow y el comportamiento de destrucción de objetos esté cubierto por una prueba de regresión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
The following code:
<?php
class N { public $n; }
$o=null;
for($i=0;$i<1000000;$i++){ $x=new N; $x->n=$o; $o=$x; }
$o=null;
Resulted in this output:
_store_del /home/php-src/Zend/zend_objects_API.c:193
#344 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#345 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#346 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#347 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#348 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#349 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#350 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#351 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#352 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#353 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#354 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#355 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#356 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#357 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#358 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#359 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#360 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#361 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#362 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#363 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#364 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#365 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#366 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#367 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#368 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#369 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
#370 0x55ed1181c2b8 in zend_objects_store_del /home/php-src/Zend/zend_objects_API.c:193
#371 0x55ed1181d414 in zend_object_dtor_property /home/php-src/Zend/zend_objects.c:64
#372 0x55ed1181d414 in zend_object_std_dtor /home/php-src/Zend/zend_objects.c:94
SUMMARY: AddressSanitizer: stack-overflow /home/php-src/Zend/zend_objects.c:77 in zend_object_std_dtor
==34==ABORTING
USE_ZEND_ALLOC=0 .php -d "opcache.enable=1" -d "opcache.enable_cli=1" -d "opcache.jit=tracing" -d "opcache.jit_hot_loop=1" -d "opcache.jit_hot_func=1" poc.php
PHP Version
8.6.0
Operating System
ubuntu 22.04
- Lenguaje dominante
- C
- Estrellas
- 40.4k
- Forks
- 8.2k
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 115
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de php/php-src
-
Bug Status: Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Bug Status: Needs Triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Bug Status: Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Flaky hrtime.phpt test AbiertoBug Category: Tests Status: Verified
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Bug SAPI: fpm Status: Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Todos los issues de php/php-src
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 60/100
-
Nmap
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
flang:fir-hlfir
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
llvm/llvm-project#225935 ·