GithubHelp home page GithubHelp logo

shared-memory1 is flaky about dmtcp HOT 2 CLOSED

dmtcp avatar dmtcp commented on September 26, 2024
shared-memory1 is flaky

from dmtcp.

Comments (2)

gc00 avatar gc00 commented on September 26, 2024

On 32-bit Ubuntu 9.10 and 32-bit Red Hat 6, I've observed that about 10% of the time, it can fail to restart under autotest and the restart exits, but autotest then tries again and succeeds.

I then ran make -j AUTOTEST="-v --stress" check-shared-memory1 > tmp.log 2>&1

@karya0: In the current DMTCP, I see the bug that you reported with error 2 (but only on the slower 32-bit Ubuntu 9.10). In addition, I'm seeing this second form of the bug, also related to read_shared_memory_area_from_file:

[24034] mtcp_restart.c:1264 read_shared_memory_area_from_file:
 mapping current version of /tmp/gene/dmtcp-dmtcp-ee5cdb6/dmtcp-shared-memory.bJG3qS into memory;
 _not_ file as it existed at time of checkpoint.
 (Or this may be a file shared by multiple processes.)
 Change mtcp_restart.c:1264 and re-compile, if you want different behavior.

In both cases, it seems like the two processes have a race condition on restart. Perhaps one process finishes mtcp_restart early and enters DMTCP's Util::runMtcpRestore, while the other process has hardly begun mtcp_restart. By the way, I find it much easier to generate the bug on 32-bit Linux, perhaps because the 32-bit Linux is slower.

from dmtcp.

gc00 avatar gc00 commented on September 26, 2024

@karya0: After some repeated testing on x86 (32-bit) Red Hat 6 at batlab, I think I've pinned down the bug to:

commit f98431d70eb6adf30f6808ec3f88fef21df33d59
Author: Gene Cooperman <[email protected]>
Date:   Thu Mar 12 12:12:11 2015 -0400

    In migration, MAP_SHARED areas may fail.  Fixed.

Because the bug hits randomly and even disappears at times, I can't be sure of it. But using autotest.py --stress with a screenful of tests, it seems to indicate that this is the cause. It's reasonable, since they both involve shared memory.

from dmtcp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.