ds4dm / ecole

Extensible Combinatorial Optimization Learning Environments
https://www.ecole.ai
BSD 3-Clause "New" or "Revised" License
319 stars 68 forks source link

Segfault using Configuring environment #108

Open gasse opened 3 years ago

gasse commented 3 years ago

Describe the bug

A segfault happens randomly when using the Configuring environment as in the tutorial.

Setting

To Reproduce

run python test2.py and cross your fingers

Expected behavior

Either the program terminates successfully, or a segfault happens.

Additional context

           PID: 215692 (python)
           UID: 1000 (maxime)
           GID: 1000 (maxime)
        Signal: 11 (SEGV)
     Timestamp: Wed 2020-12-09 13:05:08 EST (2h 11min ago)
  Command Line: python test2.py
    Executable: /home/maxime/miniconda3/envs/ecole/bin/python3.8
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-org.gnome.Terminal.slice/vte-spawn-b8ad2a16-430b-43d5-bc0c-c1d298916dc1.scope
          Unit: user@1000.service
     User Unit: vte-spawn-b8ad2a16-430b-43d5-bc0c-c1d298916dc1.scope
         Slice: user-1000.slice
     Owner UID: 1000 (maxime)
       Boot ID: 1a70d0b7709248f2ac698f94ad5d0518
    Machine ID: 6285fe81523c4570b52e4f9d30fae2de
      Hostname: maxime-laptop
       Storage: /var/lib/systemd/coredump/core.python.1000.1a70d0b7709248f2ac698f94ad5d0518.215692.1607537108000000.zst
       Message: Process 215692 (python) of user 1000 dumped core.

                Stack trace of thread 215692:
                #0  0x00007fd6ab92f647 n/a (/home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0.1.0 + 0x688647)

gdb bt

Core was generated by `python test2.py'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fd6ab92f647 in SCIPdomchgFree.part.34 () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
[Current thread is 1 (Thread 0x7fd6b9fea740 (LWP 215692))]
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.32-2.fc33.x86_64
(gdb) bt
#0  0x00007fd6ab92f647 in SCIPdomchgFree.part.34 () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
#1  0x00007fd6ab9163b6 in SCIPnodeFree () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
#2  0x00007fd6ab91cc64 in SCIPnodeFocus () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
#3  0x00007fd6ab90e812 in SCIPsolveCIP () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
#4  0x00007fd6ab8c28ad in SCIPsolve () from /home/maxime/miniconda3/envs/ecole/lib/libscip.so.7.0
#5  0x00007fd6ac7a0673 in ecole::scip::call<SCIP_Retcode (*)(Scip*), Scip*> (func=0x7fd6ab8c2510 <SCIPsolve>) at /home/maxime/Documents/ecole/libecole/src/scip/utils.hpp:11
#6  0x00007fd6ac7a352a in ecole::scip::Model::solve (this=0x55ebed950ae0) at /home/maxime/Documents/ecole/libecole/src/scip/model.cpp:174
#7  0x00007fd6ac7cde2b in ecole::dynamics::ConfiguringDynamics::step_dynamics (this=0x55ebed5530a0, model=..., param_dict=...)
    at /home/maxime/Documents/ecole/libecole/src/dynamics/configuring.cpp:13
#8  0x00007fd6ac797149 in pybind11::cpp_function::cpp_function<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}::operator()(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&) const (this=0x55ebed527068, 
    c=0x55ebed5530a0, args#0=..., args#1=...) at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/pybind11.h:84
#9  0x00007fd6ac79af4a in pybind11::detail::argument_loader<ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&>::call_impl<std::tuple<bool, ecole::NoneType>, pybind11::cpp_function::cpp_function<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_st--Type <RET> for more, q to quit, c to continue without paging--
ring<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&, 0ul, 1ul, 2ul, pybind11::gil_scoped_release>(pybind11::cpp_function::cpp_function<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&, std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, pybind11::gil_scoped_release&&) && (this=0x7fff0ef8c830, f=...) at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/cast.h:2010
#10 0x00007fd6ac799a47 in pybind11::detail::argument_loader<ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&>::call<std::tuple<bool, ecole::NoneType>, pybind11::gil_scoped_release, pybind11::cpp_function::cpp_function<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&>(pybind11::cpp_function::cpp_function<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_t--Type <RET> for more, q to quit, c to continue without paging--
raits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&) && (this=0x7fff0ef8c830, f=...)
    at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/cast.h:1982
#11 0x00007fd6ac7987c1 in pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}, std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(pybind11::cpp_function::initialize<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&&, std::tuple<bool, ecole::NoneType> (*)(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(pybind11::detail::function_call&)#3}::operator()(pybind11::de--Type <RET> for more, q to quit, c to continue without paging--
tail::function_call&) const (this=0x0, call=...) at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/pybind11.h:184
#12 0x00007fd6ac798a32 in pybind11::cpp_function::initialize<pybind11::cpp_function::initialize<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}, std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(pybind11::cpp_function::initialize<std::tuple<bool, ecole::NoneType>, ecole::dynamics::ConfiguringDynamics, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&, pybind11::name, pybind11::is_method, pybind11::sibling, pybind11::arg, pybind11::arg, pybind11::call_guard<pybind11::gil_scoped_release> >(std::tuple<bool, ecole::NoneType> (ecole::dynamics::ConfiguringDynamics::*)(ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)#1}&&, std::tuple<bool, ecole::NoneType> (*)(ecole::dynamics::ConfiguringDynamics*, ecole::scip::Model&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::variant<bool, int, long long, double, char, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&), pybind11::name const&, pybind11::is_method const&, pybind11::sibling const&, pybind11::arg const&, pybind11::arg const&, pybind11::call_guard<pybind11::gil_scoped_release> const&)::{lambda(pybind11::detail::function_call&)#3}::_FUN(pybind11::detail::function_call&) () at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/pybind11.h:161
#13 0x00007fd6ac6ec887 in pybind11::cpp_function::dispatcher (self=0x7fd680fbe9c0, args_in=0x7fd680c75bc0, kwargs_in=0x0)
    at /home/maxime/Documents/ecole/build/_deps/pybind11-src/include/pybind11/pybind11.h:717
#14 0x000055ebebcad814 in cfunction_call_varargs (kwargs=<optimized out>, args=<optimized out>, func=0x7fd680fbf6d0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:742
--Type <RET> for more, q to quit, c to continue without paging--
#15 PyCFunction_Call (func=0x7fd680fbf6d0, args=<optimized out>, kwargs=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:772
#16 0x000055ebebcbc88e in _PyObject_MakeTpCall (callable=0x7fd680fbf6d0, args=<optimized out>, nargs=<optimized out>, keywords=<optimized out>)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:159
#17 0x000055ebebd34cee in _PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7fff0ef8cfa0, callable=0x7fd680fbf6d0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Include/cpython/abstract.h:125
#18 _PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=<optimized out>, callable=0x7fd680fbf6d0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Include/cpython/abstract.h:115
#19 method_vectorcall (method=<optimized out>, args=<optimized out>, nargsf=<optimized out>, kwnames=0x0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/classobject.c:89
#20 0x000055ebebca6ace in PyVectorcall_Call (kwargs=<optimized out>, tuple=<optimized out>, callable=0x7fd6ac8cf9c0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:199
#21 PyObject_Call (callable=0x7fd6ac8cf9c0, args=<optimized out>, kwargs=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:227
#22 0x000055ebebd516f0 in do_call_core (kwdict=0x7fd680e7f8c0, callargs=0x7fd680f91940, func=0x7fd6ac8cf9c0, tstate=<optimized out>)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:5010
#23 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:3559
#24 0x000055ebebd32b23 in PyEval_EvalFrameEx (throwflag=0, f=0x55ebed53d510) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:741
#25 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>, 
    kwargs=<optimized out>, kwcount=<optimized out>, kwstep=<optimized out>, defs=<optimized out>, defcount=<optimized out>, kwdefs=<optimized out>, closure=<optimized out>, 
    name=<optimized out>, qualname=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:4298
#26 0x000055ebebd33ef9 in _PyFunction_Vectorcall (func=<optimized out>, stack=0x7fd6ac9c75b0, nargsf=<optimized out>, kwnames=<optimized out>)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Objects/call.c:435
#27 0x000055ebebd4ff7b in _PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7fd6ac9c75b0, callable=0x7fd6874e84c0)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Include/cpython/abstract.h:127
#28 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, tstate=0x55ebed09ba50)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:4963
#29 _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:3486
#30 0x000055ebebd32b23 in PyEval_EvalFrameEx (throwflag=0, f=0x7fd6ac9c7440) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:741
#31 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>, 
    kwargs=<optimized out>, kwcount=<optimized out>, kwstep=<optimized out>, defs=<optimized out>, defcount=<optimized out>, kwdefs=<optimized out>, closure=<optimized out>, 
    name=<optimized out>, qualname=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:4298
#32 0x000055ebebd33b79 in PyEval_EvalCodeEx (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kws=<optimized out>, 
    kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:4327
#33 0x000055ebebdd5c0b in PyEval_EvalCode (co=co@entry=0x7fd6ac97d450, globals=globals@entry=0x7fd6aca27f00, locals=locals@entry=0x7fd6aca27f00)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/ceval.c:718
#34 0x000055ebebdd5ca3 in run_eval_code_obj (co=0x7fd6ac97d450, globals=0x7fd6aca27f00, locals=0x7fd6aca27f00)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/pythonrun.c:1125
#35 0x000055ebebdef8f3 in run_mod (mod=<optimized out>, filename=<optimized out>, globals=0x7fd6aca27f00, locals=0x7fd6aca27f00, flags=<optimized out>, arena=<optimized out>)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/pythonrun.c:1147
#36 0x000055ebebdf48a7 in PyRun_FileExFlags (fp=0x55ebed099e00, filename_str=<optimized out>, start=<optimized out>, globals=0x7fd6aca27f00, locals=0x7fd6aca27f00, closeit=1, 
    flags=0x7fff0ef8d6f8) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/pythonrun.c:1063
--Type <RET> for more, q to quit, c to continue without paging--
#37 0x000055ebebdf4a7c in PyRun_SimpleFileExFlags (fp=0x55ebed099e00, filename=<optimized out>, closeit=1, flags=0x7fff0ef8d6f8)
    at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/pythonrun.c:428
#38 0x000055ebebdf4ffd in pymain_run_file (cf=0x7fff0ef8d6f8, config=0x55ebed09aba0) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Modules/main.c:387
#39 pymain_run_python (exitcode=0x7fff0ef8d6f0) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Modules/main.c:612
#40 Py_RunMain () at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Modules/main.c:691
#41 0x000055ebebdf51b9 in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Modules/main.c:1123
#42 0x00007fd6ba0171e2 in __libc_start_main () from /lib64/libc.so.6
#43 0x000055ebebd68d19 in _start () at /home/conda/feedstock_root/build_artifacts/python-split_1606502903469/work/Python/getplatform.c:9

Python code and coredump test2.zip

AntoinePrv commented 3 years ago

I cannot not reproduce on MacOS, but I can reproduce on Linux (rossoblu).

Running with SCIP in Debug, I could get a failing assertion:

scipoptsuite-7.0.1/scip/src/scip/var.c:937 boundchgReleaseData: Assertion `boundchg != ((void *)0)' failed.

Program received signal SIGABRT, Aborted.
#0  0x00007f3d3490d387 in raise () from /lib64/libc.so.6
#1  0x00007f3d3490ea78 in abort () from /lib64/libc.so.6
#2  0x00007f3d349061a6 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007f3d34906252 in __assert_fail () from /lib64/libc.so.6
#4  0x00007f3d2da0862d in boundchgReleaseData (lp=0x7f3d37a71db0, eventqueue=0x7f3d37a55610, set=0x0, blkmem=0x7f3d37674ad0, boundchg=0x0) at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/var.c:1013
#5  SCIPdomchgFree (lp=<optimized out>, eventqueue=<optimized out>, set=<optimized out>, blkmem=<optimized out>, domchg=<optimized out>) at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/var.c:1004
#6  SCIPdomchgFree (domchg=0x7f3d37b93f98, blkmem=blkmem@entry=0x7f3d37674ad0, set=set@entry=0x7f3d3780c8f0, eventqueue=eventqueue@entry=0x7f3d37a55610, lp=lp@entry=0x7f3d37a71db0)
    at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/var.c:986
#7  0x00007f3d2d9f2401 in SCIPnodeFree (node=node@entry=0x7ffe44b2c0d0, blkmem=blkmem@entry=0x7f3d37674ad0, set=set@entry=0x7f3d3780c8f0, stat=stat@entry=0x7f3d37a3d250, eventfilter=eventfilter@entry=0x7f3d378e1d20,
    eventqueue=eventqueue@entry=0x7f3d37a55610, tree=0x7f3d37a88a80, lp=0x7f3d37a71db0) at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/tree.c:1156
#8  0x00007f3d2da014e5 in SCIPnodeFocus (node=node@entry=0x7ffe44b2c340, blkmem=blkmem@entry=0x7f3d37674ad0, set=set@entry=0x7f3d3780c8f0, messagehdlr=messagehdlr@entry=0x7f3d377f5780, stat=stat@entry=0x7f3d37a3d250,
    transprob=transprob@entry=0x7f3d37a88fb0, origprob=<optimized out>, primal=<optimized out>, tree=<optimized out>, reopt=<optimized out>, lp=<optimized out>, branchcand=<optimized out>, conflict=<optimized out>,
    conflictstore=<optimized out>, eventfilter=<optimized out>, eventqueue=<optimized out>, cliquetable=<optimized out>, cutoff=<optimized out>, postponed=<optimized out>, exitsolve=<optimized out>)
    at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/tree.c:4719
#9  0x00007f3d2d9e128b in SCIPsolveCIP (blkmem=0x7f3d37674ad0, set=0x7f3d3780c8f0, messagehdlr=<optimized out>, stat=0x7f3d37a3d250, mem=<optimized out>, origprob=0x7f3d37a3dc80, transprob=0x7f3d37a88fb0,
    primal=0x7f3d37a78500, tree=0x7f3d37a88a80, reopt=0x0, lp=0x7f3d37a71db0, relaxation=0x7f3d37a88c40, pricestore=0x7f3d37ac76b0, sepastore=0x7f3d37aa58f0, cutpool=0x7f3d37a5cca0, delayedcutpool=0x7f3d37ac5530,
    branchcand=0x7f3d37a5ce50, conflict=0x7f3d37a88320, conflictstore=0x7f3d37a47100, eventfilter=0x7f3d378e1d20, eventqueue=0x7f3d37a55610, cliquetable=0x7f3d37a78580, restart=0x7ffe44b2c480)
    at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/solve.c:4949
#10 0x00007f3d2d986a32 in SCIPsolve (scip=scip@entry=0x7f3d3780f110) at /local_workspace/proant/workspace/scipoptsuite-7.0.1/scip/src/scip/scip_solve.c:2650

The configuring environment is dead simple, there is no observation function so I'm wondering if it could be:

@gasse did you notice the bug on any other instance generator ?

gasse commented 3 years ago

My guess at this point is a SCIP bug. But you are right, it could come from our generator, or pyscipopt as well, since now the instance generator directly sets up a SCIP model instead of a plain LP file. Could be that we or PySCIPOpt do something stupid with variable bounds.

gasse commented 3 years ago

I have not experienced that with another generator, but I have not played a lot with them, besides the combinatorial auction one.

gasse commented 3 years ago

In order to clear PySCIPOpt / our generator, we could write the instance to an LP file, and then reset the environment by using that file instead of a pre-filled SCIP model. Does env.reset() still accept a file path ? If the segfault disappears, then probably the issue is due to PySCIPOpt / our generator. Otherwise if the segfault is still present, I would blame SCIP.

gasse commented 3 years ago

Ok, it looks like it really is SCIP. I can reproduce by using a regular LP file (obtained from our generator, but still I believe SCIP should be able to handle any valid LP instance).

(ecole) [maxime@maxime-laptop ecole]$ python test3.py
env seed: 79
action: {'branching/scorefac': 0.02761677187370471}
Segmentation fault (core dumped)

test3.zip

gasse commented 3 years ago

Next step is to reproduce with just SCIP, without Ecole, and we can send a bug report to our friends at ZIB :P

gasse commented 3 years ago

Ok so the bad news is I didn't manage to reproduce with only SCIP :( Could it be that the scip executable is compiled differently from the libscip.so library ? Otherwise it must come from us, or at least from the interaction with Ecole.

(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
(ecole) [maxime@maxime-laptop ecole]$ python test4.py 
Segmentation fault (core dumped)
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q
(ecole) [maxime@maxime-laptop ecole]$ scip -s test4.set -f test4.lp -q

test4.zip

AntoinePrv commented 3 years ago

I've managed to reproduce it with pyscipopt only, taking Ecole out of the equation

import pyscipopt

model = pyscipopt.Model()
model.readProblem("test4.lp")

model.setParams({
"branching/scorefunc" : "s",
"branching/scorefac" : 0.027616771873704711037778025684019667096436023712158203125,
"randomization/randomseedshift" : 2010334282,
"randomization/permutationseed" : 1715508413,
"randomization/permuteconss" : True,
"randomization/permutevars" : True,
"randomization/lpseed" : 1982403395,
"presolving/maxrounds" : 0,
"branching/vanillafullstrong/priority" : 666666,
})

model.optimize()
gasse commented 3 years ago

Have you submitted a bug report yet ? If not maybe let's try to reproduce with SCIP 7.0.2, and submit then. I had a look at the release note, it looks like they fixed a bunch of stuff, so maybe it has been fixed already. https://www.scipopt.org/doc/html/RN70.php

AntoinePrv commented 3 years ago

I have not reported. I'll wait for the conda-forge PR for SCIP to be merged before building 7.0.2.