• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

xemul / criu / 488
66%

Build:
DEFAULT BRANCH: master
Ran 08 Aug 2016 12:29PM UTC
Jobs 5
Files 115
Run time 12min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
488

push

travis-ci

xemul
seize: Wait the freezer to complete before processing tags

Currently, when we use cgroup freezer to seize the tasks we start freezer
and then without waiting the completion of transition procedure we are
seizing tasks read from freezer @tasks file, using fgets.

This is fragile construction because fgets uses internal buffer and tasks
we've read might be exiting same time while we're freezing them,
the kernel won't freeze these exiting tasks because they are dying
anyway and I fear we might read a pid here which is not even in
our cgroup anymore but reused with another out of cgroup task.

Thus lets do the following: use iterations to freeze tasks waiting
for freezer to change its state and then collect/seize all tasks
in one pass.

For example on container I'm playing with it takes just one iteration

 | (00.013690) cg: Set 1 is criu one
 | (00.013705) freezing processes: 1800000 attempst with 100 ms steps
 | (00.013720) freezer.state=THAWED
 | (00.013795) freezer.state=FREEZING
 | (00.113962) freezer.state=FROZEN
 | (00.113990) freezing processes: 1 attempts done
 | (00.114073) SEIZE 240893 (comm systemd): success
 | (00.114110) Warn  (ptrace.c:121): Unable to interrupt task: 240905 (comm kthreadd/1) (Operation not permitted)
 | (00.114136) Warn  (ptrace.c:121): Unable to interrupt task: 240906 (comm khelper) (Operation not permitted)
 | (00.114155) SEIZE 240969 (comm screen): success
 | (00.114166) SEIZE 240970 (comm sendmail): success
 | (00.114179) SEIZE 240971 (comm sendmail): success
 | (00.114189) SEIZE 240972 (comm saslauthd): success
 | (00.114202) SEIZE 240973 (comm crond): success
 | (00.114211) SEIZE 240974 (comm agetty): success
 | (00.114221) SEIZE 240975 (comm agetty): success
 | ...

Signed-off-by: Cyrill Gorcunov <gorcunov@virtuozzo.com>
Acked-by: Andrew Vagin <avagin@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>

16678 of 25308 relevant lines covered (65.9%)

73255.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 488.1 (TR_ARCH=local) 08 Aug 2016 12:37PM UTC 0
65.9
Travis Job 488.1
2 488.2 (TR_ARCH=x86_64) 08 Aug 2016 12:29PM UTC 0
Travis Job 488.2
3 488.3 (TR_ARCH=armv7hf) 08 Aug 2016 12:42PM UTC 0
Travis Job 488.3
4 488.4 (TR_ARCH=aarch64) 08 Aug 2016 12:38PM UTC 0
Travis Job 488.4
5 488.5 (TR_ARCH=ppc64le) 08 Aug 2016 12:40PM UTC 0
Travis Job 488.5
Source Files on build 488
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #488
  • c44683c1 on github
  • Prev Build on master (#487)
  • Next Build on master (#491)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc