You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've noticed a strange bug when tried to profile memory leak in project that use Fibers
Describe the bug
I got memory access error in this place read = $this->ffi->process_vm_readv(...). The function process_vm_readv returns with EFAULT 14 (Bad address) error code. Obviously that the passed address 0x64 is invalid, because usually the heap allocated with addresses 0x7fffffffffff-0x7f0000000000
sudo ./reli inspector:memory --pretty-print -p 114889 > mem_t0.json -vvv
In MemoryReader.php line 92:
[Reli\Lib\Process\MemoryReader\MemoryReaderException (14)]
failed to read memory. target_pid=114889, remote_address=0x64, errno=14
Exception trace:
at /opt/progs/reli-prof/src/Lib/Process/MemoryReader/MemoryReader.php:92
Reli\Lib\Process\MemoryReader\MemoryReader->read() at /opt/progs/reli-prof/src/Lib/Process/Pointer/RemoteProcessDereferencer.php:42
Reli\Lib\Process\Pointer\RemoteProcessDereferencer->deref() at /opt/progs/reli-prof/src/Lib/PhpInternals/Types/Zend/ZendClassEntry.php:238
Reli\Lib\PhpInternals\Types\Zend\ZendClassEntry->getStaticPropertyIterator() at /opt/progs/reli-prof/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php:1598
Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassDefinition() at /opt/progs/reli-prof/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php:1524
Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassDefinitionPointer() at /opt/progs/reli-prof/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php:1494
Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectClassTable() at /opt/progs/reli-prof/src/Lib/PhpProcessReader/PhpMemoryReader/MemoryLocationsCollector.php:364
Reli\Lib\PhpProcessReader\PhpMemoryReader\MemoryLocationsCollector->collectAll() at /opt/progs/reli-prof/src/Command/Inspector/MemoryCommand.php:95
Reli\Command\Inspector\MemoryCommand->execute() at /opt/progs/reli-prof/vendor/symfony/console/Command/Command.php:326
Symfony\Component\Console\Command\Command->run() at /opt/progs/reli-prof/vendor/symfony/console/Application.php:1063
Symfony\Component\Console\Application->doRunCommand() at /opt/progs/reli-prof/vendor/symfony/console/Application.php:320
Symfony\Component\Console\Application->doRun() at /opt/progs/reli-prof/vendor/symfony/console/Application.php:174
Symfony\Component\Console\Application->run() at /opt/progs/reli-prof/reli:56
Currently, I'm extremely busy, and don't have the bandwidth to look into this...
Apparently you have solved the problem you originally had with the modified version of php-meminfo. Brilliant job!.
Anyway, I'll take a closer look into this issue as soon as I can make the time.
to profile memory leak in project that use Fibers
FYI, also Reli doesn't support dumping the variables in suspended Fibers currently. As you know it is not too difficult, but I just don't have the time. We plan to support it in 0.12.0 or 0.13.0, the actual timeframe has not yet been decided though.
Hi! Awesome project.
I've noticed a strange bug when tried to profile memory leak in project that use Fibers
Describe the bug
I got memory access error in this place
read = $this->ffi->process_vm_readv(...)
. The functionprocess_vm_readv
returns with EFAULT 14 (Bad address) error code. Obviously that the passed address0x64
is invalid, because usually the heap allocated with addresses0x7fffffffffff-0x7f0000000000
To Reproduce
I am profiling this library https://github.com/danog/MadelineProto. Docs https://docs.madelineproto.xyz/docs/REQUIREMENTS.html
Create and run script
Expected behavior
no exception
Execution Environment
Target Process
UPD
Also I tried to use php-meminfo. But this library is not dump variables from suspended Fibers stack
The text was updated successfully, but these errors were encountered: