Martin Quinson [Thu, 27 Aug 2015 17:46:48 +0000 (19:46 +0200)]
Merge branch 'master' into S4U
Martin Quinson [Thu, 27 Aug 2015 17:46:10 +0000 (19:46 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 27 Aug 2015 17:42:40 +0000 (19:42 +0200)]
S4U: Implement Storage and File
The interface is maybe a bit improvable, and the implementation
remains as twisted as it was, but at least it's usable from S4U.
Improving the implementation would mean moving the book keeping of
files and sizes out of surf. That could be a task for simix if it's
not at user level, but that's not really for surf. Actually, most of
the file API should be moved elsewhere. But I'm not sure of where.
Improving the interface would mean making explicit the storage on
which I create a file instead of relying on the prefix naming.
Gabriel Corona [Thu, 27 Aug 2015 12:53:09 +0000 (14:53 +0200)]
[smpi] Fix compilation
Gabriel Corona [Thu, 27 Aug 2015 11:31:57 +0000 (13:31 +0200)]
[smpi] Avoid locking the mutex when it's not needed
This is more MC-friendly.
Martin Quinson [Wed, 26 Aug 2015 22:13:17 +0000 (00:13 +0200)]
[cmake cleanups] declare subdirs from the upper level
Lucas Schnorr [Tue, 25 Aug 2015 17:09:19 +0000 (14:09 -0300)]
some traces have TAB instead of space after %
Martin Quinson [Tue, 25 Aug 2015 14:23:40 +0000 (16:23 +0200)]
I don't understand how it could have worked at any point
Gabriel Corona [Tue, 25 Aug 2015 14:19:20 +0000 (16:19 +0200)]
[mc] Add tests to show that DPOR is guilty of mutex mis-handling
In fact SIMCALL_MUTEX_LOCK is handled but not in DPOR.
Gabriel Corona [Tue, 25 Aug 2015 13:48:00 +0000 (15:48 +0200)]
[mc] Fix segfault when displaying SIMCALL_MUTEX_LOCK
Martin Quinson [Tue, 25 Aug 2015 13:30:31 +0000 (15:30 +0200)]
that's misleading
Gabriel Corona [Tue, 25 Aug 2015 11:40:23 +0000 (13:40 +0200)]
Update .gitignore
Gabriel Corona [Tue, 25 Aug 2015 11:10:16 +0000 (13:10 +0200)]
[mc] Add a test to examplify that we should handle mutex operations in MC
In this test, we have two senders sending one message to a common
receiver. The receiver should be able to see any ordering between the
two messages. If we model-check the application with assertions on a
specific order of the messages (see the assertions in the receiver
code), it should fail because both ordering are possible.
If the senders sends the message directly, the current version of the
MC finds that the ordering may differ and the MC find a
counter-example.
However, if the senders send the message in a mutex, the MC always let
the first process take the mutex because it thinks that the effect of
a mutex is purely local: the ordering of the messages is always the
same and the MC does not find the counter-example.
Gabriel Corona [Tue, 25 Aug 2015 07:44:18 +0000 (09:44 +0200)]
smpirun: Option to run the child in foreground
This is disables the cleanup of the child process but gives it access
to the TTY (GDB!). I guess we cannot have both in sh.
Gabriel Corona [Tue, 25 Aug 2015 07:35:48 +0000 (09:35 +0200)]
smpirun: Raise the same signal we received
Gabriel Corona [Mon, 24 Aug 2015 11:57:53 +0000 (13:57 +0200)]
smpirun: cleanup files and children before dying
This avoid letting a lot of temp files and/or running processes after
one's death.
This used to happen a lot when the the smpirun process was killed by
tesh on timeout (filling the CI server with a lot of garbage).
Martin Quinson [Mon, 24 Aug 2015 09:02:46 +0000 (11:02 +0200)]
[travis] make VERBOSE=1
Martin Quinson [Mon, 24 Aug 2015 08:51:47 +0000 (10:51 +0200)]
Try to move the change of linker after the fortran madness
Let's see if it solves the regression on Travis introduced by
3fa08f69b66a84472bc1805a9e1ac86741b00780
Gabriel Corona [Mon, 24 Aug 2015 08:46:44 +0000 (10:46 +0200)]
tesh: Let a grace period of 1s for the child process to die properly
Martin Quinson [Sun, 23 Aug 2015 21:09:01 +0000 (23:09 +0200)]
kill an unused macro
Martin Quinson [Thu, 20 Aug 2015 20:47:27 +0000 (22:47 +0200)]
move another gcc version check in the right location
Martin Quinson [Wed, 19 Aug 2015 20:53:52 +0000 (22:53 +0200)]
sort a bit the cmake file
Martin Quinson [Tue, 18 Aug 2015 00:35:19 +0000 (02:35 +0200)]
workaround a possible race condition
when several processes run s4u::Mailbox::byName on an non existant
mailbox in the same round, only one simix object is created thanks to
the simcall, but 2 S4U objects are created. Use only one of them, and
leak the other one.
Martin Quinson [Tue, 18 Aug 2015 00:34:20 +0000 (02:34 +0200)]
make it possible to load async.hpp without simix
Martin Quinson [Mon, 17 Aug 2015 16:42:40 +0000 (18:42 +0200)]
let's keep the API simple, with reduced redudency (kill actor::send_init)
Martin Quinson [Mon, 17 Aug 2015 16:25:40 +0000 (18:25 +0200)]
implement s4u::Comm::recv_async()
Martin Quinson [Mon, 17 Aug 2015 14:25:14 +0000 (16:25 +0200)]
react sainly if the actor was not create by S4U but by the application deployment
Martin Quinson [Sun, 16 Aug 2015 20:00:52 +0000 (22:00 +0200)]
Have the s4u::Actor::execute() actually wait for the completion of the execution
Martin Quinson [Sun, 16 Aug 2015 16:51:25 +0000 (18:51 +0200)]
no need for the sendstr() pimple. use send() instead
Martin Quinson [Sun, 16 Aug 2015 16:49:05 +0000 (18:49 +0200)]
add missing includes to s4u.h
Martin Quinson [Sun, 16 Aug 2015 16:42:59 +0000 (18:42 +0200)]
there is no need for a recvstr() pimple. recv() works
Martin Quinson [Sun, 16 Aug 2015 16:38:47 +0000 (18:38 +0200)]
adapt to the new simcall_comm_recv() prototype
Martin Quinson [Sun, 16 Aug 2015 16:33:32 +0000 (18:33 +0200)]
Merge branch 'master' into S4U
Martin Quinson [Sun, 16 Aug 2015 16:31:54 +0000 (18:31 +0200)]
uniformize simcall_comm_send() and simcall_comm_recv()
Recv now takes the receiver as first argument, and it should be able
to receive on a remote process.
I tried to remove the sender argument out of send(), but it's used in
SMPI when using RMA and I don't want to dig into it today.
Martin Quinson [Sun, 16 Aug 2015 15:56:04 +0000 (17:56 +0200)]
spellcheck
Martin Quinson [Sun, 16 Aug 2015 15:32:51 +0000 (17:32 +0200)]
kill SIMIX_comm_isend(), use simcall_HANDLER_comm_isend() directly
Martin Quinson [Sun, 16 Aug 2015 14:43:19 +0000 (16:43 +0200)]
implement receive async
Martin Quinson [Sun, 16 Aug 2015 13:31:27 +0000 (15:31 +0200)]
Implement send async
Martin Quinson [Wed, 12 Aug 2015 19:45:30 +0000 (21:45 +0200)]
cosmetics
Martin Quinson [Wed, 12 Aug 2015 19:44:15 +0000 (21:44 +0200)]
actually rename s4u::Process into s4u::Actor
Martin Quinson [Wed, 12 Aug 2015 19:39:03 +0000 (21:39 +0200)]
rename S4U::Channel to S4U::Mailbox. It was not a good idea
Martin Quinson [Wed, 12 Aug 2015 19:31:12 +0000 (21:31 +0200)]
Merge branch 'master' into S4U
Martin Quinson [Wed, 12 Aug 2015 19:11:44 +0000 (21:11 +0200)]
move the cmake files in tools/cmake
Martin Quinson [Tue, 11 Aug 2015 18:53:03 +0000 (20:53 +0200)]
[jenkins] disable MPICH3 test on coverage to avoid timeout
Martin Quinson [Tue, 11 Aug 2015 17:39:45 +0000 (19:39 +0200)]
remove unused jenkins scripts, and document some others
Martin Quinson [Tue, 11 Aug 2015 17:10:04 +0000 (19:10 +0200)]
Fail loudly when someone tries to unlock a mutex owned by someone else
This fixes #19500 on gforge.
Martin Quinson [Sun, 9 Aug 2015 23:13:10 +0000 (01:13 +0200)]
Merge branch 'master' into S4U
Martin Quinson [Sun, 9 Aug 2015 17:48:43 +0000 (19:48 +0200)]
rename simcall process_change_host -> process_set_host
Martin Quinson [Sun, 9 Aug 2015 10:19:38 +0000 (12:19 +0200)]
spell check the comments
Martin Quinson [Sat, 8 Aug 2015 19:18:23 +0000 (21:18 +0200)]
remove dupplicated dependency that is also given out of the if branches
Martin Quinson [Sat, 8 Aug 2015 17:14:45 +0000 (19:14 +0200)]
add some more words to ignore
Martin Quinson [Sat, 8 Aug 2015 17:14:35 +0000 (19:14 +0200)]
improve the usage message, and count the total amount of errors
Martin Quinson [Sat, 8 Aug 2015 16:54:40 +0000 (18:54 +0200)]
this comment was seriously outdated
Martin Quinson [Sat, 8 Aug 2015 16:52:17 +0000 (18:52 +0200)]
translate a comment
Martin Quinson [Fri, 7 Aug 2015 13:51:58 +0000 (15:51 +0200)]
fix make dist
Martin Quinson [Wed, 5 Aug 2015 23:38:46 +0000 (01:38 +0200)]
Cleanups in the Constant model
- Don't derive from NetworkCM02 but directly from Network
- Kill dead code: there is no link in that model
- Die if someone tries to create a link (+hint on how to fix the platform)
Martin Quinson [Wed, 5 Aug 2015 23:35:46 +0000 (01:35 +0200)]
add a platform with routing=None
and use it in the tests based on network/model=Constant.
For some reason, I had to revalidate the tesh outputs. It shouldn't be
but I fail to see where it comes from and it *seems* harmless. Hopefuly
it is...
Martin Quinson [Wed, 5 Aug 2015 22:55:24 +0000 (00:55 +0200)]
initialize some fields
Martin Quinson [Wed, 5 Aug 2015 22:54:44 +0000 (00:54 +0200)]
don't redeclare globals, use headers
Martin Quinson [Wed, 5 Aug 2015 22:52:49 +0000 (00:52 +0200)]
Reduce the amount of (protected) multiple includes
Move the #include within the multiple-inclusion protection.
Martin Quinson [Wed, 5 Aug 2015 21:48:42 +0000 (23:48 +0200)]
Update copyright notices
Only files with an existing SimGrid copyright header and that were
already changed in 2015 were modified.
Martin Quinson [Wed, 5 Aug 2015 21:37:43 +0000 (23:37 +0200)]
don't artificially add the current year to the copyright notices
Martin Quinson [Wed, 5 Aug 2015 11:01:36 +0000 (13:01 +0200)]
only proceed files with an existing SimGrid copyright header
Martin Quinson [Wed, 5 Aug 2015 08:43:13 +0000 (10:43 +0200)]
the routing 'None' must be uppercased in the XML
Martin Quinson [Sun, 2 Aug 2015 22:28:56 +0000 (00:28 +0200)]
Merge branch 'master' into S4U
Conflicts:
buildtools/Cmake/DefinePackages.cmake
Martin Quinson [Sat, 1 Aug 2015 17:47:52 +0000 (19:47 +0200)]
Remove GTNetS. It was not working anyway
Gabriel Corona [Thu, 30 Jul 2015 19:42:28 +0000 (21:42 +0200)]
Fix another typo
Martin Quinson [Thu, 30 Jul 2015 17:13:19 +0000 (19:13 +0200)]
fix a typo
Gabriel Corona [Thu, 30 Jul 2015 10:08:13 +0000 (12:08 +0200)]
[mc] Ignore stdout/stderr of the umpire tests
The no-errors test are still broken.
kbaati [Thu, 30 Jul 2015 09:46:24 +0000 (11:46 +0200)]
[psg] add tutorial source
Martin Quinson [Wed, 29 Jul 2015 22:06:57 +0000 (00:06 +0200)]
activates the ISP test for model-checking
Martin Quinson [Wed, 29 Jul 2015 10:52:17 +0000 (12:52 +0200)]
[appveyor] request the image that is intended for MinGW
Martin Quinson [Wed, 29 Jul 2015 10:15:21 +0000 (12:15 +0200)]
[appveyor] give it a try when java is not blocking the path
degomme [Wed, 29 Jul 2015 09:28:22 +0000 (11:28 +0200)]
these are already defined in public simix.h or surf.h files
degomme [Wed, 29 Jul 2015 09:27:48 +0000 (11:27 +0200)]
forgotten XBT_PUBLIC
Martin Quinson [Wed, 29 Jul 2015 08:46:57 +0000 (10:46 +0200)]
disable lto for gcc 4.8 too
Martin Quinson [Tue, 28 Jul 2015 22:53:16 +0000 (00:53 +0200)]
[appveyor] show compile command lines (plus: kill dead code)
Martin Quinson [Tue, 28 Jul 2015 22:23:38 +0000 (00:23 +0200)]
pthread is not necessarily defined on windows
Martin Quinson [Tue, 28 Jul 2015 22:18:37 +0000 (00:18 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Tue, 28 Jul 2015 22:17:43 +0000 (00:17 +0200)]
Actually, pthreads are not mandatory (win32_ucontext is working)
Also, Actually test on the cmake variable that we set (fix my previous
half baken cleanup/cosmetic)
Martin Quinson [Tue, 28 Jul 2015 14:38:19 +0000 (16:38 +0200)]
[appveyor] more verbose on problems
Martin Quinson [Tue, 28 Jul 2015 14:35:06 +0000 (16:35 +0200)]
[appveyor] copy everything from the pthread libs, not only dll
Martin Quinson [Tue, 28 Jul 2015 14:31:31 +0000 (16:31 +0200)]
pthread is mandatory
Martin Quinson [Tue, 28 Jul 2015 12:53:17 +0000 (14:53 +0200)]
[windows] fix a typo in 32bits detection
Gabriel Corona [Tue, 28 Jul 2015 12:24:07 +0000 (14:24 +0200)]
[mc] Fail if we can't unprotect the stack guard
Gabriel Corona [Tue, 28 Jul 2015 12:15:03 +0000 (14:15 +0200)]
[mc] Do not attempt to make the heap writeable
We add a mprotect()-based gap after the stacks (which are created on
the heap) in order to detect stack overflows but when the stack is
destroyed, the protection is removed by making the pages (part of the
heap) RW and executable. This is not a good idea :)
Apparently, it fails on Ubuntu because of PaX restrictions on
mprotect(): the mprotect calls fails, the pages are still unreadable
and unwritable and the application segfaults when a new allocation
attemps to use it.
Martin Quinson [Tue, 28 Jul 2015 12:44:45 +0000 (14:44 +0200)]
[appveyor] dump gcc's builtins symbols
Martin Quinson [Tue, 28 Jul 2015 12:05:13 +0000 (14:05 +0200)]
[appveyor] be more verbose about what's going on
+fix stupid typo on win error reporting
Gabriel Corona [Tue, 28 Jul 2015 11:37:12 +0000 (13:37 +0200)]
[mc] Use the real override
Martin Quinson [Tue, 28 Jul 2015 11:28:28 +0000 (13:28 +0200)]
strdup is not part of ansi standards, and msys compiler honor the strict paranoid flags, so ask for gnu extensions
Martin Quinson [Tue, 28 Jul 2015 11:11:47 +0000 (13:11 +0200)]
ok, it wont work with MSVC
Martin Quinson [Tue, 28 Jul 2015 11:01:56 +0000 (13:01 +0200)]
wondering whether MinGW C headers are C++ protected :)
Martin Quinson [Tue, 28 Jul 2015 10:32:32 +0000 (12:32 +0200)]
[appveyor] install pthread directly in mingw, not in msys
Martin Quinson [Tue, 28 Jul 2015 07:54:26 +0000 (09:54 +0200)]
[appveyor] Get it working with MSYS (or almost)
Martin Quinson [Mon, 27 Jul 2015 23:42:40 +0000 (01:42 +0200)]
Fix distcheck
Martin Quinson [Mon, 27 Jul 2015 23:21:08 +0000 (01:21 +0200)]
[appveyor] configuration file
Martin Quinson [Mon, 27 Jul 2015 23:00:56 +0000 (01:00 +0200)]
let's be brutal for now
Martin Quinson [Mon, 27 Jul 2015 22:42:00 +0000 (00:42 +0200)]
Don't forbid the use of MSVC, to test AppVeyor
Martin Quinson [Mon, 27 Jul 2015 21:09:42 +0000 (23:09 +0200)]
[jenkins] try to build in-source when on windows
Martin Quinson [Mon, 27 Jul 2015 20:18:06 +0000 (22:18 +0200)]
[jenkins] ask for verbose compilations, to see what's going on on windows