Martin Quinson [Mon, 2 Oct 2017 19:49:53 +0000 (21:49 +0200)]
Merge pull request #224 from Takishipp/async-wait
Add s4u-async-wait to the examples of s4u
Zitagcc [Mon, 2 Oct 2017 16:02:10 +0000 (18:02 +0200)]
Merge branch 'master' into async-wait
Takishipp [Mon, 2 Oct 2017 16:02:57 +0000 (18:02 +0200)]
s4u-async-wait is complete
Arnaud Giersch [Sun, 1 Oct 2017 20:32:48 +0000 (22:32 +0200)]
Reintroduce lines removed at commit
5bc3597e1513c7b94497ae0ea819e5fa2e28058a.
Only put them in SIMIX_clean instead of SIMIX_process_killall.
I don't really understand when/why they are useful, but the call to
SIMIX_process_empty_trash() fixes a leak seen with teshsuite/mc/random-bug.
Arnaud Giersch [Sun, 1 Oct 2017 20:00:26 +0000 (22:00 +0200)]
Cosmetics.
Martin Quinson [Sat, 30 Sep 2017 22:24:43 +0000 (00:24 +0200)]
improve changelog for the upcoming release
Martin Quinson [Sat, 30 Sep 2017 22:24:24 +0000 (00:24 +0200)]
sonar: try to exclude java from coverage
Martin Quinson [Sat, 30 Sep 2017 21:31:58 +0000 (23:31 +0200)]
document a class
Martin Quinson [Sat, 30 Sep 2017 21:22:08 +0000 (23:22 +0200)]
shutdown all hosted VMs when an host is turned off
Martin Quinson [Sat, 30 Sep 2017 21:20:12 +0000 (23:20 +0200)]
sonar: don't check for memleaks, you suck at it
Martin Quinson [Sat, 30 Sep 2017 20:35:54 +0000 (22:35 +0200)]
add some bits of the commit log into the code comments
Arnaud Giersch [Sat, 30 Sep 2017 19:46:54 +0000 (21:46 +0200)]
Complete s4u-actor-kill to include a test for Actor::killAll().
Arnaud Giersch [Sat, 30 Sep 2017 19:40:08 +0000 (21:40 +0200)]
Fix process_killall. Closes #186.
This was never tested, or it was a long time ago.
Arnaud Giersch [Fri, 29 Sep 2017 21:00:56 +0000 (23:00 +0200)]
Simply finish the surf sleep action on process join.
It is much more simpler, and permits to kill the processes involved in join.
Fixes github bug #225.
Arnaud Giersch [Fri, 29 Sep 2017 20:39:56 +0000 (22:39 +0200)]
Revert "Derive custom exception from std::exception."
This reverts commit
7198a3162eaae82fa2ec5c612d5ae22e243055d7.
Make it impossible for user code to catch a StopRequest with a
try {} catch (std::exception).
Sonar will be whining but I don't care.
Arnaud Giersch [Fri, 29 Sep 2017 20:23:01 +0000 (22:23 +0200)]
Action::finish() is never used without setState().
Add the new state as a parameter for finish().
Arnaud Giersch [Fri, 29 Sep 2017 20:08:20 +0000 (22:08 +0200)]
Remove function from list before use.
Arnaud Giersch [Thu, 28 Sep 2017 20:23:53 +0000 (22:23 +0200)]
Remove old commented code.
Arnaud Giersch [Thu, 28 Sep 2017 14:21:44 +0000 (16:21 +0200)]
Boost contexts: inform ASan about context switches.
Arnaud Giersch [Thu, 28 Sep 2017 13:53:22 +0000 (15:53 +0200)]
Check if ASan is enabled from CMake, and define variables.
HAVE_SANITIZE_ADDRESS if AddressSanitizer is enabled
HAVE_SANITIZE_ADDRESS_FIBER_SUPPORT if current ASan version includes Fiber annotation interface
Update smpi_memory.cpp in consequence.
Arnaud Giersch [Wed, 27 Sep 2017 21:31:25 +0000 (23:31 +0200)]
Align top of stacks to a multiple of 16.
It's needed for Asan not to whine.
Martin Quinson [Thu, 28 Sep 2017 05:58:08 +0000 (07:58 +0200)]
fix build on weird clangs
Martin Quinson [Thu, 21 Sep 2017 23:08:47 +0000 (01:08 +0200)]
instr: prefer std::str to char*
Arnaud Giersch [Wed, 27 Sep 2017 09:41:54 +0000 (11:41 +0200)]
Add explicit keyword, and remove default value for parameter.
Arnaud Giersch [Wed, 27 Sep 2017 09:23:55 +0000 (11:23 +0200)]
Delete unused copy constructor.
Arnaud Giersch [Wed, 27 Sep 2017 08:44:39 +0000 (10:44 +0200)]
Update ChangeLog.
Close #120, #222.
Arnaud Giersch [Wed, 27 Sep 2017 08:16:00 +0000 (10:16 +0200)]
Test comm before cancelation, and kill last leak in this test! \o/
Arnaud Giersch [Tue, 26 Sep 2017 13:16:53 +0000 (15:16 +0200)]
Delete timer on removal.
Arnaud Giersch [Tue, 26 Sep 2017 13:14:56 +0000 (15:14 +0200)]
Change xbt_heap_rm_elm to return the removed element, or NULL.
Arnaud Giersch [Tue, 26 Sep 2017 11:35:09 +0000 (13:35 +0200)]
s4u-dht-chord: cancel pending comm.
The timings are slightly changed (tesh updated).
Arnaud Giersch [Tue, 26 Sep 2017 11:32:19 +0000 (13:32 +0200)]
s4u-dht-chord: free detached comms.
Arnaud Giersch [Tue, 26 Sep 2017 09:38:02 +0000 (11:38 +0200)]
Allow to specify a cleanup handler for detached comms.
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++.
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.
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.
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.
Arnaud Giersch [Fri, 22 Sep 2017 16:37:07 +0000 (18:37 +0200)]
Set (accidentally removed) SOCK_CLOEXEC again.
Takishipp [Fri, 22 Sep 2017 15:45:30 +0000 (17:45 +0200)]
Add s4u-async-wait description to the readme
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.
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.
Arnaud Giersch [Fri, 22 Sep 2017 11:20:50 +0000 (13:20 +0200)]
Move around code to be consistent with other context factories.
Arnaud Giersch [Fri, 22 Sep 2017 11:16:26 +0000 (13:16 +0200)]
Codacy is a bit picky about those.
Arnaud Giersch [Fri, 22 Sep 2017 09:58:24 +0000 (11:58 +0200)]
Fix build with -Werror=missing-declarations.
Arnaud Giersch [Fri, 22 Sep 2017 09:36:52 +0000 (11:36 +0200)]
Derive custom exception from std::exception.
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.
Arnaud Giersch [Thu, 21 Sep 2017 15:18:18 +0000 (17:18 +0200)]
Leaks -= 2;
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.
Arnaud Giersch [Wed, 20 Sep 2017 14:17:35 +0000 (16:17 +0200)]
Fix double-free error.
Arnaud Giersch [Wed, 20 Sep 2017 13:25:06 +0000 (15:25 +0200)]
Remove dead assignments spotted by scan-build.
Arnaud Giersch [Wed, 20 Sep 2017 10:13:56 +0000 (12:13 +0200)]
Fix memory leak in process-join.
Arnaud Giersch [Wed, 20 Sep 2017 07:39:38 +0000 (09:39 +0200)]
Disable stack-overflow tests with address sanitizer.
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
Arnaud Giersch [Tue, 19 Sep 2017 08:26:27 +0000 (10:26 +0200)]
Fix gcc's -Wmissing-field-initializers.
Augustin Degomme [Tue, 19 Sep 2017 08:08:24 +0000 (10:08 +0200)]
try to silence some warnings
Arnaud Giersch [Tue, 19 Sep 2017 05:59:31 +0000 (07:59 +0200)]
Fully initialize struct, and please valgrind.
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)
Arnaud Giersch [Sat, 16 Sep 2017 20:53:21 +0000 (22:53 +0200)]
Delete ProcessArg.properties.
Arnaud Giersch [Sat, 16 Sep 2017 13:27:42 +0000 (15:27 +0200)]
Leak-- (seen in maestro-set).
Arnaud Giersch [Sat, 16 Sep 2017 12:44:46 +0000 (14:44 +0200)]
Memcheck: another kind of leak to ignore from smpi/dlopen.
Arnaud Giersch [Sat, 16 Sep 2017 12:32:09 +0000 (14:32 +0200)]
Memcheck: another try to make valgrind ignore memory leak in cmake.
Martin Quinson [Sat, 16 Sep 2017 20:34:17 +0000 (22:34 +0200)]
instr: small cleanup
Martin Quinson [Sat, 16 Sep 2017 20:21:20 +0000 (22:21 +0200)]
instr: kill a dead function
Martin Quinson [Sat, 16 Sep 2017 20:15:32 +0000 (22:15 +0200)]
instr: objectifies another 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
Arnaud Giersch [Fri, 15 Sep 2017 21:37:27 +0000 (23:37 +0200)]
Initialize saveptr and please dumb compilers.
Arnaud Giersch [Fri, 15 Sep 2017 20:27:31 +0000 (22:27 +0200)]
Throw exception by value.
Arnaud Giersch [Fri, 15 Sep 2017 20:10:01 +0000 (22:10 +0200)]
Simplify loop condition (sonar).
Arnaud Giersch [Fri, 15 Sep 2017 13:16:47 +0000 (15:16 +0200)]
Remove useless default capture for lambdas.
Arnaud Giersch [Fri, 15 Sep 2017 13:06:02 +0000 (15:06 +0200)]
Use strtok_r() instead of non reentrant strtok().
Arnaud Giersch [Fri, 15 Sep 2017 11:56:04 +0000 (13:56 +0200)]
Please sonar (s/struct/class).
Arnaud Giersch [Fri, 15 Sep 2017 11:19:46 +0000 (13:19 +0200)]
Fix valgrind suppression file.
Arnaud Giersch [Fri, 15 Sep 2017 08:02:19 +0000 (10:02 +0200)]
Typedef is superfluous here.
Arnaud Giersch [Fri, 15 Sep 2017 08:00:40 +0000 (10:00 +0200)]
smpi_shared: define smpi_source_location as 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.
Arnaud Giersch [Thu, 14 Sep 2017 13:04:33 +0000 (15:04 +0200)]
smpi_bench: store plain local data in map (no pointer).
Arnaud Giersch [Wed, 13 Sep 2017 14:59:08 +0000 (16:59 +0200)]
Remove redundant operations.
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
Takishipp [Thu, 14 Sep 2017 15:37:11 +0000 (17:37 +0200)]
s4u-async-wait example
Martin Quinson [Thu, 14 Sep 2017 14:07:40 +0000 (16:07 +0200)]
New: s4u::Host.execute() for remote executions
Martin Quinson [Thu, 14 Sep 2017 12:57:47 +0000 (14:57 +0200)]
really try to plug that memleak
Martin Quinson [Thu, 14 Sep 2017 12:46:13 +0000 (14:46 +0200)]
cleanup plugging a memleak
Arnaud Giersch [Wed, 13 Sep 2017 14:08:39 +0000 (16:08 +0200)]
Get rid of spurious symlink for lua test.
Arnaud Giersch [Wed, 13 Sep 2017 13:47:57 +0000 (15:47 +0200)]
tesh: allow multiple --cfg and --log (needed for parallel tests).
Arnaud Giersch [Wed, 13 Sep 2017 13:47:21 +0000 (15:47 +0200)]
Add missing tests with Boost context factory.
Arnaud Giersch [Wed, 13 Sep 2017 13:05:33 +0000 (15:05 +0200)]
Delay creation of parmap for boost contexts too.
Arnaud Giersch [Wed, 13 Sep 2017 10:43:21 +0000 (12:43 +0200)]
tesh: update ignore_regexp_common.
Martin Quinson [Tue, 12 Sep 2017 22:16:56 +0000 (00:16 +0200)]
fewer explicit news are fewer possible leaks
Martin Quinson [Tue, 12 Sep 2017 21:34:27 +0000 (23:34 +0200)]
convert a dict into a unordered_map
Arnaud Giersch [Tue, 12 Sep 2017 21:13:16 +0000 (23:13 +0200)]
ContextBoost: add support for Boost versions above 1.61.
Arnaud Giersch [Tue, 12 Sep 2017 20:22:53 +0000 (22:22 +0200)]
ContextBoost: useless initialization.
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.
Arnaud Giersch [Tue, 12 Sep 2017 20:03:55 +0000 (22:03 +0200)]
ContextBoost: use BOOST_VERSION instead of simgrid-specific HAVE_BOOST_CONTEXTS.
Arnaud Giersch [Tue, 12 Sep 2017 20:01:16 +0000 (22:01 +0200)]
ContextBoost: use C++ style casts.
Arnaud Giersch [Tue, 12 Sep 2017 14:58:10 +0000 (16:58 +0200)]
Update .gitignore.
Arnaud Giersch [Tue, 12 Sep 2017 14:19:52 +0000 (16:19 +0200)]
These lines have no utility (anymore?)
Arnaud Giersch [Tue, 12 Sep 2017 13:08:55 +0000 (15:08 +0200)]
Avoid uppercase characters in package names.
Arnaud Giersch [Tue, 12 Sep 2017 11:18:48 +0000 (13:18 +0200)]
Rename Java examples.
Add prefix "java-" to target names, and s/_/-/.
Arnaud Giersch [Sun, 10 Sep 2017 19:37:52 +0000 (21:37 +0200)]
Fix memory leaks.
Arnaud Giersch [Sun, 10 Sep 2017 19:28:35 +0000 (21:28 +0200)]
Remove duplicated line.
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