View Issue Details

IDProjectCategoryView StatusLast Update
0002311XdebugUncategorizedpublic2025-01-08 10:49
Reporterstanilnytskyi Assigned Toderick  
PriorityhighSeveritycrashReproducibilityalways
Status assignedResolutionopen 
Product Version3.4.0 
Summary0002311: Segmentation fault on xdebug 3.4.0
Description

After upgrading from 3.2.1 to 3.4.0 some composer scripts are failing.

Steps To Reproduce

I attach my docker reproducer (just build container, all files and dependencies already included)
Just follow steps from REPRODUCER.md or see the video.

The docker:
https://drive.google.com/file/d/1JvYk4GBiiz9GTYtOZU6MBTkq5WwVY0F9/view?usp=drive_link

The video:
https://drive.google.com/file/d/1nMcMnA433IfLwJMB1GuGDQhIofNoyq9v/view?usp=sharing

I just run a script inside attached reproducer:

./vendor/bin/magento-patches -n status
Additional Information

Interestingly it work if xdebug mode is off

XDEBUG_MODE=off ./vendor/bin/magento-patches -n status

I tried to dig into the code and found it starts to fail after calling

$this->reviewAppliedAction->execute($input, $output, []); in \Magento\CloudPatches\Command\Process\ShowStatus::run

The method does not seem to be unusual, it's just a class like this: https://github.com/magento/magento-cloud-patches/blob/1.1.2/src/Command/Process/Action/ReviewAppliedAction.php

We upgraded form xdebug 3.2.1

The debugger config can be seen in ini files and .env.

We usually put xdebug into XDEBUG_MODE=develop,debug and enable listener on demand.

Tagscrash, segfault
Operating SystemLinux
PHP Version8.1.20-8.1.29

Activities

derick

2024-12-24 10:51

administrator   ~0007133

Please follow the instructions at https://xdebug.org/reporting-bugs while reporting bug reports.

This is however possibly a duplicate of https://bugs.xdebug.org/view.php?id=2307, which has reportedly been fixed with https://github.com/xdebug/xdebug/pull/987, and is part of the xdebug_3_4 branch on Github.

cheers,
Derick

stanilnytskyi

2024-12-24 12:02

reporter   ~0007134

Thanks for your reply,
What information can I provide in addition to attached reproducing environment?

I am not sure if this is exact duplicate of https://bugs.xdebug.org/view.php?id=2307
On my reproducer and my php + xdebug configs the code form that issue is not failing with segfault.
It do fails when I change mode and run as XDEBUG_MODE=develop,trace php test.php

To check if mentioned fix help should we to try to compile xdebug from latest xdebug_3_4 or wait for release of 3.4.1 ?

Screenshot 2024-12-24 125358.png (121,647 bytes)   
Screenshot 2024-12-24 125358.png (121,647 bytes)   

derick

2025-01-06 15:37

administrator   ~0007143

Xdebug 3.4.1 will be released imminently (an hour), so wait for that.

NicolasD

2025-01-07 11:35

reporter   ~0007145

On our side we still have the issue even after upgrading Xdebug to last release

PHP 8.3.15 (cli) (built: Dec 24 2024 22:23:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.15, Copyright (c) Zend Technologies
with Zend OPcache v8.3.15, Copyright (c), by Zend Technologies
with the ionCube PHP Loader v14.0.0, Copyright (c) 2002-2024, by ionCube Ltd.
with Xdebug v3.4.1, Copyright (c) 2002-2025, by Derick Rethans

derick

2025-01-07 15:21

administrator   ~0007146

@NicolasD — Xdebug does not support being loaded with ionCube at the same time. Can you disable that? And if you can still reproduce it, please create a new issue as it is likely different than this one.

stanilnytskyi

2025-01-08 10:49

reporter   ~0007147

I did some extended testing with my reproducer and xdebug 3.4.1

The issue still present
But it only fails for develop mode

Works OK:
XDEBUG_MODE=debug ./vendor/bin/magento-patches -n status

Works NOT OK:
XDEBUG_MODE=develop ./vendor/bin/magento-patches -n status

I use this env
XDEBUG_MODE=develop,debug

Current setup:

PHP 8.1.23 (cli) (built: Sep 20 2023 19:22:02) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.23, Copyright (c) Zend Technologies
with Zend OPcache v8.1.23, Copyright (c), by Zend Technologies
with Xdebug v3.4.1, Copyright (c) 2002-2025, by Derick Rethans
with blackfire v1.92.31~linux-x64-non_zts81, https://blackfire.io, by Blackfire

I wondered if XDEBUG_MODE=develop might conflict with other profilers like blackfire and spx due to function overloading or neighbors decorators overlapping. But it previously worked just fine to me.

I also followed some steps with GDB and got this result:

Starting program: /usr/local/bin/php ./vendor/bin/magento-patches -n status
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Patch details you can find on https://experienceleague.adobe.com/tools/commerce-quality-patches/index.html (search for patch id, ex. MDVA-30265)
Release notes https://experienceleague.adobe.com/docs/commerce-operations/tools/quality-patches-tool/release-notes.html
[Detaching after fork from child process 418]
[Detaching after fork from child process 419]

Program received signal SIGSEGV, Segmentation fault.
0x00007f01b125b929 in zval_from_stack_add_frame_variables (opa=0x7f01af72fc00, symbols=<optimized out>, edata=0x7f01b1415dc0,
frame=0x7f01b14621d0) at /tmp/pear/temp/xdebug/src/develop/stack.c:431
431 /tmp/pear/temp/xdebug/src/develop/stack.c: No such file or directory.

full output in gdb.txt

gdb.txt (13,468 bytes)   
#0  0x00007f01b125b929 in zval_from_stack_add_frame_variables (opa=0x7f01af72fc00, symbols=<optimized out>, edata=0x7f01b1415dc0, frame=0x7f01b14621d0) at /tmp/pear/temp/xdebug/src/develop/stack.c:431
        symbol_name = <optimized out>
        symbol = {value = {lval = 139645215238528, dval = 6.899390345546322e-310, counted = 0x7f01af72e980, str = 0x7f01af72e980, arr = 0x7f01af72e980, obj = 0x7f01af72e980, res = 0x7f01af72e980, ref = 0x7f01af72e980, ast = 0x7f01af72e980, zv = 0x7f01af72e980, ptr = 0x7f01af72e980, ce = 0x7f01af72e980, func = 0x7f01af72e980, ww = {w1 = 2943543680, w2 = 32513}}, u1 = {type_info = 266, v = {type = 10 '\n', type_flags = 1 '\001', u = {extra = 0}}}, u2 = {next = 32513, cache_slot = 32513, opline_num = 32513, lineno = 32513, num_args = 32513, fe_pos = 32513, fe_iter_idx = 32513, property_guard = 32513, constant_flags = 32513, extra = 32513}}
        j = 0
        variables = {value = {lval = 139645223140976, dval = 6.8993907359791295e-310, counted = 0x7f01afeb7e70, str = 0x7f01afeb7e70, arr = 0x7f01afeb7e70, obj = 0x7f01afeb7e70, res = 0x7f01afeb7e70, ref = 0x7f01afeb7e70, ast = 0x7f01afeb7e70, zv = 0x7f01afeb7e70, ptr = 0x7f01afeb7e70, ce = 0x7f01afeb7e70, func = 0x7f01afeb7e70, ww = {w1 = 2951446128, w2 = 32513}}, u1 = {type_info = 775, v = {type = 7 '\a', type_flags = 3 '\003', u = {extra = 0}}}, u2 = {next = 21931, cache_slot = 21931, opline_num = 21931, lineno = 21931, num_args = 21931, fe_pos = 21931, fe_iter_idx = 21931, property_guard = 21931, constant_flags = 21931, extra = 21931}}
#1  zval_from_stack_add_frame (output=0x7f01b127f490 <xdebug_globals+1008>, fse=0x55abc6ecd880, edata=0x7f01b1415dc0, add_local_vars=<optimized out>, params_as_values=<optimized out>) at /tmp/pear/temp/xdebug/src/develop/stack.c:467
        frame = <optimized out>
#2  0x00007f01b125bd5f in zval_from_stack (output=output@entry=0x7f01b127f490 <xdebug_globals+1008>, add_local_vars=add_local_vars@entry=true, params_as_values=params_as_values@entry=true) at /tmp/pear/temp/xdebug/src/develop/stack.c:495
        fse = 0x55abc6ecd880
        next_fse = 0x55abc6ecd970
        i = 12
#3  0x00007f01b125dfe3 in xdebug_develop_throw_exception_hook (exception=exception@entry=0x7f01af737840, file=file@entry=0x7f01af737898, line=line@entry=0x7f01af7378a8, code=code@entry=0x7f01af737888, code_str=code_str@entry=0x0, message=message@entry=0x7f01af737868) at /tmp/pear/temp/xdebug/src/develop/stack.c:1252
        exception_ce = 0x43af8060
        exception_trace = <optimized out>
        tmp_str = {l = 134520, a = 134706, d = 0x55abc6f1cd10 "\nSymfony\\Component\\Process\\Exception\\ProcessFailedException: The command \"'git' 'apply' '--check'\" failed.\n\nExit Code: 1(General error)\n\nWorking directory: /home/www/magento\n\nOutput:\n", '=' <repeats 16 times>, "\n"...}
        z_previous_exception = <optimized out>
        z_last_exception_slot = <optimized out>
        z_previous_trace = <optimized out>
        previous_exception_obj = <optimized out>
        dummy = {value = {lval = 1135575136, dval = 5.6104866296910138e-315, counted = 0x43af8060, str = 0x43af8060, arr = 0x43af8060, obj = 0x43af8060, res = 0x43af8060, ref = 0x43af8060, ast = 0x43af8060, zv = 0x43af8060, ptr = 0x43af8060, ce = 0x43af8060, func = 0x43af8060, ww = {w1 = 1135575136, w2 = 0}}, u1 = {type_info = 2943580224, v = {type = 64 '@', type_flags = 120 'x', u = {extra = 44915}}}, u2 = {next = 32513, cache_slot = 32513, opline_num = 32513, lineno = 32513, num_args = 32513, fe_pos = 32513, fe_iter_idx = 32513, property_guard = 32513, constant_flags = 32513, extra = 32513}}
#4  0x00007f01b12360c7 in xdebug_throw_exception_hook (exception=0x7f01af737840) at /tmp/pear/temp/xdebug/src/base/base.c:1564
        code = 0x7f01af737888
        message = 0x7f01af737868
        file = 0x7f01af737898
        line = 0x7f01af7378a8
        exception_ce = <optimized out>
        code_str = 0x0
        dummy = {value = {lval = 94196207851024, dval = 4.6539110267712471e-310, counted = 0x55abc3821610 <zend_execute_ex>, str = 0x55abc3821610 <zend_execute_ex>, arr = 0x55abc3821610 <zend_execute_ex>, obj = 0x55abc3821610 <zend_execute_ex>, res = 0x55abc3821610 <zend_execute_ex>, ref = 0x55abc3821610 <zend_execute_ex>, ast = 0x55abc3821610 <zend_execute_ex>, zv = 0x55abc3821610 <zend_execute_ex>, ptr = 0x55abc3821610 <zend_execute_ex>, ce = 0x55abc3821610 <zend_execute_ex>, func = 0x55abc3821610 <zend_execute_ex>, ww = {w1 = 3280082448, w2 = 21931}}, u1 = {type_info = 2935489280, v = {type = 0 '\000', type_flags = 3 '\003', u = {extra = 44792}}}, u2 = {next = 3901056601, cache_slot = 3901056601, opline_num = 3901056601, lineno = 3901056601, num_args = 3901056601, fe_pos = 3901056601, fe_iter_idx = 3901056601, property_guard = 3901056601, constant_flags = 3901056601, extra = 3901056601}}
#5  xdebug_throw_exception_hook (exception=0x7f01af737840) at /tmp/pear/temp/xdebug/src/base/base.c:1516
        code = <optimized out>
        message = <optimized out>
        file = <optimized out>
        line = <optimized out>
        exception_ce = <optimized out>
        code_str = 0x0
        dummy = <optimized out>
#6  0x000055abc263bb82 in zend_throw_exception_internal ()
No symbol table info available.
#7  0x000055abc2633bef in ?? ()
No symbol table info available.
#8  0x000055abc299715d in execute_ex ()
No symbol table info available.
#9  0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#10 0x000055abc2639c93 in ?? ()
No symbol table info available.
#11 0x000055abc263ab6c in ?? ()
No symbol table info available.
#12 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#13 0x000055abc2639c93 in ?? ()
No symbol table info available.
#14 0x000055abc263ab6c in ?? ()
No symbol table info available.
#15 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#16 0x000055abc2639c93 in ?? ()
No symbol table info available.
#17 0x000055abc263ab6c in ?? ()
No symbol table info available.
#18 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#19 0x000055abc2639c93 in ?? ()
No symbol table info available.
#20 0x000055abc263ab6c in ?? ()
No symbol table info available.
#21 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#22 0x000055abc2639c93 in ?? ()
No symbol table info available.
#23 0x000055abc263ab6c in ?? ()
No symbol table info available.
#24 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#25 0x000055abc292441f in zend_call_function ()
No symbol table info available.
#26 0x000055abc29247ed in zend_call_known_function ()
No symbol table info available.
#27 0x000055abc27eaecf in ?? ()
No symbol table info available.
#28 0x00007f01b0895ba7 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#29 0x00007f01b1237f15 in xdebug_execute_internal (current_execute_data=0x7f01b1416c60, return_value=0x7f01b1416820) at /tmp/pear/temp/xdebug/src/base/base.c:1019
        run_internal_handler = true
#30 0x000055abc2639d23 in ?? ()
No symbol table info available.
#31 0x000055abc263ab6c in ?? ()
No symbol table info available.
#32 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#33 0x000055abc2639c93 in ?? ()
No symbol table info available.
#34 0x000055abc263ab6c in ?? ()
No symbol table info available.
#35 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#36 0x000055abc2639c93 in ?? ()
No symbol table info available.
#37 0x000055abc263ab6c in ?? ()
No symbol table info available.
#38 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#39 0x000055abc292441f in zend_call_function ()
No symbol table info available.
#40 0x000055abc29246e8 in _call_user_function_impl ()
No symbol table info available.
#41 0x000055abc29af0a3 in ?? ()
No symbol table info available.
#42 0x00007f01b0895ba7 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#43 0x00007f01b1237f15 in xdebug_execute_internal (current_execute_data=0x7f01b1415dc0, return_value=0x7f01b1415d70) at /tmp/pear/temp/xdebug/src/base/base.c:1019
        run_internal_handler = true
#44 0x000055abc2639d23 in ?? ()
No symbol table info available.
#45 0x000055abc263ab6c in ?? ()
No symbol table info available.
#46 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#47 0x000055abc2639c93 in ?? ()
No symbol table info available.
#48 0x000055abc263ab6c in ?? ()
No symbol table info available.
#49 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#50 0x000055abc292441f in zend_call_function ()
No symbol table info available.
#51 0x000055abc283b8f5 in ?? ()
No symbol table info available.
#52 0x00007f01b0895ba7 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#53 0x00007f01b1237f15 in xdebug_execute_internal (current_execute_data=0x7f01b1415ba0, return_value=0x7f01b1415aa0) at /tmp/pear/temp/xdebug/src/base/base.c:1019
        run_internal_handler = true
#54 0x000055abc2639d23 in ?? ()
No symbol table info available.
#55 0x000055abc263ab6c in ?? ()
No symbol table info available.
#56 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#57 0x000055abc2639c93 in ?? ()
No symbol table info available.
#58 0x000055abc263ab6c in ?? ()
No symbol table info available.
#59 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#60 0x000055abc2639c93 in ?? ()
No symbol table info available.
#61 0x000055abc263ab6c in ?? ()
No symbol table info available.
#62 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#63 0x000055abc2639c93 in ?? ()
No symbol table info available.
#64 0x000055abc263ab6c in ?? ()
No symbol table info available.
#65 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#66 0x000055abc2639c93 in ?? ()
No symbol table info available.
#67 0x000055abc263ab6c in ?? ()
No symbol table info available.
#68 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#69 0x000055abc2639c93 in ?? ()
No symbol table info available.
#70 0x000055abc263ab6c in ?? ()
No symbol table info available.
#71 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#72 0x000055abc2639c93 in ?? ()
No symbol table info available.
#73 0x000055abc263ab6c in ?? ()
No symbol table info available.
#74 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#75 0x000055abc2639c93 in ?? ()
No symbol table info available.
#76 0x000055abc263ab6c in ?? ()
No symbol table info available.
#77 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#78 0x000055abc29707dc in ?? ()
No symbol table info available.
#79 0x000055abc2996b73 in execute_ex ()
No symbol table info available.
#80 0x00007f01b089b0c0 in ?? () from /usr/local/lib/php/extensions/no-debug-non-zts-20210902/blackfire.so
No symbol table info available.
#81 0x000055abc299fb6f in zend_execute ()
No symbol table info available.
#82 0x000055abc29324a8 in zend_execute_scripts ()
No symbol table info available.
#83 0x000055abc28ced31 in php_execute_script ()
No symbol table info available.
#84 0x000055abc2a16a93 in ?? ()
No symbol table info available.
#85 0x000055abc2644c86 in ?? ()
No symbol table info available.
#86 0x00007f01b42cb24a in __libc_start_call_main (main=main@entry=0x55abc26448d0, argc=argc@entry=4, argv=argv@entry=0x7ffe753b6c88) at ../sysdeps/nptl/libc_start_call_main.h:58
        self = <optimized out>
        result = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140730865249416, -1628371363765236966, 0, 140730865249456, 94196207007256, 139645307994144, 1628674317196905242, 1685952123681295130}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffe753b6c88, 0x7ffe753b6c88}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1966828680}}}
        not_first_call = <optimized out>
#87 0x00007f01b42cb305 in __libc_start_main_impl (main=0x55abc26448d0, argc=4, argv=0x7ffe753b6c88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe753b6c78) at ../csu/libc-start.c:360
No locals.
#88 0x000055abc2645fc1 in _start ()
No symbol table info available.
gdb.txt (13,468 bytes)   
Screenshot 2025-01-08 111328.png (158,546 bytes)   
Screenshot 2025-01-08 111328.png (158,546 bytes)   

Issue History

Date Modified Username Field Change
2024-12-24 10:14 stanilnytskyi New Issue
2024-12-24 10:14 stanilnytskyi Tag Attached: crash
2024-12-24 10:14 stanilnytskyi Tag Attached: segfault
2024-12-24 10:51 derick Assigned To => derick
2024-12-24 10:51 derick Status new => feedback
2024-12-24 10:51 derick Note Added: 0007133
2024-12-24 12:02 stanilnytskyi Note Added: 0007134
2024-12-24 12:02 stanilnytskyi File Added: Screenshot 2024-12-24 125358.png
2024-12-24 12:02 stanilnytskyi Status feedback => assigned
2025-01-06 15:37 derick Note Added: 0007143
2025-01-07 11:35 NicolasD Note Added: 0007145
2025-01-07 15:21 derick Note Added: 0007146
2025-01-08 10:49 stanilnytskyi Note Added: 0007147
2025-01-08 10:49 stanilnytskyi File Added: gdb.txt
2025-01-08 10:49 stanilnytskyi File Added: Screenshot 2025-01-08 111328.png