[Devel] c/r:read pipe error when restart

kadyz allen303allen at gmail.com
Mon Feb 21 21:53:44 PST 2011


hi all:
    I have a very simple script test for c/r,but I'm unable to get a
restart to complete. I get both linux-cr and user-cr code from the git
a few weeks ago, and i think they are the newest. I'm using RHEL5.4,
x86-64. Here are my steps:

    # mkdir -p /cgroup
    # mount -t cgroup -o freezer cgroup /cgroup
    # mkdir /cgroup/1

    # cat > foo.sh << EOF
    #!/bin/sh
    echo $$ > /cgroup/1/tasks
    while true; do
    echo "this is a test."
    sleep 1s
    done
    EOF

    # nsexec -tgcmpiUP pid foo.sh
    about to clone with 38020000
    this is a test.
    this is a test.
    ...

    /* the following steps go on in another terminal */
    # cat pid
    29750
    # echo FROZEN > /cgroup/1/freezer.state
    # cat /cgroup/1/tasks
    29750
    29772
    # checkpoint 29750 -l clog -o image.out
    # kill -9 29750
    # echo THAWED > /cgroup/1/freezer.state

    (It seems ok for now, but when I try restart, the problem comes.)

    # restart -l rlog -i image.out
    read pipe: Bad file descriptor
    Killed

    (I have tried lots of times, and the rlog is usually empty, but I
also see msg once in it)
    # cat rlog
    [err -512][pos 0][E @ ckpt_read_obj_type:426]Expecting to read type 1

    (when I add -d -v, it comes like this)
    # restart -d -v -i image.out
    <31720>number of tasks: 2
    <31720>number of vpids: 0
    <31720>total tasks (including ghosts): 3
    <31720>pid 99: inherit sid 0
    <31720>pid 99: creator set to 1
    <31720>pid 301: orphan session 1
    <31720>pid 301: creator set to 302
    <31720>====== TASKS
    <31720> [0] pid 1 ppid 0 sid 0 creator 0 placeholder 302
    <31720> [1] pid 99 ppid 1 sid 0 creator 1 prev 302
    <31720> [2] pid 301 ppid 1 sid 1 creator 302     G
    <31720> [3] pid 302 ppid 1 sid 1 creator 1 next 99      D
    <31720>............
    <31720>task[0].vidx = 1 (depth 0, rpid 1)
    <31720>task[1].vidx = 2 (depth 0, rpid 99)
    <31720>subtree (existing pidns)
    <31720>fork child vpid 1 flags 0x1
    <31721>====== PIDS ARRAY
    <31721>[0] pid 1 ppid 301 sid 301 pgid 301
    <31721>[1] pid 99 ppid 301 sid 301 pgid 301
    <31720>task 1 forking with flags 11 numpids 1
    <31721>............
    <31720>task 1 pid[0]=0
    read pipe: Bad file descriptor
    Killed


    (I found a similar discussion from
http://openvz.org/pipermail/devel/2010-July/025274.html , but it
didn't work for me. Because the code I use has fixed them all.)


    Look forward and very appreciate for your helps!

    Thank you!

    Kadyz




More information about the Devel mailing list