View Issue Details

IDProjectCategoryView StatusLast Update
0002354XdebugStacktracespublic2025-06-12 11:46
Reporterderick Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version3.4.3 
Target Version3.4devFixed in Version3.4.4 
Summary0002354: The __invoke frame in call stacks don't have the argument name in the trace
Description

Run:

<?php
class RedisProxy {
    function __construct(public Closure $c)
    {
    }

    function __call($method, $args)
    {
        $this->c->__invoke($args);
    }
}

$c = function(array $args)
{
    throw new Exception();
};

$rp = new RedisProxy($c);
$rp->isConnected();

And the stack trace contains:

    0.0003     386088   1. {main}() /tmp/2352/test2.php:0
    0.0004     386632   2. RedisProxy->__call($method = 'isConnected', $args = []) /tmp/2352/test2.php:19
    0.0004     386952   3. Closure->__invoke($ = []) /tmp/2352/test2.php:9
    0.0004     387016   4. {closure:/tmp/2352/test2.php:13-16}($args = []) /tmp/2352/test2.php:9

The argument name for invoke is missing.

TagsNo tags attached.
Operating System
PHP Version8.3.5-8.3.9

Activities