From: Christophe ThiƩry Date: Wed, 20 Apr 2011 09:35:52 +0000 (+0200) Subject: MC: make the output independent of the type of processor (32/64 bit) X-Git-Tag: v3_6_rc3~136 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d0e4ae3b3d22ddcfedb7927b96cf7073f45f0c22?hp=-c MC: make the output independent of the type of processor (32/64 bit) --- d0e4ae3b3d22ddcfedb7927b96cf7073f45f0c22 diff --git a/examples/msg/mc/bugged1.tesh b/examples/msg/mc/bugged1.tesh index 7e5d5ed44d..66147f0ae6 100644 --- a/examples/msg/mc/bugged1.tesh +++ b/examples/msg/mc/bugged1.tesh @@ -54,15 +54,15 @@ $ ${bindir:=.}/bugged1 --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)% > [ 0.000000] (1:server@HostA) *** PROPERTY NOT VALID *** > [ 0.000000] (1:server@HostA) ************************** > [ 0.000000] (1:server@HostA) Counter-example execution trace: -> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0) -> [ 0.000000] (1:server@HostA) [(2)client] iSend (src=client, buff=(verbose only), size=8) +> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=(verbose only)) +> [ 0.000000] (1:server@HostA) [(2)client] iSend (src=client, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(2)client -> (1)server]) -> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0) +> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(2)client] Wait (comm=(verbose only) [(2)client -> (1)server]) -> [ 0.000000] (1:server@HostA) [(4)client] iSend (src=client, buff=(verbose only), size=8) +> [ 0.000000] (1:server@HostA) [(4)client] iSend (src=client, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(4)client -> (1)server]) -> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0) -> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=8) +> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=(verbose only)) +> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(3)client -> (1)server]) > [ 0.000000] (1:server@HostA) State space size ~= 1 > [ 0.000000] (1:server@HostA) Expanded states = 47 diff --git a/examples/msg/mc/bugged2.tesh b/examples/msg/mc/bugged2.tesh index 2d409e91be..d4eca5c813 100644 --- a/examples/msg/mc/bugged2.tesh +++ b/examples/msg/mc/bugged2.tesh @@ -1606,12 +1606,12 @@ $ ${bindir:=.}/bugged2 --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)% > [ 0.000000] (1:server@HostA) *** PROPERTY NOT VALID *** > [ 0.000000] (1:server@HostA) ************************** > [ 0.000000] (1:server@HostA) Counter-example execution trace: -> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0) -> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=8) +> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=(verbose only)) +> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(3)client -> (1)server]) -> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=0) +> [ 0.000000] (1:server@HostA) [(1)server] iRecv (dst=server, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(3)client] Wait (comm=(verbose only) [(3)client -> (1)server]) -> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=8) +> [ 0.000000] (1:server@HostA) [(3)client] iSend (src=client, buff=(verbose only), size=(verbose only)) > [ 0.000000] (1:server@HostA) [(1)server] Wait (comm=(verbose only) [(3)client -> (1)server]) > [ 0.000000] (1:server@HostA) State space size ~= 1 > [ 0.000000] (1:server@HostA) Expanded states = 1387 diff --git a/src/mc/mc_request.c b/src/mc/mc_request.c index 2927c5174e..4f484495b5 100644 --- a/src/mc/mc_request.c +++ b/src/mc/mc_request.c @@ -4,6 +4,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_request, mc, "Logging specific to MC (request)"); static char* pointer_to_string(void* pointer); +static char* buff_size_to_string(size_t size); int MC_request_depend(smx_req_t r1, smx_req_t r2) { @@ -155,9 +156,18 @@ static char* pointer_to_string(void* pointer) { return xbt_strdup("(verbose only)"); } +static char* buff_size_to_string(size_t buff_size) { + + if (XBT_LOG_ISENABLED(mc_request, xbt_log_priority_verbose)) + return bprintf("%zu", buff_size); + + return xbt_strdup("(verbose only)"); +} + + char *MC_request_to_string(smx_req_t req, int value) { - char *type = NULL, *args = NULL, *str = NULL, *p = NULL; + char *type = NULL, *args = NULL, *str = NULL, *p = NULL, *bs = NULL; smx_action_t act = NULL; size_t size = 0; @@ -165,15 +175,15 @@ char *MC_request_to_string(smx_req_t req, int value) case REQ_COMM_ISEND: type = xbt_strdup("iSend"); p = pointer_to_string(req->comm_isend.src_buff); - args = bprintf("src=%s, buff=%s, size=%zu", req->issuer->name, - p, req->comm_isend.src_buff_size); + bs = buff_size_to_string(req->comm_isend.src_buff_size); + args = bprintf("src=%s, buff=%s, size=%s", req->issuer->name, p, bs); break; case REQ_COMM_IRECV: size = req->comm_irecv.dst_buff_size ? *req->comm_irecv.dst_buff_size : 0; type = xbt_strdup("iRecv"); p = pointer_to_string(req->comm_irecv.dst_buff); - args = bprintf("dst=%s, buff=%s, size=%zu", req->issuer->name, - p, size); + bs = buff_size_to_string(size); + args = bprintf("dst=%s, buff=%s, size=%s", req->issuer->name, p, bs); break; case REQ_COMM_WAIT: act = req->comm_wait.comm; @@ -233,6 +243,7 @@ char *MC_request_to_string(smx_req_t req, int value) xbt_free(type); xbt_free(args); xbt_free(p); + xbt_free(bs); return str; }