pleco-rs / Pleco

A Rust-based re-write of the Stockfish Chess Engine
https://crates.io/crates/pleco
GNU General Public License v3.0
358 stars 38 forks source link

Engine doesn't work in Arena #132

Open MakotoE opened 3 years ago

MakotoE commented 3 years ago

I tried to use pleco_engine in Arena but it keeps panicking. I'm running it on Debian buster x86-64.

Reproduction steps:

  1. Compile pleco_engine, add engine to Arena, then load it as engine 1
  2. Start engine
  3. Arena doesn't output analysis, and the logs show that it panicked
2021-05-02 15:14:32.208**----------New game---2021-05-02 15:14:32,208 Sun -------------
2021-05-02 15:14:33.370*1*Start calc, move no: 1
2021-05-02 15:14:33.371-->1:ucinewgame
2021-05-02 15:14:33.371-->1:isready
2021-05-02 15:14:33.371<--1:readyok
2021-05-02 15:14:33.378-->1:position startpos moves e2e4
2021-05-02 15:14:33.378-->1:go wtime 300000 btime 300000 winc 0 binc 0
2021-05-02 15:14:33.378<--1:info id 0 start
2021-05-02 15:14:33.378<--1:thread '1' panicked at 'attempted to leave type `movepick::pick::Pick` uninitialized, which is invalid', /home/makoto/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/mem/mod.rs:660:9
2021-05-02 15:14:33.378<--1:stack backtrace:
2021-05-02 15:14:33.379<--1:   0:     0x55fcb6c5c530 - std::backtrace_rs::backtrace::libunwind::trace::hdcf4f90f85129e83
2021-05-02 15:14:33.379<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
2021-05-02 15:14:33.380<--1:   1:     0x55fcb6c5c530 - std::backtrace_rs::backtrace::trace_unsynchronized::h2669e30cb82f6732
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2021-05-02 15:14:33.380<--1:   2:     0x55fcb6c5c530 - std::sys_common::backtrace::_print_fmt::hfbda19e17f6db318
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:67:5
2021-05-02 15:14:33.380<--1:   3:     0x55fcb6c5c530 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1a8751bf59281272
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:46:22
2021-05-02 15:14:33.380<--1:   4:     0x55fcb6c1b0ef - core::fmt::write::h7aa6cd0067dca82a
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/core/src/fmt/mod.rs:1094:17
2021-05-02 15:14:33.380<--1:   5:     0x55fcb6c5bd44 - std::io::Write::write_fmt::hd7dd3a1df9b6befb
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/io/mod.rs:1580:15
2021-05-02 15:14:33.380<--1:   6:     0x55fcb6c5b8c5 - std::sys_common::backtrace::_print::h551e9ec8a9fa8106
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:49:5
2021-05-02 15:14:33.380<--1:   7:     0x55fcb6c5b8c5 - std::sys_common::backtrace::print::ha4b1c5e95fa040b3
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:36:9
2021-05-02 15:14:33.380<--1:   8:     0x55fcb6c5b8c5 - std::panicking::default_hook::{{closure}}::h0b34c9ab7fb9f857
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:208:50
2021-05-02 15:14:33.380<--1:   9:     0x55fcb6c5a8bb - std::panicking::default_hook::h3067e8318decd17a
2021-05-02 15:14:33.380<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:225:9
2021-05-02 15:14:33.380<--1:  10:     0x55fcb6c5a8bb - std::panicking::rust_panic_with_hook::h81b8facc50f34daa
2021-05-02 15:14:33.381<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:591:17
2021-05-02 15:14:33.381<--1:  11:     0x55fcb6c75910 - std::panicking::begin_panic_handler::{{closure}}::ha376ab85d95a000e
2021-05-02 15:14:33.381<--1:  12:     0x55fcb6c758ac - std::sys_common::backtrace::__rust_end_short_backtrace::h6795c8afdd1a77e6
2021-05-02 15:14:33.382<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:141:18
2021-05-02 15:14:33.382<--1:  13:     0x55fcb6c7585d - rust_begin_unwind
2021-05-02 15:14:33.382<--1:BytesRead > 0
2021-05-02 15:14:33.382<--1:n > 0
2021-05-02 15:14:33.382<--1:-- LiesThread.Execute terminated --
2021-05-02 15:14:33.383<--1::5
2021-05-02 15:14:33.383<--1:  14:     0x55fcb6c131f0 - core::panicking::panic_fmt::hbe99dddd3092ba3c
2021-05-02 15:14:33.383<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/core/src/panicking.rs:92:14
2021-05-02 15:14:33.383<--1:  15:     0x55fcb6c1313c - core::panicking::panic::h3de4db67bd397eb3
2021-05-02 15:14:33.383<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/core/src/panicking.rs:50:5
2021-05-02 15:14:33.383<--1:  16:     0x55fcb6c3ae2c - pleco_engine::search::Searcher::search::h5101e7830a14161b
2021-05-02 15:14:33.383<--1:  17:     0x55fcb6c3a524 - pleco_engine::search::Searcher::search::h5101e7830a14161b
2021-05-02 15:14:33.383<--1:  18:     0x55fcb6c36378 - pleco_engine::search::Searcher::search_root::ha097df830d13b18a
2021-05-02 15:14:33.383<--1:  19:     0x55fcb6c359ac - std::sys_common::backtrace::__rust_begin_short_backtrace::hfe1ee00e5ba6c1af
2021-05-02 15:14:33.383<--1:  20:     0x55fcb6c35679 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h5f7dd8b7c406aef8
2021-05-02 15:14:33.383<--1:  21:     0x55fcb6c79455 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3aa31cb6360b59d9
2021-05-02 15:14:33.383<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/alloc/src/boxed.rs:1546:9
2021-05-02 15:14:33.383<--1:  22:     0x55fcb6c79455 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7719d3c7c5841461
2021-05-02 15:14:33.383<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/alloc/src/boxed.rs:1546:9
2021-05-02 15:14:33.383<--1:  23:     0x55fcb6c79455 - std::sys::unix::thread::Thread::new::thread_start::hfbe13ead469fd0bc
2021-05-02 15:14:33.383<--1:                               at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys/unix/thread.rs:71:17
2021-05-02 15:14:33.383<--1:  24:     0x7fe79102afa3 - start_thread
2021-05-02 15:14:33.383<--1:  25:     0x7fe790dd34cf - clone
2021-05-02 15:14:33.383<--1:  26:                0x0 - <unknown>
MakotoE commented 3 years ago

I compiled in debug profile and that binary outputted a different message. I don't know if this error is related to the previous one in release profile.

2021-05-02 14:44:51.078*1*--------------------------Starting engine 1 Pleco---------------------------
2021-05-02 14:44:51.083*1*Configured Engine 1 Type:   UCI
2021-05-02 14:44:51.083*1*enginedebug:CommandLine: >>nice -1 /home/makoto/Documents/Pleco/target/debug/pleco <<
2021-05-02 14:44:51.083*1*enginedebug:-- executing engine--
2021-05-02 14:44:51.084*1*enginedebug:EngineReadThread create...
2021-05-02 14:44:51.084*1*enginedebug:EngineReadThread created suspended
2021-05-02 14:44:51.085*1*enginedebug:-- Thread now starting --
2021-05-02 14:44:51.085*1*enginedebug:-- Tengine.Redirect finished --
2021-05-02 14:44:51.106<--1:-- starting engine[slotnr].EngineProcess --
2021-05-02 14:44:51.118<--1:-- engine[slotnr].EngineProcess.Running --
2021-05-02 14:44:51.118-->1:uci
2021-05-02 14:44:51.322<--1:thread 'main' has overflowed its stack
2021-05-02 14:44:51.322<--1:fatal runtime error: stack overflow
2021-05-02 14:44:51.323<--1:BytesRead > 0
2021-05-02 14:44:51.323<--1:-- LiesThread.Execute terminated --
2021-05-02 14:44:59.276*1*-- EngineProcess not Running:6--
2021-05-02 14:44:59.276*1*enginedebug:--2 Engine not loaded