Dockerfile icon indicating copy to clipboard operation
Dockerfile copied to clipboard

Segmentation Fault with Symfony Commands Using webdevops/php-nginx-dev:8.2 Image

Open Cepulis opened this issue 1 year ago • 4 comments

I'm encountering a segmentation fault when running Symfony commands using the webdevops/php-nginx-dev:8.2 image. The error message is as follows:

Program received signal SIGSEGV, Segmentation fault.
0x000055c10020b86b in zend_observer_fcall_end_all ()

Interestingly, the segmentation fault disappears when ionCube is disabled.

Cepulis avatar Jul 10 '24 14:07 Cepulis

I'm encountering a segmentation fault when running Symfony commands using the webdevops/php-nginx-dev:8.2 image. The error message is as follows:

Program received signal SIGSEGV, Segmentation fault.
0x000055c10020b86b in zend_observer_fcall_end_all ()

Interestingly, the segmentation fault disappears when ionCube is disabled.

Just tested and deactivating ionCube resolves the issue.

eotin avatar Jul 12 '24 07:07 eotin

Hi,

On my side I have more and more of these issues (with symfony too):

 AH01067: Failed to read FastCGI header

I was wondering if this is the same issue, tried to disable ioncube with PHP_DISMOD=ioncube to see if it fix like the segfault.

Thanks for the tips

nitrique avatar Oct 09 '24 10:10 nitrique

Hello,

also The issue is present with the tideways module, so you may need to deactivate it too.

So sad to see these php apache images with no real support or bug fix since months.

Is there someone out there who may plan to work on improving and fixing these images please ?

lasdou avatar Nov 05 '24 12:11 lasdou

I added this comment to #531 as well, but I'll add it here in case it helps anyone else:

I was able to narrow down a segfault I've been getting to calls to ReflectionAttribute::newInstance() on attributes which have a constructor. Somehow, disabling ionCube in this image fixed the segfaults.

Here's a script that works for me to reproduce the issue:

<?php

#[Attribute()]
class Example {
    public function __construct() {
    }
}

class Foo {
    #[Example]
    public int $bar;
}


$foo = new Foo;
$reflection = new ReflectionObject($foo);
$properties = $reflection->getProperties();
foreach ($properties as $property) {
    $attributes = $property->getAttributes();
    foreach ($attributes as $attribute) {
        $attribute->newInstance(); // Segfault here
    }
}
echo 'OK' . PHP_EOL;

The above script will segfault on the call to $attribute->newInstance(); when ionCube is enabled, but will work fine with it disabled via PHP_DISMOD=ioncube.

marcusball avatar Jan 10 '25 21:01 marcusball