У меня есть программа Rust, которая тихо завершает работу без каких-либо следов в журналах. Это произойдет после нескольких успешных вызовов одного и того же метода. Последний журнал, который я вижу, это тот, после которого делается вызов FFI. Я не получаю журнал после возврата вызова FFI.
use cpython;
use cpython::ObjectProtocol;
use cpython::PyResult;
fn is_complete(&self, check: bool) -> Result<bool, PyModuleError> {
let gil = cpython::Python::acquire_gil();
let py = gil.python();
debug!("Calling complete"); //This is the last log
let res = self
.py_complete
.call_method(py, "complete", (check,), None)
.expect("No method complete on python module")
.extract::<bool>(py).unwrap();
if res {
debug!("Returning true"); //This does not appear
Ok(true)
}
else {
debug!("Returning false"); //This does not appear
Ok(false)
}
}
Модуль Python возвращает значение, так как у меня там также были журналы отладки для подтверждения.
Я пытался использовать RUST_BACKTRACE=1
, но тщетно.