#if HAVE_MC
#include "src/mc/mc_private.h"
-#include "src/mc/mc_protocol.h"
-#include "src/mc/Client.hpp"
-
+#include "src/mc/remote/Client.hpp"
+#include "src/mc/remote/mc_protocol.h"
#include <stdlib.h>
-#include "src/mc/mc_protocol.h"
#endif
#include "src/mc/mc_record.h"
{
if (siginfo->si_signo == SIGSEGV && siginfo->si_code == SEGV_ACCERR) {
fprintf(stderr, "Access violation detected.\n"
- "This can result from a programming error in your code or, although less likely,\n"
- "from a bug in SimGrid itself. This can also be the sign of a bug in the OS or\n"
- "in third-party libraries. Failing hardware can sometimes generate such errors\n"
- "too.\n"
- "Finally, if nothing of the above applies, this can result from a stack overflow.\n"
- "Try to increase stack size with --cfg=contexts/stack-size (current size is %d KiB).\n",
+ "This probably comes from a programming error in your code, or from a stack\n"
+ "overflow. If you are certain of your code, try increasing the stack size\n"
+ " --cfg=contexts/stack-size=XXX (current size is %d KiB).\n"
+ "\n"
+ "If it does not help, this may have one of the following causes:\n"
+ "a bug in SimGrid, a bug in the OS or a bug in a third-party libraries.\n"
+ "Failing hardware can sometimes generate such errors too.\n"
+ "\n"
+ "If you think you've found a bug in SimGrid, please report it along with a\n"
+ "Minimal Working Example (MWE) reproducing your problem and a full backtrace\n"
+ "of the fault captured with gdb or valgrind.\n",
smx_context_stack_size / 1024);
if (XBT_LOG_ISENABLED(simix_kernel, xbt_log_priority_debug)) {
fprintf(stderr, "siginfo = {si_signo = %d, si_errno = %d, si_code = %d, si_addr = %p}\n",
void SIMIX_set_maestro(void (*code)(void*), void* data)
{
#ifdef _WIN32
- INFO("WARNING, SIMIX_set_maestro is believed to not work on windows. Please help us investigating this issue if you need that feature");
+ XBT_INFO("WARNING, SIMIX_set_maestro is believed to not work on windows. Please help us investigating this issue if you need that feature");
#endif
maestro_code = std::bind(code, data);
}
surf_exit();
simix_global = nullptr;
- return;
}
/* Autorestart all process */
for (auto host: host_that_restart) {
- XBT_INFO("Restart processes on host: %s", sg_host_get_name(host));
+ XBT_INFO("Restart processes on host %s", host->cname());
SIMIX_host_autorestart(host);
}
host_that_restart.clear();
*
* Set the date to execute the function on the surf.
* \param date Date to execute function
- * \param function Function to be executed
+ * \param callback Function to be executed
* \param arg Parameters of the function
*
*/
break;
*/
- XBT_INFO("Process %lu (%s@%s): waiting for %s synchro %p (%s) in state %d to finish",
- process->pid, process->name.c_str(), sg_host_get_name(process->host),
- synchro_description, process->waiting_synchro,
- process->waiting_synchro->name.c_str(), (int)process->waiting_synchro->state);
+ XBT_INFO("Process %lu (%s@%s): waiting for %s synchro %p (%s) in state %d to finish", process->pid,
+ process->cname(), process->host->cname(), synchro_description, process->waiting_synchro,
+ process->waiting_synchro->name.c_str(), (int)process->waiting_synchro->state);
}
else {
- XBT_INFO("Process %lu (%s@%s)", process->pid, process->name.c_str(), sg_host_get_name(process->host));
+ XBT_INFO("Process %lu (%s@%s)", process->pid, process->cname(), process->host->cname());
}
}
}
-xbt_dict_t simcall_HANDLER_asr_get_properties(smx_simcall_t simcall, const char *name){
- return SIMIX_asr_get_properties(name);
-}
-xbt_dict_t SIMIX_asr_get_properties(const char *name)
-{
- return static_cast<xbt_dict_t>(xbt_lib_get_or_null(as_router_lib, name, ROUTING_PROP_ASR_LEVEL));
-}
-
int SIMIX_is_maestro()
{
return simix_global==nullptr /*SimDag*/|| SIMIX_process_self() == simix_global->maestro_process;