A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
cosmetics
[simgrid.git]
/
src
/
simix
/
smx_global.cpp
diff --git
a/src/simix/smx_global.cpp
b/src/simix/smx_global.cpp
index bfb56d5f0f3ff92166c271290fd6043f069fdab6..95c67dacdec515acb61a26e1b3aae79b450cd2c7 100644
(file)
--- a/
src/simix/smx_global.cpp
+++ b/
src/simix/smx_global.cpp
@@
-81,12
+81,17
@@
static void segvhandler(int signum, siginfo_t *siginfo, void *context)
{
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",
@@
-177,7
+182,7
@@
XBT_PUBLIC(void) set_maestro(std::function<void()> code)
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);
}
@@
-535,7
+540,7
@@
void SIMIX_run()
/* 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();
@@
-678,25
+683,16
@@
void SIMIX_display_process_status()
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;