Skip to content

Segfaults with Symfony 7.2 and PHP 8.4Β #1024

@mvanduijker

Description

@mvanduijker

Segfaults with Symfony 7.2 and PHP 8.4

Description

Looks like a combination with symfony request payload resolver and normalizer/serializer in PHP 8.4 with new relic enabled leads to segfaults. Using extension version 11.5.0.18 with PHP 8.4.4 and Symfony 7.2.3.
Using php 8.3 with the new relic extension the same code works. Using php 8.4 and new relic extension disabled also works. I guess there is something wrong with the latest extension of new relic.

Steps to Reproduce

Create a symfony project with an endpoint using MapQueryString with php 8.4

Expected Behavior

no segfaults

Relevant Logs / Console output

php-fpm log

Process 36 (version 11.5.0.18) received signal 11: segmentation violation
process id 1 fatal signal (SIGSEGV, SIGFPE, SIGILL, SIGBUS, ...)  - stack dump follows (code=0xffffb7960000 bss=0xffffb7a7e22c):
/usr/local/lib/php/extensions/no-debug-non-zts-20240924/newrelic.so(+0x7c194)[0xffffb79dc194]
/usr/local/lib/php/extensions/no-debug-non-zts-20240924/newrelic.so(+0x4ab24)[0xffffb79aab24]
linux-vdso.so.1(__kernel_rt_sigreturn+0x0)[0xffffbc059868]
php-fpm: pool www(+0x16249c)[0xaaaae49a249c]
php-fpm: pool www(execute_ex+0xbd30)[0xaaaae4de2860]
php-fpm: pool www(zend_execute+0x11c)[0xaaaae4dd51c0]
php-fpm: pool www(zend_execute_script+0x68)[0xaaaae4e41c68]
php-fpm: pool www(php_execute_script_ex+0x138)[0xaaaae4ccc908]
php-fpm: pool www(+0x166314)[0xaaaae49a6314]
/lib/aarch64-linux-gnu/libc.so.6(+0x27740)[0xffffbb327740]
/lib/aarch64-linux-gnu/libc.so.6(__libc_start_main+0x98)[0xffffbb327818]
php-fpm: pool www(_start+0x30)[0xaaaae49a6eb0]
PHP execution trace follows...
#0 Symfony\Component\TypeInfo\TypeIdentifier->from()
#1 Symfony\Component\TypeInfo\TypeResolver\ReflectionTypeResolver->resolve() called at [/var/www/vendor/symfony/type-info/TypeResolver/ReflectionParameterTypeResolver.php:42]
#2 Symfony\Component\TypeInfo\TypeResolver\ReflectionParameterTypeResolver->resolve() called at [/var/www/vendor/symfony/type-info/TypeResolver/TypeResolver.php:59]
#3 Symfony\Component\TypeInfo\TypeResolver\TypeResolver->resolve() called at [/var/www/vendor/symfony/property-info/Extractor/ReflectionExtractor.php:638]
#4 Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor->extractTypeFromConstructor() called at [/var/www/vendor/symfony/property-info/Extractor/ReflectionExtractor.php:236]
#5 Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor->getType() called at [/var/www/vendor/symfony/property-info/PropertyInfoExtractor.php:70]
#6 Symfony\Component\PropertyInfo\PropertyInfoExtractor->getType() called at [/var/www/vendor/symfony/property-info/PropertyInfoCacheExtractor.php:87]
#7 Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor->getType() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:990]
#8 Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->getPropertyType() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:960]
#9 Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->getType() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:929]
#10 Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->denormalizeParameter() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php:374]
#11 Symfony\Component\Serializer\Normalizer\AbstractNormalizer->instantiateObject() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:243]
#12 Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->instantiateObject() called at [/var/www/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php:339]
#13 Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer->denormalize() called at [/var/www/vendor/symfony/serializer/Serializer.php:220]
#14 Symfony\Component\Serializer\Serializer->denormalize() called at [/var/www/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php:191]
#15 Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver->mapQueryString() called at [/var/www/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php:126] declared at [/var/www/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php:185]
#16 Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver->onKernelControllerArguments() called at [/var/www/vendor/symfony/event-dispatcher/EventDispatcher.php:246] declared at [/var/www/vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php:100]
#17 Symfony\Component\EventDispatcher\EventDispatcher->{closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241}() called at [/var/www/vendor/symfony/event-dispatcher/EventDispatcher.php:206] declared at [/var/www/vendor/symfony/event-dispatcher/EventDispatcher.php:241]
#18 Symfony\Component\EventDispatcher\EventDispatcher->callListeners() called at [/var/www/vendor/symfony/event-dispatcher/EventDispatcher.php:56]
#19 Symfony\Component\EventDispatcher\EventDispatcher->dispatch() called at [/var/www/vendor/symfony/http-kernel/HttpKernel.php:178]
#20 Symfony\Component\HttpKernel\HttpKernel->handleRaw() called at [/var/www/vendor/symfony/http-kernel/HttpKernel.php:76]
#21 Symfony\Component\HttpKernel\HttpKernel->handle() called at [/var/www/vendor/symfony/http-kernel/Kernel.php:182]
#22 Symfony\Component\HttpKernel\Kernel->handle() called at [/var/www/vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35]
#23 Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run() called at [/var/www/vendor/autoload_runtime.php:29]
#24 require_once() called at [/var/www/public/index.php:5]
#25 unknown() called at [/var/www/public/index.php:5]

Your Environment

  • Docker image with 8.4.4-fpm-bookworm
  • Symfony 7.2.3

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsupportRedirect issue to support channels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions