Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
6 years agos4u-dht-chord: free detached comms.
Arnaud Giersch [Tue, 26 Sep 2017 11:32:19 +0000 (13:32 +0200)]
s4u-dht-chord: free detached comms.

6 years agoAllow to specify a cleanup handler for detached comms.
Arnaud Giersch [Tue, 26 Sep 2017 09:38:02 +0000 (11:38 +0200)]
Allow to specify a cleanup handler for detached comms.

6 years agoImplement basic backtrace cut for --cfg=exception/cutpath.
Arnaud Giersch [Tue, 26 Sep 2017 09:27:34 +0000 (11:27 +0200)]
Implement basic backtrace cut for --cfg=exception/cutpath.

This option became a no-op when the exceptions were ported to C++.

6 years agoFix most of the remaining leaks in msg-host_on_off_processes.
Arnaud Giersch [Mon, 25 Sep 2017 20:23:10 +0000 (22:23 +0200)]
Fix most of the remaining leaks in msg-host_on_off_processes.

Only Test 6 remains unfixed, because it would change the test output.
See FIXME comment at line 179.

6 years agoDisable broken test.
Arnaud Giersch [Mon, 25 Sep 2017 09:03:29 +0000 (11:03 +0200)]
Disable broken test.

It gives a yellow bullet on Jenkins, and doesn't bring anything.

More precisely, the test aborts early because MPI_Type_extent doesn't give
the expected result (Unexpected extent for small struct). The result of
the test was however never verified, since the test is only used by the
model checker.

On the FreeBSD node (clang/libc++), something is broken with exception
handling and the model checker hangs indefinitely at context's ::stop(),
when a StopRequest exception is launched.

The test can be reactivated either when MPI_Type_extent is fixed, or an
update corrects the problems on FreeBSD.

6 years agoMore cleanup in contexts' stop().
Arnaud Giersch [Fri, 22 Sep 2017 22:21:41 +0000 (00:21 +0200)]
More cleanup in contexts' stop().

Call Context::stop() at upper level: save an exception, and hopefully fix
MC tests on FreeBSD, even if I don't really understand what's going wrong.

6 years agoSet (accidentally removed) SOCK_CLOEXEC again.
Arnaud Giersch [Fri, 22 Sep 2017 16:37:07 +0000 (18:37 +0200)]
Set (accidentally removed) SOCK_CLOEXEC again.

6 years agomc/remote: switch to socket type SOCK_SEQPACKET to detect when the peer disconnected.
Arnaud Giersch [Fri, 22 Sep 2017 15:25:37 +0000 (17:25 +0200)]
mc/remote: switch to socket type SOCK_SEQPACKET to detect when the peer disconnected.

6 years agoReally kill the process.
Arnaud Giersch [Fri, 22 Sep 2017 13:02:28 +0000 (15:02 +0200)]
Really kill the process.

Some mc/umpire tests are deadlocking since commit 7b7b18bf7.

6 years agoMove around code to be consistent with other context factories.
Arnaud Giersch [Fri, 22 Sep 2017 11:20:50 +0000 (13:20 +0200)]
Move around code to be consistent with other context factories.

6 years agoCodacy is a bit picky about those.
Arnaud Giersch [Fri, 22 Sep 2017 11:16:26 +0000 (13:16 +0200)]
Codacy is a bit picky about those.

6 years agoFix build with -Werror=missing-declarations.
Arnaud Giersch [Fri, 22 Sep 2017 09:58:24 +0000 (11:58 +0200)]
Fix build with -Werror=missing-declarations.

6 years agoDerive custom exception from std::exception.
Arnaud Giersch [Fri, 22 Sep 2017 09:36:52 +0000 (11:36 +0200)]
Derive custom exception from std::exception.

6 years agoImprove context termination.
Arnaud Giersch [Thu, 21 Sep 2017 21:28:31 +0000 (23:28 +0200)]
Improve context termination.

Throw an exception to terminate the context at upper level, and have
resources freed by stack unwinding.

Closes #204, since pthread_exit is not called anymore.

6 years agoLeaks -= 2;
Arnaud Giersch [Thu, 21 Sep 2017 15:18:18 +0000 (17:18 +0200)]
Leaks -= 2;

6 years agosmpi_memory: don't copy poisoned regions when AddressSanitizer is in use.
Arnaud Giersch [Thu, 21 Sep 2017 11:30:30 +0000 (13:30 +0200)]
smpi_memory: don't copy poisoned regions when AddressSanitizer is in use.

Not sure if it's entirely correct, but it cannot be worse than the current state
where ASan stops in smpi_initialize_global_memory_segments.

6 years agoFix double-free error.
Arnaud Giersch [Wed, 20 Sep 2017 14:17:35 +0000 (16:17 +0200)]
Fix double-free error.

6 years agoRemove dead assignments spotted by scan-build.
Arnaud Giersch [Wed, 20 Sep 2017 13:25:06 +0000 (15:25 +0200)]
Remove dead assignments spotted by scan-build.

6 years agoFix memory leak in process-join.
Arnaud Giersch [Wed, 20 Sep 2017 10:13:56 +0000 (12:13 +0200)]
Fix memory leak in process-join.

6 years agoDisable stack-overflow tests with address sanitizer.
Arnaud Giersch [Wed, 20 Sep 2017 07:39:38 +0000 (09:39 +0200)]
Disable stack-overflow tests with address sanitizer.

6 years agoswitch a mpich3 coll test to boost contexts instead of thread if found
Augustin Degomme [Tue, 19 Sep 2017 10:58:28 +0000 (12:58 +0200)]
switch a mpich3 coll test to boost contexts instead of thread if found

6 years agoFix gcc's -Wmissing-field-initializers.
Arnaud Giersch [Tue, 19 Sep 2017 08:26:27 +0000 (10:26 +0200)]
Fix gcc's -Wmissing-field-initializers.

6 years agotry to silence some warnings
Augustin Degomme [Tue, 19 Sep 2017 08:08:24 +0000 (10:08 +0200)]
try to silence some warnings

6 years agoFully initialize struct, and please valgrind.
Arnaud Giersch [Tue, 19 Sep 2017 05:59:31 +0000 (07:59 +0200)]
Fully initialize struct, and please valgrind.

6 years agoDisable alternate signal stack before thread exit.
Arnaud Giersch [Mon, 18 Sep 2017 19:35:51 +0000 (21:35 +0200)]
Disable alternate signal stack before thread exit.

AddressSanitizer (ASan) reports an error if the alternate signal stack remains
active when a thread exits:

==28272==ERROR: AddressSanitizer failed to deallocate 0x2000 (8192) bytes at address 0x7f53ebba7c00
==28272==AddressSanitizer CHECK failed: ../../../../src/libsanitizer/sanitizer_common/sanitizer_posix.cc:141 "(("unable to unmap" && 0)) != (0)" (0x0, 0x0)
    #0 0x7f53ebc950e5  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe40e5)
    #1 0x7f53ebcb1c15 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x100c15)
    #2 0x7f53ebca975f  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xf875f)
    #3 0x7f53ebcaa560  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xf9560)
    #4 0x7f53ebc98764  (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xe7764)
    #5 0x7f53ea57a5e8 in __nptl_deallocate_tsd.part.4 (/lib/x86_64-linux-gnu/libpthread.so.0+0x65e8)
    #6 0x7f53ea57b647 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7647)
    #7 0x7f53e93e0abe in __clone (/lib/x86_64-linux-gnu/libc.so.6+0xe8abe)

6 years agoDelete ProcessArg.properties.
Arnaud Giersch [Sat, 16 Sep 2017 20:53:21 +0000 (22:53 +0200)]
Delete ProcessArg.properties.

6 years agoLeak-- (seen in maestro-set).
Arnaud Giersch [Sat, 16 Sep 2017 13:27:42 +0000 (15:27 +0200)]
Leak-- (seen in maestro-set).

6 years agoMemcheck: another kind of leak to ignore from smpi/dlopen.
Arnaud Giersch [Sat, 16 Sep 2017 12:44:46 +0000 (14:44 +0200)]
Memcheck: another kind of leak to ignore from smpi/dlopen.

6 years agoMemcheck: another try to make valgrind ignore memory leak in cmake.
Arnaud Giersch [Sat, 16 Sep 2017 12:32:09 +0000 (14:32 +0200)]
Memcheck: another try to make valgrind ignore memory leak in cmake.

6 years agoinstr: small cleanup
Martin Quinson [Sat, 16 Sep 2017 20:34:17 +0000 (22:34 +0200)]
instr: small cleanup

6 years agoinstr: kill a dead function
Martin Quinson [Sat, 16 Sep 2017 20:21:20 +0000 (22:21 +0200)]
instr: kill a dead function

6 years agoinstr: objectifies another method
Martin Quinson [Sat, 16 Sep 2017 20:15:32 +0000 (22:15 +0200)]
instr: objectifies another method

6 years agoa static function with an object parameter is a regular method
Martin Quinson [Sat, 16 Sep 2017 19:24:55 +0000 (21:24 +0200)]
a static function with an object parameter is a regular method

6 years agoInitialize saveptr and please dumb compilers.
Arnaud Giersch [Fri, 15 Sep 2017 21:37:27 +0000 (23:37 +0200)]
Initialize saveptr and please dumb compilers.

6 years agoThrow exception by value.
Arnaud Giersch [Fri, 15 Sep 2017 20:27:31 +0000 (22:27 +0200)]
Throw exception by value.

6 years agoSimplify loop condition (sonar).
Arnaud Giersch [Fri, 15 Sep 2017 20:10:01 +0000 (22:10 +0200)]
Simplify loop condition (sonar).

6 years agoRemove useless default capture for lambdas.
Arnaud Giersch [Fri, 15 Sep 2017 13:16:47 +0000 (15:16 +0200)]
Remove useless default capture for lambdas.

6 years agoUse strtok_r() instead of non reentrant strtok().
Arnaud Giersch [Fri, 15 Sep 2017 13:06:02 +0000 (15:06 +0200)]
Use strtok_r() instead of non reentrant strtok().

6 years agoPlease sonar (s/struct/class).
Arnaud Giersch [Fri, 15 Sep 2017 11:56:04 +0000 (13:56 +0200)]
Please sonar (s/struct/class).

6 years agoFix valgrind suppression file.
Arnaud Giersch [Fri, 15 Sep 2017 11:19:46 +0000 (13:19 +0200)]
Fix valgrind suppression file.

6 years agoTypedef is superfluous here.
Arnaud Giersch [Fri, 15 Sep 2017 08:02:19 +0000 (10:02 +0200)]
Typedef is superfluous here.

6 years agosmpi_shared: define smpi_source_location as inheriting from std::string.
Arnaud Giersch [Fri, 15 Sep 2017 08:00:40 +0000 (10:00 +0200)]
smpi_shared: define smpi_source_location as inheriting from std::string.

6 years agosmpi_bench: define SampleLocation inheriting from std::string.
Arnaud Giersch [Fri, 15 Sep 2017 07:59:25 +0000 (09:59 +0200)]
smpi_bench: define SampleLocation inheriting from std::string.

6 years agosmpi_bench: store plain local data in map (no pointer).
Arnaud Giersch [Thu, 14 Sep 2017 13:04:33 +0000 (15:04 +0200)]
smpi_bench: store plain local data in map (no pointer).

6 years agoRemove redundant operations.
Arnaud Giersch [Wed, 13 Sep 2017 14:59:08 +0000 (16:59 +0200)]
Remove redundant operations.

6 years agoinstr: fix a new/free mismatch, and small cleanups
Martin Quinson [Fri, 15 Sep 2017 05:48:35 +0000 (07:48 +0200)]
instr: fix a new/free mismatch, and small cleanups

- name a destructor by its name
- inline a useless recursive function: by doing the job in the destructor

6 years agoNew: s4u::Host.execute() for remote executions
Martin Quinson [Thu, 14 Sep 2017 14:07:40 +0000 (16:07 +0200)]
New: s4u::Host.execute() for remote executions

6 years agoreally try to plug that memleak
Martin Quinson [Thu, 14 Sep 2017 12:57:47 +0000 (14:57 +0200)]
really try to plug that memleak

6 years agocleanup plugging a memleak
Martin Quinson [Thu, 14 Sep 2017 12:46:13 +0000 (14:46 +0200)]
cleanup plugging a memleak

6 years agoGet rid of spurious symlink for lua test.
Arnaud Giersch [Wed, 13 Sep 2017 14:08:39 +0000 (16:08 +0200)]
Get rid of spurious symlink for lua test.

6 years agotesh: allow multiple --cfg and --log (needed for parallel tests).
Arnaud Giersch [Wed, 13 Sep 2017 13:47:57 +0000 (15:47 +0200)]
tesh: allow multiple --cfg and --log (needed for parallel tests).

6 years agoAdd missing tests with Boost context factory.
Arnaud Giersch [Wed, 13 Sep 2017 13:47:21 +0000 (15:47 +0200)]
Add missing tests with Boost context factory.

6 years agoDelay creation of parmap for boost contexts too.
Arnaud Giersch [Wed, 13 Sep 2017 13:05:33 +0000 (15:05 +0200)]
Delay creation of parmap for boost contexts too.

6 years agotesh: update ignore_regexp_common.
Arnaud Giersch [Wed, 13 Sep 2017 10:43:21 +0000 (12:43 +0200)]
tesh: update ignore_regexp_common.

6 years agofewer explicit news are fewer possible leaks
Martin Quinson [Tue, 12 Sep 2017 22:16:56 +0000 (00:16 +0200)]
fewer explicit news are fewer possible leaks

6 years agoconvert a dict into a unordered_map
Martin Quinson [Tue, 12 Sep 2017 21:34:27 +0000 (23:34 +0200)]
convert a dict into a unordered_map

6 years agoContextBoost: add support for Boost versions above 1.61.
Arnaud Giersch [Tue, 12 Sep 2017 21:13:16 +0000 (23:13 +0200)]
ContextBoost: add support for Boost versions above 1.61.

6 years agoContextBoost: useless initialization.
Arnaud Giersch [Tue, 12 Sep 2017 20:22:53 +0000 (22:22 +0200)]
ContextBoost: useless initialization.

6 years agoContextBoost: define helper function for jump_fcontext.
Arnaud Giersch [Tue, 12 Sep 2017 20:11:32 +0000 (22:11 +0200)]
ContextBoost: define helper function for jump_fcontext.

Also make smx_ctx_boost_wrapper() a static member of BoostContext.

6 years agoContextBoost: use BOOST_VERSION instead of simgrid-specific HAVE_BOOST_CONTEXTS.
Arnaud Giersch [Tue, 12 Sep 2017 20:03:55 +0000 (22:03 +0200)]
ContextBoost: use BOOST_VERSION instead of simgrid-specific HAVE_BOOST_CONTEXTS.

6 years agoContextBoost: use C++ style casts.
Arnaud Giersch [Tue, 12 Sep 2017 20:01:16 +0000 (22:01 +0200)]
ContextBoost: use C++ style casts.

6 years agoUpdate .gitignore.
Arnaud Giersch [Tue, 12 Sep 2017 14:58:10 +0000 (16:58 +0200)]
Update .gitignore.

6 years agoThese lines have no utility (anymore?)
Arnaud Giersch [Tue, 12 Sep 2017 14:19:52 +0000 (16:19 +0200)]
These lines have no utility (anymore?)

6 years agoAvoid uppercase characters in package names.
Arnaud Giersch [Tue, 12 Sep 2017 13:08:55 +0000 (15:08 +0200)]
Avoid uppercase characters in package names.

6 years agoRename Java examples.
Arnaud Giersch [Tue, 12 Sep 2017 11:18:48 +0000 (13:18 +0200)]
Rename Java examples.

Add prefix "java-" to target names, and s/_/-/.

6 years agoFix memory leaks.
Arnaud Giersch [Sun, 10 Sep 2017 19:37:52 +0000 (21:37 +0200)]
Fix memory leaks.

6 years agoRemove duplicated line.
Arnaud Giersch [Sun, 10 Sep 2017 19:28:35 +0000 (21:28 +0200)]
Remove duplicated line.

6 years agoignore one more cruft from travis
Martin Quinson [Sun, 10 Sep 2017 20:48:45 +0000 (22:48 +0200)]
ignore one more cruft from travis

Seen live as:
Picked up _JAVA_OPTIONS: -Xmx2048m -Xms512m

6 years agocodacy
Martin Quinson [Sun, 10 Sep 2017 20:21:57 +0000 (22:21 +0200)]
codacy

6 years agos|s4u_|s4u-|
Martin Quinson [Sun, 10 Sep 2017 19:02:50 +0000 (21:02 +0200)]
s|s4u_|s4u-|

6 years agoremove a teshsuite example that is superseeded by a proper example
Martin Quinson [Sun, 10 Sep 2017 16:10:30 +0000 (18:10 +0200)]
remove a teshsuite example that is superseeded by a proper example

6 years agofix doc
Martin Quinson [Sun, 10 Sep 2017 16:08:31 +0000 (18:08 +0200)]
fix doc

6 years agoimplement simgrid::s4u::Comm::wait_all() and use it in example
Martin Quinson [Sun, 10 Sep 2017 16:07:14 +0000 (18:07 +0200)]
implement simgrid::s4u::Comm::wait_all() and use it in example

6 years agoreduce the differences between the s4u_async examples
Martin Quinson [Sun, 10 Sep 2017 15:57:36 +0000 (17:57 +0200)]
reduce the differences between the s4u_async examples

6 years agofix the s4u_async-waitany example
Martin Quinson [Sun, 10 Sep 2017 15:34:48 +0000 (17:34 +0200)]
fix the s4u_async-waitany example

6 years agomassive cleanups in the s4u-async-waitall example
Martin Quinson [Sun, 10 Sep 2017 14:55:46 +0000 (16:55 +0200)]
massive cleanups in the s4u-async-waitall example

6 years agoMerge pull request #218 from Takishipp/MSG2S4U
Martin Quinson [Sun, 10 Sep 2017 13:20:21 +0000 (15:20 +0200)]
Merge pull request #218 from Takishipp/MSG2S4U

first attempt to convert async-waitany msg version to s4u (doesn't work yet)

6 years agoplease sonar: kill dead code
Martin Quinson [Sun, 10 Sep 2017 13:19:55 +0000 (15:19 +0200)]
please sonar: kill dead code

6 years agoIndentation.
Arnaud Giersch [Sat, 9 Sep 2017 21:20:22 +0000 (23:20 +0200)]
Indentation.

6 years ago'request' cannot be null here (verified before at line 611.
Arnaud Giersch [Sat, 9 Sep 2017 20:37:09 +0000 (22:37 +0200)]
'request' cannot be null here (verified before at line 611.

6 years agoRemove useless assignments.
Arnaud Giersch [Sat, 9 Sep 2017 20:29:19 +0000 (22:29 +0200)]
Remove useless assignments.

6 years agoUse C++ strings instead of char*.
Arnaud Giersch [Sat, 9 Sep 2017 16:23:12 +0000 (18:23 +0200)]
Use C++ strings instead of char*.

6 years agoFix use-ater-free.
Arnaud Giersch [Sat, 9 Sep 2017 14:28:26 +0000 (16:28 +0200)]
Fix use-ater-free.

6 years agoFix unitialized value spotted by scan-build.
Arnaud Giersch [Sat, 9 Sep 2017 14:05:08 +0000 (16:05 +0200)]
Fix unitialized value spotted by scan-build.

34  while (simgrid::s4u::Engine::getClock() < deadline) {
        # (1) Loop condition is true.  Entering loop body
35    void* received;
        # (2) 'received' declared without an initial value
36    if (comm == nullptr)
        # (3) Taking false branch
37      comm = mailbox->get_async(&received);
38    if (comm->test()) {
        # (4) Assuming the condition is true
        # (5) Taking true branch
39      // Retrieve the data sent by the peer.
40      TrackerQuery* tq = static_cast<TrackerQuery*>(received);
        # (6) Assigned value is garbage or undefined

6 years agoFix potential buffer overflows.
Arnaud Giersch [Fri, 8 Sep 2017 22:09:45 +0000 (00:09 +0200)]
Fix potential buffer overflows.

6 years agoStupid scan-build, this is always true.
Arnaud Giersch [Fri, 8 Sep 2017 21:22:10 +0000 (23:22 +0200)]
Stupid scan-build, this is always true.

6 years agoVerify parameters passed to strcmp.
Arnaud Giersch [Fri, 8 Sep 2017 20:30:00 +0000 (22:30 +0200)]
Verify parameters passed to strcmp.

6 years agoFix use-after-free.
Arnaud Giersch [Wed, 6 Sep 2017 13:14:31 +0000 (15:14 +0200)]
Fix use-after-free.

'message' is not mine if I didn't get an answer.

6 years agoAdding integration tests of async-waitall and waitany
Takishipp [Fri, 8 Sep 2017 15:47:44 +0000 (17:47 +0200)]
Adding integration tests of async-waitall and waitany

6 years agoMake some correction to the converted examples
Takishipp [Fri, 8 Sep 2017 12:30:53 +0000 (14:30 +0200)]
Make some correction to the converted examples

6 years agofix async-waitall example
Takishipp [Thu, 7 Sep 2017 14:33:03 +0000 (16:33 +0200)]
fix async-waitall example

6 years agoadd a description to s4u for the treated examples
Takishipp [Wed, 6 Sep 2017 14:06:55 +0000 (16:06 +0200)]
add a description to s4u for the treated examples

6 years agoasyc-waitall is converted
Takishipp [Wed, 6 Sep 2017 10:59:38 +0000 (12:59 +0200)]
asyc-waitall is converted

6 years agoasync-waitall is almost converted - phase 1
Takishipp [Tue, 5 Sep 2017 16:13:38 +0000 (18:13 +0200)]
async-waitall is almost converted - phase 1

6 years agoDon't inline ~xbt_ex.
Arnaud Giersch [Mon, 4 Sep 2017 20:44:04 +0000 (22:44 +0200)]
Don't inline ~xbt_ex.

Otherwise, xbt_ex is also defined in libsimgrid-java and some tests are broken
with clang/libc++/freebsd.

Thanks Gabriel if this works!

6 years agoStart to convert async-waitall to s4u
Takishipp [Mon, 4 Sep 2017 15:27:55 +0000 (17:27 +0200)]
Start to convert async-waitall to s4u

6 years agoAlmost converted phase 2
Takishipp [Mon, 4 Sep 2017 15:09:44 +0000 (17:09 +0200)]
Almost converted phase 2

6 years agostart cleaning up the instr::containers
Martin Quinson [Sun, 3 Sep 2017 23:48:45 +0000 (01:48 +0200)]
start cleaning up the instr::containers

6 years agotry to get rid of some errors seen by scan-build
Augustin Degomme [Sun, 3 Sep 2017 22:55:03 +0000 (00:55 +0200)]
try to get rid of some errors seen by scan-build

6 years agogive a proper constructor/destructor to instr::Container
Martin Quinson [Sun, 3 Sep 2017 20:34:17 +0000 (22:34 +0200)]
give a proper constructor/destructor to instr::Container