php / php/php-src

Segfault while assigning property

Ouverte
#11,656 12 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Bug Status: Needs Triage
Langage dominant
C
Étoiles
40.4k
Forks
8.1k
Merge moyen
2 j 13 h
PR mergées (30 j)
96

Description

Description

We're using guzzlehttp/guzzle 7.5.0.

PHP config: https://paste.daniil.it/config

gdb backtrace:

(gdb) backtrace
#0  0x000056330533d16a in ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_OP_DATA_CV_HANDLER () at ./Zend/zend_vm_execute.h:32960
#1  0x000056330534b898 in execute_ex (ex=0x50) at ./Zend/zend_vm_execute.h:58929
#2  0x000056330536bc5c in zend_generator_resume (orig_generator=0x7faf2dceabc0) at ./Zend/zend_generators.c:770
#3  0x000056330536cf59 in zend_generator_ensure_initialized (generator=0x7faf2dceabc0) at ./Zend/zend_generators.c:826
#4  zend_generator_ensure_initialized (generator=0x7faf2dceabc0) at ./Zend/zend_generators.c:823
#5  zim_Generator_current (execute_data=<optimized out>, return_value=0x7faf2dc14eb0) at ./Zend/zend_generators.c:881
#6  0x0000563305353d1b in ZEND_DO_FCALL_SPEC_RETVAL_USED_HANDLER () at ./Zend/zend_vm_execute.h:1951
#7  execute_ex (ex=0x50) at ./Zend/zend_vm_execute.h:56068
#8  0x0000563305355701 in zend_execute (op_array=0x7faf2dc7e000, return_value=0x0) at ./Zend/zend_vm_execute.h:60396
#9  0x00005633052e2e55 in zend_execute_scripts (type=type@entry=8, retval=retval@entry=0x0, file_count=file_count@entry=3) at ./Zend/zend.c:1827
#10 0x000056330527e3fa in php_execute_script (primary_file=<optimized out>) at ./main/main.c:2542
#11 0x00005633053cc50a in do_cli (argc=9, argv=0x5633073e9170) at ./sapi/cli/php_cli.c:964
#12 0x000056330510ec5b in main (argc=9, argv=0x5633073e9170) at ./sapi/cli/php_cli.c:1333

gdb zbacktrace:

(gdb) zbacktrace
[0x7faf2dc151b0] GuzzleHttp\HandlerStack->setHandler(object[0x7faf2dc15200]) /zoon/zoon/vendor/guzzlehttp/guzzle/src/HandlerStack.php:116
[0x7faf2dc15100] Zoon\Queue\KafkaProxy\Consumer->getClient() /zoon/zoon/vendor/zoon/queue/src/KafkaProxy/Consumer.php:290
[0x7faf2dc15050] Zoon\Queue\KafkaProxy\Consumer->__construct(array(10)[0x7faf2dc150a0], object[0x7faf2dc150b0], object[0x7faf2dc150c0], object[0x7faf2dc150d0], array(6)[0x7faf2dc150e0])
/zoon/zoon/vendor/zoon/queue/src/KafkaProxy/Consumer.php:62
[0x7faf2dc14fc0] Zoon\Queue\KafkaProxy\Context->createConsumer(object[0x7faf2dc15010]) /zoon/zoon/vendor/zoon/queue/src/KafkaProxy/Context.php:68
[0x7faf2dc14f30] Zoon\Queue\Driver\KafkaPixy->getConsumer("Z\Module\Parser\Controller\Queue\ZextMatcherMatchFixer") /zoon/zoon/vendor/zoon/queue/src/Driver/KafkaPixy.php:140
[0x7faf20eb06e0] Zoon\Queue\Driver\KafkaPixy->consume("Z\Module\Parser\Controller\Queue\ZextMatcherMatchFixer") /zoon/zoon/vendor/zoon/queue/src/Driver/KafkaPixy.php:76
[0x7faf2dceac78] ???
[0x7faf2dc14ee0] Generator->current() [internal function]
[0x7faf2dc14e00] Zoon\Queue\ConsumerJsonRPC->run(290000) /zoon/zoon/vendor/zoon/queue/src/ConsumerJsonRPC.php:100
// more stuff

I can DM the coredump if needed.

ref: compressed_coredump-php.168655.1688664312

PHP Version

PHP 8.2.7

Operating System

Ubuntu 20.04, ondrej repos

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par la sortie fournie de GDB et zbacktrace, le lien de configuration PHP et l’affectation dans vendor/guzzlehttp/guzzle/src/HandlerStack.php:116. Reproduisez le chemin du générateur si possible et examinez Zend/zend_vm_execute.h ainsi que Zend/zend_generators.c ; c’est terminé lorsque la cause du crash est isolée et qu’un correctif vérifié ou un test de régression existe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
php
Domaine
backend
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.