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

Cyrill Gorcunov gorcunov at gmail.com
Tue Mar 10 00:48:08 PDT 2015


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?).

> 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


More information about the CRIU mailing list