XBT_INFO("From signal: %s", strsignal(WTERMSIG(status)));
else if (WIFEXITED(status))
XBT_INFO("From exit: %i", WEXITSTATUS(status));
- if (WCOREDUMP(status))
- XBT_INFO("A core dump was generated by the system.");
- else
- XBT_INFO("No core dump was generated by the system.");
+ if (not xbt_log_no_loc)
+ XBT_INFO("%s core dump was generated by the system.", WCOREDUMP(status) ? "A" : "No");
XBT_INFO("Counter-example execution trace:");
for (auto const& s : mc_model_checker->getChecker()->get_textual_trace())
XBT_INFO(" %s", s.c_str());
xbt_die("Could not PTRACE_CONT");
}
- else if (WIFEXITED(status) || WIFSIGNALED(status)) {
+ else if (WIFSIGNALED(status)) {
+ MC_report_crash(status);
+ mc_model_checker->exit(SIMGRID_MC_EXIT_PROGRAM_CRASH);
+ } else if (WIFEXITED(status)) {
XBT_DEBUG("Child process is over");
this->process().terminate();
}
s_mc_message_simcall_handle_t m;
memset(&m, 0, sizeof(m));
m.type = MC_MESSAGE_SIMCALL_HANDLE;
- m.pid = transition.pid;
- m.value = transition.argument;
+ m.pid = transition.pid_;
+ m.value = transition.argument_;
this->process_->get_channel().send(m);
this->process_->clear_cache();
if (this->process_->running())