scikit-decide icon indicating copy to clipboard operation
scikit-decide copied to clipboard

Random crashes in MCTS solver

Open dbarbier opened this issue 3 years ago • 3 comments

🐛 Bug

We observe some random crashes on MacOS Github runners, and even more seldomly on Linux. But if pytest is launched from a bash shell on Windows (default shell is Powershell), crashes become reproducible. This helped to find that this is caused by UCT test, all other tests pass.

AddressSanitizer on Linux reports a new/delete mismatch, here is the full log:

==103597==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x6020000d9450 in thread T0:
  object passed to delete has wrong type:
  size of the allocated type:   16 bytes;
  size of the deallocated type: 1 bytes.
    #0 0x7fd4d1069db7 in operator delete(void*, unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:172
    #1 0x7fd4b584d0e0 in std::default_delete<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation>::operator()(skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation*) const /usr/include/c++/11/bits/unique_ptr.h:85
    #2 0x7fd4b584d0e0 in std::unique_ptr<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation, std::default_delete<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation> >::~unique_ptr() /usr/include/c++/11/bits/unique_ptr.h:361
    #3 0x7fd4b584d0e0 in skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::~FullExpand() scikit-decide/cpp/src/hub/solver/mcts/impl/mcts_full_expand_impl.hh:297
    #4 0x7fd4b584d108 in skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::~FullExpand() scikit-decide/cpp/src/hub/solver/mcts/impl/mcts_full_expand_impl.hh:297
    #5 0x7fd4b55dac63 in std::default_delete<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> > >::operator()(skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >*) const /usr/include/c++/11/bits/unique_ptr.h:85
    #6 0x7fd4b55dac63 in std::unique_ptr<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >, std::default_delete<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> > > >::~unique_ptr() /usr/include/c++/11/bits/unique_ptr.h:361
    #7 0x7fd4b55dac63 in skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>::~MCTSSolver() scikit-decide/cpp/src/hub/solver/mcts/mcts.hh:248
    #8 0x7fd4b55db0c8 in std::default_delete<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::operator()(skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>*) const /usr/include/c++/11/bits/unique_ptr.h:85
    #9 0x7fd4b55db0c8 in std::default_delete<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::operator()(skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>*) const /usr/include/c++/11/bits/unique_ptr.h:79
    #10 0x7fd4b55db0c8 in std::unique_ptr<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>, std::default_delete<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> > >::~unique_ptr() /usr/include/c++/11/bits/unique_ptr.h:361
    #11 0x7fd4b55db0c8 in skdecide::PyMCTSSolver::Implementation<skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>::~Implementation() scikit-decide/cpp/src/hub/solver/mcts/py_mcts.hh:122
    #12 0x7fd4b55db0c8 in skdecide::PyMCTSSolver::Implementation<skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup>::~Implementation() scikit-decide/cpp/src/hub/solver/mcts/py_mcts.hh:122
    #13 0x7fd4b553811f in std::default_delete<skdecide::PyMCTSSolver::BaseImplementation>::operator()(skdecide::PyMCTSSolver::BaseImplementation*) const /usr/include/c++/11/bits/unique_ptr.h:85
    #14 0x7fd4b553811f in std::unique_ptr<skdecide::PyMCTSSolver::BaseImplementation, std::default_delete<skdecide::PyMCTSSolver::BaseImplementation> >::~unique_ptr() /usr/include/c++/11/bits/unique_ptr.h:361
    #15 0x7fd4b553811f in skdecide::PyMCTSSolver::~PyMCTSSolver() scikit-decide/cpp/src/hub/solver/mcts/py_mcts.hh:56
    #16 0x7fd4b553811f in std::default_delete<skdecide::PyMCTSSolver>::operator()(skdecide::PyMCTSSolver*) const /usr/include/c++/11/bits/unique_ptr.h:85
    #17 0x7fd4b553811f in std::default_delete<skdecide::PyMCTSSolver>::operator()(skdecide::PyMCTSSolver*) const /usr/include/c++/11/bits/unique_ptr.h:79
    #18 0x7fd4b553811f in std::unique_ptr<skdecide::PyMCTSSolver, std::default_delete<skdecide::PyMCTSSolver> >::~unique_ptr() /usr/include/c++/11/bits/unique_ptr.h:361
    #19 0x7fd4b553811f in pybind11::class_<skdecide::PyMCTSSolver>::dealloc(pybind11::detail::value_and_holder&) scikit-decide/cpp/sdk/pybind11/include/pybind11/pybind11.h:1568
    #20 0x7fd4b54576a4 in pybind11::detail::clear_instance(_object*) scikit-decide/cpp/sdk/pybind11/include/pybind11/detail/class.h:400
    #21 0x7fd4b54581de in pybind11_object_dealloc scikit-decide/cpp/sdk/pybind11/include/pybind11/detail/class.h:420
    #22 0x55569174093a in _Py_Dealloc /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Objects/object.c:2215
    #23 0x55569174093a in _Py_DECREF /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Include/object.h:478
    #24 0x55569174093a in _Py_XDECREF /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Include/object.h:541
    #25 0x55569174093a in dict_dealloc /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Objects/dictobject.c:1990
    #26 0x555691743df4 in _Py_DECREF /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Include/object.h:478
    #27 0x555691743df4 in subtype_clear /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Objects/typeobject.c:1143
    #28 0x55569174f0f1 in delete_garbage.isra.28 /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/gcmodule.c:948
    #29 0x55569174f0f1 in collect /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/gcmodule.c:1123
    #30 0x5556917d1454 in collect_with_callback /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/gcmodule.c:1240
    #31 0x5556917e25ce in PyGC_Collect /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/gcmodule.c:1844
    #32 0x5556917efa43 in Py_FinalizeEx /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pylifecycle.c:1219
    #33 0x5556917efb87 in Py_Exit /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pylifecycle.c:2291
    #34 0x5556917efbca in handle_system_exit /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pythonrun.c:684
    #35 0x5556917efc0f in _PyErr_PrintEx /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pythonrun.c:694
    #36 0x55569173a401 in PyErr_Print /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pythonrun.c:795
    #37 0x55569173a401 in pyrun_simple_file /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pythonrun.c:445
    #38 0x55569173a401 in PyRun_SimpleFileExFlags /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Python/pythonrun.c:472
    #39 0x5556917f1a08 in pymain_run_file /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/main.c:391
    #40 0x5556917f1a08 in pymain_run_python /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/main.c:616
    #41 0x5556917f1a08 in Py_RunMain /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/main.c:695
    #42 0x5556917f1ca8 in Py_BytesMain /home/builder/ktietz/cos6/ci_cos6/python_1622837047642/work/Modules/main.c:1141
    #43 0x7fd4d09037ec in __libc_start_main ../csu/libc-start.c:332

0x6020000d9450 is located 0 bytes inside of 16-byte region [0x6020000d9450,0x6020000d9460)
allocated by thread T0 here:
    #0 0x7fd4d1068f37 in operator new(unsigned long) ../../../../src/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x7fd4b58506e4 in std::_MakeUniq<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation::Impl<skdecide::DistributionTransitionMode<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >, void> >::__single_object std::make_unique<skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::ExpandActionImplementation::Impl<skdecide::DistributionTransitionMode<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >, void>, std::function<std::pair<skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::Value, unsigned long> (skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>&, skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::State const&, unsigned long const*)>&>(std::function<std::pair<skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::Value, unsigned long> (skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>&, skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::State const&, unsigned long const*)>&) /usr/include/c++/11/bits/unique_ptr.h:962
    #2 0x7fd4b58506e4 in skdecide::FullExpand<skdecide::MCTSSolver<skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>, skdecide::ParallelExecution, skdecide::DistributionTransitionMode, skdecide::DefaultTreePolicy, skdecide::FullExpand, skdecide::UCB1ActionSelector, skdecide::BestQValueActionSelector, skdecide::DefaultRolloutPolicy, skdecide::GraphBackup> >::FullExpand(std::function<std::pair<skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::Value, unsigned long> (skdecide::PythonDomainProxy<skdecide::ParallelExecution, skdecide::SingleAgent, skdecide::FullyObservable, skdecide::FullyControllable, skdecide::Markovian>&, skdecide::PythonDomainProxyBase<skdecide::ParallelExecution>::State const&, unsigned long const*)> const&) scikit-decide/cpp/src/hub/solver/mcts/impl/mcts_full_expand_impl.hh:283
    #3 0x7fd4b5452fe9 in pybind11::detail::get_thread_state_unchecked() scikit-decide/cpp/sdk/pybind11/include/pybind11/cast.h:479
    #4 0x7fd4b5452fe9 in pybind11::gil_scoped_acquire::gil_scoped_acquire() scikit-decide/cpp/sdk/pybind11/include/pybind11/pybind11.h:2139
    #5 0x7ffc8a1c54af  ([stack]+0x184af)

SUMMARY: AddressSanitizer: new-delete-type-mismatch ../../../../src/libsanitizer/asan/asan_new_delete.cpp:172 in operator delete(void*, unsigned long)
==103597==HINT: if you don't care about these errors you may set ASAN_OPTIONS=new_delete_type_mismatch=0
==103597==ABORTING

dbarbier avatar Dec 13 '21 07:12 dbarbier

I checked locally on windows from git bash with scikit-decide 0.9.7 from pypi. The bug is still there. To reproduce:

  • on windows with git bash, create a python virtual environment with scikit-decide 0.9.7 + gym + pytest + simplejson
  • edit "tests/solvers/cpp/test_cpp_solvers.py" to let only "uct" as tested solver, and remove the pytest.skip
  • run it with pytest tests/solvers/cpp/test_cpp_solvers.py ../test_skdecide/.

Error message:

..Windows fatal exception: code 0xc0000374

Current thread 0x00001d04 (most recent call first):
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 353 in _cmpkey
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 230 in __init__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py", line 458 in _compare_greater_than_equal
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py", line 271 in wrapped
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py", line 180 in contains
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py", line 726 in <genexpr>
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\_vendor\packaging\specifiers.py", line 726 in contains
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\__init__.py", line 3078 in __contains__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\__init__.py", line 769 in resolve
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\__init__.py", line 2433 in require
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pkg_resources\__init__.py", line 2410 in load
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\skdecide\utils.py", line 65 in _load_registered_entry
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\skdecide\utils.py", line 96 in load_registered_solver
  File "C:\Users\nolwe\Projects\scikit-decide\tests\solvers\cpp\test_cpp_solvers.py", line 395 in test_solver_cpp
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\python.py", line 194 in pytest_pyfunc_call
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_callers.py", line 80 in _multicall
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_manager.py", line 112 in _hookexec
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_hooks.py", line 433 in __call__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\python.py", line 1792 in runtest
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 169 in pytest_runtest_call
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_callers.py", line 80 in _multicall
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_manager.py", line 112 in _hookexec
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_hooks.py", line 433 in __call__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 262 in <lambda>
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 341 in from_call
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 262 in call_runtest_hook
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 222 in call_and_report
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 133 in runtestprotocol
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\runner.py", line 114 in pytest_runtest_protocol
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_callers.py", line 80 in _multicall
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_manager.py", line 112 in _hookexec
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_hooks.py", line 433 in __call__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\main.py", line 350 in pytest_runtestloop
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_callers.py", line 80 in _multicall
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_manager.py", line 112 in _hookexec
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_hooks.py", line 433 in __call__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\main.py", line 325 in _main
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\main.py", line 271 in wrap_session
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\main.py", line 318 in pytest_cmdline_main
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_callers.py", line 80 in _multicall
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_manager.py", line 112 in _hookexec
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\pluggy\_hooks.py", line 433 in __call__
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\config\__init__.py", line 170 in main
  File "c:\users\nolwe\projects\test_skdecide\skdecide97_py37_venv\lib\site-packages\_pytest\config\__init__.py", line 192 in console_main
  File "C:\Users\nolwe\Projects\test_skdecide\skdecide97_py37_venv\Scripts\pytest.exe\__main__.py", line 9 in <module>
  File "C:\Users\nolwe\Progs\Miniconda3\lib\runpy.py", line 85 in _run_code
  File "C:\Users\nolwe\Progs\Miniconda3\lib\runpy.py", line 193 in _run_module_as_main

nhuet avatar Oct 06 '23 15:10 nhuet

Also visible on a workflow when i reactivated the concerned test: https://github.com/nhuet/scikit-decide/actions/runs/6433572669/job/17471581478#step:12:728

nhuet avatar Oct 09 '23 07:10 nhuet

For the moment I have no clue what the reason is, I'm still investigating...

fteicht avatar Oct 09 '23 20:10 fteicht

The bug seems to disappear since last time i checked (i tried the procedure on windows git_bash as described above). Can be closed.

nhuet avatar May 24 '24 07:05 nhuet