fritzo / pomagma

An inference engine for extensional untyped λ-calculus
Other
17 stars 2 forks source link

Possible bug in surveyor virtual machine cleanup task scheduling #23

Open fritzo opened 9 years ago

fritzo commented 9 years ago

Spurious results indicate the VM-backed surveyor misses occasional tasks during cleanup. To diagnose further, try the following:

python -m pomagma init skrj  # or another theory
python -m pomagma update-theory skrj dry_run=True

If all is working correctly, update-theory prints 'theory did not change'.

fritzo commented 9 years ago
$ make batch-test
...
------------------------------------------------------------------------------
Testing skj
cd /home/fritz/fritzo/pomagma/data/test/debug/atlas/skj
POMAGMA_SIZE=1535 \
  POMAGMA_LOG_FILE=/home/fritz/fritzo/pomagma/data/test/debug/atlas/skj/test.log \
  POMAGMA_LOG_LEVEL=2 \
  /home/fritz/fritzo/pomagma/build/debug/src/surveyor/init \
  /home/fritz/fritzo/pomagma/data/test/debug/atlas/skj/0.h5 \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.symbols \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.facts \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.programs \
  /home/fritz/fritzo/pomagma/pomagma/language/skj.language \
  8
# took 80.8 sec
POMAGMA_SIZE=1535 \
  POMAGMA_LOG_FILE=/home/fritz/fritzo/pomagma/data/test/debug/atlas/skj/test.log \
  POMAGMA_LOG_LEVEL=2 \
  /home/fritz/fritzo/pomagma/build/debug/src/surveyor/survey \
  /home/fritz/fritzo/pomagma/data/test/debug/atlas/skj/0.h5 \
  /home/fritz/fritzo/pomagma/data/test/debug/atlas/skj/1.h5 \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.symbols \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.facts \
  /home/fritz/fritzo/pomagma/pomagma/theory/skj.programs \
  /home/fritz/fritzo/pomagma/pomagma/language/skj.language \
  8
# took 4.05 sec
theory changed
cd /home/fritz/fritzo/pomagma
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/fritz/fritzo/pomagma/src/make.py", line 189, in 
    parsable.dispatch()
  File "/home/fritz/fritzo/parsable/parsable.py", line 100, in dispatch
    parser(*args, **kwargs)
  File "/home/fritz/fritzo/parsable/parsable.py", line 53, in parser
    fun(*typed_args, **typed_kwargs)
  File "/home/fritz/fritzo/pomagma/src/make.py", line 122, in test_atlas
    _test_atlas(theory)
  File "/home/fritz/fritzo/pomagma/src/make.py", line 46, in _test_atlas
    assert not changed
AssertionError
make[1]: *** [batch-test] Error 1
make[1]: Leaving directory `/home/fritz/fritzo/pomagma'
make: *** [test] Error 2