checkpoint-restore / criu

Checkpoint/Restore tool
criu.org
Other
2.79k stars 565 forks source link

X86 After the process resumed, sleep skipped #2265

Closed hdzhoujie closed 9 months ago

hdzhoujie commented 10 months ago

Description int main(int argc, char *argv[]) { sleep(10000); printf("time out\n"); return 0;` }

The above code will be backed up and restored immediately after running. On the x86 platform, after the restoration is successful, time out will be printed directly and the program will exit without continuing to sleep and wait. There is no problem with the ARM platform.

Steps to reproduce the issue:

  1. criu dump -t 3416953 -D /home/img -o dump.log --shell-job -v4
  2. criu restore -D /home/img -o restore.log -d -j --shell-job -v4

Describe the results you received: The process prints time out and exits

Describe the results you expected: It should be the same as arm. After the process resumes, it enters sleep and waits.

Additional information you deem important (e.g. issue happens only occasionally):

CRIU logs and information:

CRIU full dump/restore logs:

Output of `criu --version`:

Output of `criu check --all`:

Additional environment details:

avagin commented 10 months ago

It is known issue. You can find more details in dd71cca58ada1b1b930c17201373cb8de569c97f.