[CRIU] Parasite: can't allocate memory for parasite blob

Kuprieiev Ruslan rkuprieiev at cloudlinux.com
Tue Mar 10 02:00:13 PDT 2015


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