Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
3 years agouse previous buffer check feature in MPI checks, to crash when a buffer overflow...
Augustin Degomme [Fri, 9 Apr 2021 01:29:52 +0000 (03:29 +0200)]
use previous buffer check feature in MPI checks, to crash when a buffer overflow is detected and provide good information.

3 years agoCount all intercepted allocations/deallocations in order to build a small leak-checker.
Augustin Degomme [Fri, 9 Apr 2021 01:28:02 +0000 (03:28 +0200)]
Count all intercepted allocations/deallocations in order to build a small leak-checker.
This allows to check for leaks, but also to provide debug information on the involved buffers (file, line, size) when a crash happens
todo: evaluate memory cost and slowdown for real apps (disabled by default, needs --cfg=smpi/display-allocs or -analyze flag to be activated)

3 years agoUse directly std::string instead of c_str.
Bruno Donassolo [Fri, 9 Apr 2021 08:36:52 +0000 (10:36 +0200)]
Use directly std::string instead of c_str.

3 years agos4u::Host::create_disk, human-friendly string version
Bruno Donassolo [Thu, 8 Apr 2021 16:47:41 +0000 (18:47 +0200)]
s4u::Host::create_disk, human-friendly string version

3 years agos4u::Host: moving create_disk impl to HostImpl
Bruno Donassolo [Thu, 8 Apr 2021 16:33:03 +0000 (18:33 +0200)]
s4u::Host: moving create_disk impl to HostImpl

3 years agos4u::Disk allow chaining set_property
Bruno Donassolo [Thu, 8 Apr 2021 16:22:18 +0000 (18:22 +0200)]
s4u::Disk allow chaining set_property

3 years agos4u: allows full single-line initialization
Bruno Donassolo [Thu, 8 Apr 2021 14:32:02 +0000 (16:32 +0200)]
s4u: allows full single-line initialization

seal() returns a pointer to the s4u object.
Allows users to use the object after its seal, without having to do it
in another line

3 years agoMake fields private, and static functions class-member.
Arnaud Giersch [Thu, 8 Apr 2021 09:03:26 +0000 (11:03 +0200)]
Make fields private, and static functions class-member.

3 years agoUseless forward declaration.
Arnaud Giersch [Thu, 8 Apr 2021 08:22:10 +0000 (10:22 +0200)]
Useless forward declaration.

3 years agoRedundant code (ctor is already inherited).
Arnaud Giersch [Thu, 8 Apr 2021 08:15:07 +0000 (10:15 +0200)]
Redundant code (ctor is already inherited).

3 years agoPrefer nullptr.
Arnaud Giersch [Wed, 7 Apr 2021 13:16:39 +0000 (15:16 +0200)]
Prefer nullptr.

3 years agoKill erroneous constant.
Arnaud Giersch [Wed, 7 Apr 2021 13:08:26 +0000 (15:08 +0200)]
Kill erroneous constant.

3 years agoConst/override for member functions.
Arnaud Giersch [Wed, 7 Apr 2021 12:54:52 +0000 (14:54 +0200)]
Const/override for member functions.

3 years agoInherited constructor.
Arnaud Giersch [Wed, 7 Apr 2021 12:49:19 +0000 (14:49 +0200)]
Inherited constructor.

3 years agoPointer-to-const parameter.
Arnaud Giersch [Wed, 7 Apr 2021 12:48:21 +0000 (14:48 +0200)]
Pointer-to-const parameter.

3 years agocontinue to mess with platform creation
SUTER Frederic [Wed, 7 Apr 2021 08:15:41 +0000 (10:15 +0200)]
continue to mess with platform creation

3 years agoKill empty statement.
Arnaud Giersch [Wed, 7 Apr 2021 11:34:43 +0000 (13:34 +0200)]
Kill empty statement.

3 years agoMake BacktraceImpl::resolve a bit faster.
Arnaud Giersch [Wed, 7 Apr 2021 09:07:16 +0000 (11:07 +0200)]
Make BacktraceImpl::resolve a bit faster.

Print the full frame information all at once.

3 years agoReplace void* used for RemoteProcess pointers.
Arnaud Giersch [Tue, 6 Apr 2021 10:19:14 +0000 (12:19 +0200)]
Replace void* used for RemoteProcess pointers.

3 years agoUse a RemotePtr<> for RemoteProcess::heap_address.
Arnaud Giersch [Tue, 6 Apr 2021 21:38:54 +0000 (23:38 +0200)]
Use a RemotePtr<> for RemoteProcess::heap_address.

3 years agoStop using void* for xbt_mheap_t.
Arnaud Giersch [Tue, 6 Apr 2021 18:57:36 +0000 (20:57 +0200)]
Stop using void* for xbt_mheap_t.

3 years agoFix cloud.xml: symmetrical routes are implicit.
Arnaud Giersch [Tue, 6 Apr 2021 16:12:06 +0000 (18:12 +0200)]
Fix cloud.xml: symmetrical routes are implicit.

Add file to basic_parsing_test so that it doesn't remain untested..

3 years agoMake NetworkConstantAction "final": virtual set_state() called from constructor.
Arnaud Giersch [Wed, 7 Apr 2021 07:43:23 +0000 (09:43 +0200)]
Make NetworkConstantAction "final": virtual set_state() called from constructor.

3 years agoMake virtual functions called from constructor "final".
Arnaud Giersch [Sat, 3 Apr 2021 21:59:15 +0000 (23:59 +0200)]
Make virtual functions called from constructor "final".

Sonar S1699: Constructors and destructors should only use defined methods and fields

3 years agoplease sonar
Augustin Degomme [Wed, 7 Apr 2021 09:04:52 +0000 (11:04 +0200)]
please sonar

3 years agoDisplay leak origin in message, if -trace-call-location is used.
Augustin Degomme [Wed, 7 Apr 2021 08:29:07 +0000 (10:29 +0200)]
Display leak origin in message, if -trace-call-location is used.
+ downgrade messages to INFO.

3 years agohide references to current_handle inside *.cpp file, to avoid breaking if SMPI is...
Augustin Degomme [Wed, 7 Apr 2021 08:27:44 +0000 (10:27 +0200)]
hide references to current_handle inside *.cpp file, to avoid breaking if SMPI is not compiled

3 years agoappease 32 bits
Augustin Degomme [Tue, 6 Apr 2021 20:53:45 +0000 (22:53 +0200)]
appease 32 bits

3 years agoUse a Remote<> for remote smpi::Request.
Arnaud Giersch [Tue, 6 Apr 2021 20:42:00 +0000 (22:42 +0200)]
Use a Remote<> for remote smpi::Request.

3 years agoappease clang
Augustin Degomme [Tue, 6 Apr 2021 18:34:27 +0000 (20:34 +0200)]
appease clang

3 years agochange the way we display leak types, skipping demangling
Augustin Degomme [Tue, 6 Apr 2021 18:06:47 +0000 (20:06 +0200)]
change the way we display leak types, skipping demangling

3 years agotry to improve handling of comm_self a bit.
Augustin Degomme [Tue, 6 Apr 2021 18:05:22 +0000 (20:05 +0200)]
try to improve handling of comm_self a bit.

3 years agofix for potentially empty names
Augustin Degomme [Tue, 6 Apr 2021 16:42:02 +0000 (18:42 +0200)]
fix for potentially empty names

3 years agoAdd the option to print origin of a failing handle.
Augustin Degomme [Tue, 6 Apr 2021 15:43:28 +0000 (17:43 +0200)]
Add the option to print origin of a failing handle.
This uses trace-call-location flag for smpicc, store the value at handle creation, and tries to return the most relevant one on a crash (that's actually a pain and will have to be checked)

3 years agoadd a name() to all F2C objects.
Augustin Degomme [Tue, 6 Apr 2021 15:39:50 +0000 (17:39 +0200)]
add a name() to all F2C objects.
This avoids demangling need for leak check (and should fix tests, as freebsd has a broken demangler on our ci system).

3 years agooops
Augustin Degomme [Tue, 6 Apr 2021 15:22:36 +0000 (17:22 +0200)]
oops

3 years agosame for win, get_info needs a copy.
Augustin Degomme [Tue, 6 Apr 2021 15:13:51 +0000 (17:13 +0200)]
same for win, get_info needs a copy.

3 years agoremove unwanted s4u include in all smpi files
Augustin Degomme [Tue, 6 Apr 2021 15:08:47 +0000 (17:08 +0200)]
remove unwanted s4u include in all smpi files

3 years agoget_info calls actually must return a copy.
Augustin Degomme [Tue, 6 Apr 2021 15:06:50 +0000 (17:06 +0200)]
get_info calls actually must return a copy.

3 years agogeneralize mark_as_deleted call
Augustin Degomme [Tue, 6 Apr 2021 15:06:17 +0000 (17:06 +0200)]
generalize mark_as_deleted call

3 years agoDon't add handles to the lookup for the sake of just removing them immediately...
Augustin Degomme [Mon, 5 Apr 2021 21:57:12 +0000 (23:57 +0200)]
Don't add handles to the lookup for the sake of just removing them immediately...
if they're not there .. well they are not.

3 years agoadd two fortran declarations
Augustin Degomme [Mon, 5 Apr 2021 21:55:13 +0000 (23:55 +0200)]
add two fortran declarations

3 years agoAdd message to help improve backtrace
Augustin Degomme [Mon, 5 Apr 2021 12:33:30 +0000 (14:33 +0200)]
Add message to help improve backtrace

3 years ago\t removed
Augustin Degomme [Mon, 5 Apr 2021 10:28:27 +0000 (12:28 +0200)]
\t removed

3 years agoprint backtrace when we exit due to an MPI failure
Augustin Degomme [Mon, 5 Apr 2021 10:28:18 +0000 (12:28 +0200)]
print backtrace when we exit due to an MPI failure

3 years agofactor on_creation signal trigger in Host::seal()
SUTER Frederic [Tue, 6 Apr 2021 17:51:34 +0000 (19:51 +0200)]
factor on_creation signal trigger in Host::seal()

3 years agoprefer create_host than creating the creation args
SUTER Frederic [Tue, 6 Apr 2021 16:53:42 +0000 (18:53 +0200)]
prefer create_host than creating the creation args

3 years agocleanups
SUTER Frederic [Tue, 6 Apr 2021 16:15:23 +0000 (18:15 +0200)]
cleanups

3 years agosimplify kernel part of disk. It's really shallow now
SUTER Frederic [Tue, 6 Apr 2021 12:23:08 +0000 (14:23 +0200)]
simplify kernel part of disk. It's really shallow now

3 years agocosmetics
SUTER Frederic [Tue, 6 Apr 2021 11:56:22 +0000 (13:56 +0200)]
cosmetics

3 years agoMatch Io and Exec creation
SUTER Frederic [Tue, 6 Apr 2021 10:32:18 +0000 (12:32 +0200)]
Match Io and Exec creation

3 years agoSave one assert and do not use shring policy to determine if WifiLink
SUTER Frederic [Tue, 6 Apr 2021 07:53:01 +0000 (09:53 +0200)]
Save one assert and do not use shring policy to determine if WifiLink

3 years agocosmetics
SUTER Frederic [Tue, 6 Apr 2021 07:45:11 +0000 (09:45 +0200)]
cosmetics

3 years agoSingle way to create links in NetZone
Bruno Donassolo [Tue, 6 Apr 2021 09:30:04 +0000 (11:30 +0200)]
Single way to create links in NetZone

With the refactoring, we don't need 2 methods in NetZoneImpl to create
new links.
The link type (wifi or wired) is determined by the NetZone type
(WifiZone).

3 years agoSimplify NetZone's hierarchy
Bruno Donassolo [Tue, 6 Apr 2021 08:52:21 +0000 (10:52 +0200)]
Simplify NetZone's hierarchy

A NetZone is RoutingMode::base by default. When we add a child to it, it
becomes RoutingMode::recursive.

3 years agoOne method to set netzone's relationship
Bruno Donassolo [Tue, 6 Apr 2021 08:27:02 +0000 (10:27 +0200)]
One method to set netzone's relationship

A netzone is child of its parent, set_parent() is enough to determine
the relationship parent/child of netzones.

3 years agoCopy models from parent netzone
Bruno Donassolo [Tue, 6 Apr 2021 08:01:21 +0000 (10:01 +0200)]
Copy models from parent netzone

Allows user creating new netzones without explicitly setting models

3 years agoMinor fix in doc
Bruno Donassolo [Tue, 6 Apr 2021 07:55:01 +0000 (09:55 +0200)]
Minor fix in doc

3 years ago[appveyor] Stick to the stable branch of pybind11.
Arnaud Giersch [Sun, 4 Apr 2021 21:55:42 +0000 (23:55 +0200)]
[appveyor] Stick to the stable branch of pybind11.

3 years agoMissing space (?).
Arnaud Giersch [Sat, 3 Apr 2021 19:50:47 +0000 (21:50 +0200)]
Missing space (?).

3 years agochecks for PMPI_Type_create_subarray
Augustin Degomme [Sun, 4 Apr 2021 17:14:21 +0000 (19:14 +0200)]
checks for PMPI_Type_create_subarray

3 years agocheck for alloc mem
Augustin Degomme [Sun, 4 Apr 2021 17:13:53 +0000 (19:13 +0200)]
check for alloc mem

3 years agocheck illegal in_place for gather/scatter
Augustin Degomme [Sun, 4 Apr 2021 15:11:27 +0000 (17:11 +0200)]
check illegal in_place for gather/scatter
also stop calling pid rank, it's confusing.

3 years agocheck ranks for probes/iprobes
Augustin Degomme [Sun, 4 Apr 2021 15:11:09 +0000 (17:11 +0200)]
check ranks for probes/iprobes

3 years agoincrease rank checking for RMA comms
Augustin Degomme [Sun, 4 Apr 2021 15:10:53 +0000 (17:10 +0200)]
increase rank checking for RMA comms

3 years agothis test is invalid with 1 process. Align with mpich and use 8.
Augustin Degomme [Sat, 3 Apr 2021 23:05:38 +0000 (01:05 +0200)]
this test is invalid with 1 process. Align with mpich and use 8.

3 years agogroup inputs validation
Augustin Degomme [Sat, 3 Apr 2021 23:05:01 +0000 (01:05 +0200)]
group inputs validation

3 years agoset keyval to invalid after free
Augustin Degomme [Sat, 3 Apr 2021 23:04:12 +0000 (01:04 +0200)]
set keyval to invalid after free

3 years agoMPI_Abort : try to kill other processes from the communicator.
Augustin Degomme [Sat, 3 Apr 2021 13:49:56 +0000 (15:49 +0200)]
MPI_Abort : try to kill other processes from the communicator.
No idea if this helps

3 years agoKeyvals : handle MPI_KEYVAL_INVALID
Augustin Degomme [Sat, 3 Apr 2021 13:48:18 +0000 (15:48 +0200)]
Keyvals : handle MPI_KEYVAL_INVALID

3 years agoErrhandler : inputs + cleanup
Augustin Degomme [Sat, 3 Apr 2021 13:47:51 +0000 (15:47 +0200)]
Errhandler : inputs + cleanup

3 years agooops.
Augustin Degomme [Sat, 3 Apr 2021 12:52:03 +0000 (14:52 +0200)]
oops.

3 years agoAbort : check input, and remove fixme... Actual implementations do the same
Augustin Degomme [Sat, 3 Apr 2021 12:51:49 +0000 (14:51 +0200)]
Abort : check input, and remove fixme... Actual implementations do the same

3 years agoInit : dont just crash with asserts, return errors (they will crash if errhandler...
Augustin Degomme [Sat, 3 Apr 2021 12:51:22 +0000 (14:51 +0200)]
Init : dont just crash with asserts, return errors (they will crash if errhandler is configured to)

3 years agocomm, input validation
Augustin Degomme [Sat, 3 Apr 2021 12:49:58 +0000 (14:49 +0200)]
comm, input validation

3 years agouse MPI_COMM_WORLD errhandler if MPI_COMM_NULL is given
Augustin Degomme [Sat, 3 Apr 2021 12:48:13 +0000 (14:48 +0200)]
use MPI_COMM_WORLD errhandler if MPI_COMM_NULL is given

3 years agoFix null dereference.
Arnaud Giersch [Sat, 3 Apr 2021 13:40:26 +0000 (15:40 +0200)]
Fix null dereference.

3 years agoSort the list of leaks before print.
Arnaud Giersch [Sat, 3 Apr 2021 13:11:46 +0000 (15:11 +0200)]
Sort the list of leaks before print.

3 years agoavoid allocating comm_self if not needed
Augustin Degomme [Sat, 3 Apr 2021 08:30:12 +0000 (10:30 +0200)]
avoid allocating comm_self if not needed

3 years agoTell when we have more leaked handles to display
Martin Quinson [Sat, 3 Apr 2021 07:42:34 +0000 (09:42 +0200)]
Tell when we have more leaked handles to display

3 years agoDisplay the leaked handles in the tests (using no_loc to hide pointers)
Martin Quinson [Sat, 3 Apr 2021 07:39:52 +0000 (09:39 +0200)]
Display the leaked handles in the tests (using no_loc to hide pointers)

3 years agoCosmetics in an error message
Martin Quinson [Sat, 3 Apr 2021 07:09:12 +0000 (09:09 +0200)]
Cosmetics in an error message

To ease the grepping of this message in a child project ;)

3 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Sat, 3 Apr 2021 07:05:37 +0000 (09:05 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid

3 years agovalidate that MPI_Op can be applied at entrance of MPI call, instead of xbt_dying...
Augustin Degomme [Sat, 3 Apr 2021 00:40:40 +0000 (02:40 +0200)]
validate that MPI_Op can be applied at entrance of MPI call, instead of xbt_dying deep inside SMPI.
For RMA comms, somehow derived datatypes also are allowed. and it's too late for me to add this, so keep the previous checks for now.

3 years agoPack_size is meant to return the upper bound of the size.
Augustin Degomme [Fri, 2 Apr 2021 22:19:17 +0000 (00:19 +0200)]
Pack_size is meant to return the upper bound of the size.
Thanks agier

3 years agoA bool is OK in boolean context.
Arnaud Giersch [Fri, 2 Apr 2021 21:03:11 +0000 (23:03 +0200)]
A bool is OK in boolean context.

3 years agoCosmetics.
Arnaud Giersch [Fri, 2 Apr 2021 20:45:36 +0000 (22:45 +0200)]
Cosmetics.

3 years agochange way WIFI are create + make sharing_policy optional
SUTER Frederic [Fri, 2 Apr 2021 21:38:48 +0000 (23:38 +0200)]
change way WIFI are create + make sharing_policy optional

3 years agoreindent
SUTER Frederic [Fri, 2 Apr 2021 16:59:12 +0000 (18:59 +0200)]
reindent

3 years agomore simplifications
SUTER Frederic [Fri, 2 Apr 2021 16:18:09 +0000 (18:18 +0200)]
more simplifications

3 years agoFix count for SMPI leak report.
Arnaud Giersch [Fri, 2 Apr 2021 20:31:04 +0000 (22:31 +0200)]
Fix count for SMPI leak report.

3 years agoFunction doesn't exist.
Arnaud Giersch [Fri, 2 Apr 2021 19:44:36 +0000 (21:44 +0200)]
Function doesn't exist.

3 years ago[mc] Enable finalize_app() in SafetyChecker.
Arnaud Giersch [Fri, 2 Apr 2021 14:35:31 +0000 (16:35 +0200)]
[mc] Enable finalize_app() in SafetyChecker.

Update mc-coll-allreduce-with-leaks.tesh accordingly.

3 years ago[sonar] Const in s4u::Disk.
Arnaud Giersch [Fri, 2 Apr 2021 12:46:22 +0000 (14:46 +0200)]
[sonar] Const in s4u::Disk.

3 years agoupdate test with latest version from mpich.
Augustin Degomme [Fri, 2 Apr 2021 18:01:29 +0000 (20:01 +0200)]
update test with latest version from mpich.
d5e44448d0 was a misguided fix, as MPI_SUM is forbidden on MPI_BYTE... And I can't remember what the issue with ubsan was, so let's see

3 years agoMPI_BYTE has some specific requirements, and doesn't allow most operations on it
Augustin Degomme [Fri, 2 Apr 2021 17:29:20 +0000 (19:29 +0200)]
MPI_BYTE has some specific requirements, and doesn't allow most operations on it

3 years agoreport the proper size on the receiver side, when its buffer was allocated too largely.
Augustin Degomme [Fri, 2 Apr 2021 15:32:00 +0000 (17:32 +0200)]
report the proper size on the receiver side, when its buffer was allocated too largely.
I'm sure it used to be done properly ...

3 years agoselect proper errhandler when MPI_COMM_WORLD is duplicated
Augustin Degomme [Fri, 2 Apr 2021 15:31:12 +0000 (17:31 +0200)]
select proper errhandler when MPI_COMM_WORLD is duplicated

3 years agorecv should return MPI_ERR_TRUNCATE
Augustin Degomme [Fri, 2 Apr 2021 15:30:51 +0000 (17:30 +0200)]
recv should return MPI_ERR_TRUNCATE
we crash properly when needed, but don't return it properly if errhandler is meant not to crash

3 years agofail when trying to attach a buffer if one is already attached
Augustin Degomme [Fri, 2 Apr 2021 15:28:48 +0000 (17:28 +0200)]
fail when trying to attach a buffer if one is already attached