View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002244 | Xdebug | Uncategorized | public | 2024-02-08 09:39 | 2026-05-06 15:31 |
| Reporter | asifnawaz | Assigned To | |||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | resolved | Resolution | won't fix | ||
| Platform | WSL2 and Docker | OS | Ubuntu | OS Version | 22.04 |
| Product Version | 3.3.1 | ||||
| Summary | 0002244: xDebug 3.3.x crashes Apache on Ubuntu 22.04 via WSL2; PHP 8.1, seeking resolution. | ||||
| Description | Hello xDebug Team, We've encountered recent issues with version 3.3.x. When enabling the PHP debug extension via the ini file, our PHP crashes (our custom hostname becomes inaccessible, though localhost remains accessible) with Apache, despite the CLI version working fine. Versions equal to or before 3.2.x function without any problems; it's only the latest xDebug version causing issues. Though we don't have extensive logs, one of our developers encountered segfault errors when enabling the latest xDebug version. Our development environment consists of: Platform: Windows Subsystem for Linux (WSL2) ionCube PHP Loader v13.0.2 | ||||
| Tags | No tags attached. | ||||
| Operating System | Ubuntu 22.04 | ||||
| PHP Version | 8.2.20-8.2.29 | ||||
|
|
Hi, I can confirm that I am also seeing segmentation fault error and I have attached the logs. |
|
|
Your Beyond that, I need a way to reproduce this, and your issues doesn't tell me how. I think this could be the same issue as 0002235. |
|
|
Apologies for the confusion. I had initially thought the extension was functioning properly as it was loaded on CLI. However, upon executing the index.php file, I observed errors. We are using the WHMCS software within a Docker container, and the files are encrypted with Ioncube. |
|
|
Xdebug does not support being loaded at the same time as ionCube: https://xdebug.org/docs/compat#compat |
|
|
Hi, |
|
|
Xdebug is still not compatible with ionCube. If there is a new incompatibility, please reach out to the ionCube support team. As they are a paid-for-proprietary project without source code available, I can do nothing on my side to investigate. If they find a problem, I am more than happy to look at a patch if they want to provide it. |
|
|
Hi there, First of all, thank you derick for this awesome tool! I've the same issue of asifnawaz with a similar stack:
I'm using a docker image: php:8.3-fpm-bookworm and php:8.4-fpm-bookworm. Instead with php:8.1-fpm I've no issue. I've this stack httpd:alpine (with proxy pass) => php-fpm I’m attaching a Codex analysis of this segmentation fault, in case it’s of interest to anyone. I’ll also try to contact ionCube support and reference this case. Native backtraceCaptured with gdb on PHP 8.3: Program received signal SIGSEGV, Segmentation fault. A second run showed: #0 zend_string_copy (s=0x0) at /usr/local/include/php/Zend/zend_string.h:216 So Xdebug appears to dereference a null string while building the stack frame. Additional observationsI understand ionCube may be modifying execution metadata in unsupported ways, but from Xdebug’s side this results in a hard segfault inside xdebug_add_stack_frame(). |
|
|
Response from ionCube Support: Hi, Thanks for creating a ticket. This incompatibility is already known and there is no workaround for it. The only way around this would be for the ionCube Loader to disable the internal Observer API (which Xdebug uses) which would mean that Xdebug would effectively be uninstalled. Apart from that we would have to completely re-engineer our encoding format since the problem stems from the byte code of encoded functions being in a different format from the "standard" byte code of functions in PHP after compilation. Kind regards, -- |