[CRIU] Parasite: can't allocate memory for parasite blob
Kuprieiev Ruslan
rkuprieiev at cloudlinux.com
Tue Mar 10 05:00:57 PDT 2015
Btw, I get the same error when trying to dump httpd itself...
On 03/10/2015 11:00 AM, Kuprieiev Ruslan wrote:
> On 03/10/2015 09:48 AM, Cyrill Gorcunov wrote:
>> On Tue, Mar 10, 2015 at 09:32:13AM +0200, Kuprieiev Ruslan wrote:
>>> Hi!
>>>
>>> I'm trying to dump litespeed php process(when it is being spawned by
>>> apache)
>>> and getting an error:
>>>
>>> (00.013942) Collecting fds (pid: 5622)
>>> (00.013949) ----------------------------------------
>>> (00.013977) Found 5 file descriptors
>>> (00.013986) ----------------------------------------
>>> (00.014009) Dump private signals of 5622
>>> (00.014023) Dump shared signals of 5622
>>> (00.014040) Parasite syscall_ip at 0x400000
>>> (00.014130) Error (parasite-syscall.c:1128): Can't allocate memory for
>>> parasite blob (pid: 5622)
>>> (00.014150) Error (cr-dump.c:1553): Can't infect (pid: 5622) with
>>> parasite
>>> (00.014851) Unlock network
>>> (00.014865) Unfreezing tasks into 1
>>> (00.014873) Unseizing 5622 into 1
>>> (00.014922) Error (cr-dump.c:1979): Dumping FAILED.
>>>
>>> Could you give me a hint on what could cause this error?
>> This means the parasite code tried to call mmap() to allocate new memory
>> to host himself but mmap was failed. Either there is no enough free
>> memory
>> either some other restriction (is it run inside cgroup?).
>
> Hm...
> Btw, I now remember the same(not 100% sure, but looks very similar)
> error when I was fiddling with
> dumping whole logind... Yep, might be cgroup fault... Will dig into
> systemd and cgroups...
>
>>> It is worth noting, that I'm able to successfully dump/restore
>>> litespeed php
>>> when starting it
>>> by hand from the cmdline.
>>>
>>> Btw, I also discovered that httpd.service has a PrivateTmp option
>>> enabled
>>> which causes apache children
>>> to inherit /tmp/sytemd-private-* shared mount, which results in criu
>>> failing
>>> to dump apache children as it
>>> doesn't support shared mounts. Though, this issue is easy to solve
>>> by just
>>> disabling PrivateTmp.
>> Cyrill
>
> Thanks,
> Ruslan
More information about the CRIU
mailing list