Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
8 years agoEnsure that the mallocator are really inactive when running MC
Martin Quinson [Wed, 17 Oct 2012 20:04:27 +0000 (22:04 +0200)]
Ensure that the mallocator are really inactive when running MC

- before, they were created during the preinit and then destroyed when
  MC was activated.
- now, they are created inactive, and activated when the configuration
  stops if MC is still not activated.
- this mandates some changes around the initialization mechanism in
  the whole stack.
  - one hint that it was a good idea is that before, _surf_init_status
    were never reaching the value 2 (meaning "config now forbidden",
    according to the preexisting asserts).
  - Now this value is set from surf_routing when the first element of
    platform is created. This is a horrible hack intermixing the
    layers, but it was already accredited by the parser that
    configuration could occur until the first <AS>, but no later.
  - we now would need a proper way of increasing the init level of
    simgrid.

I hope that this change did not break anything, but much more work
would be mandated to clean the init mess properly.

8 years ago[trace] fix tesh'es to compare trace file considering all lines except the first two
schnorr [Wed, 17 Oct 2012 13:58:38 +0000 (15:58 +0200)]
[trace] fix tesh'es to compare trace file considering all lines except the first two

8 years ago[trace] output the command line used to generate the trace file
schnorr [Wed, 17 Oct 2012 13:53:11 +0000 (15:53 +0200)]
[trace] output the command line used to generate the trace file

8 years agoFunction MSG_get_host_number() is not deprecated anymore.
Arnaud Giersch [Wed, 17 Oct 2012 12:40:46 +0000 (14:40 +0200)]
Function MSG_get_host_number() is not deprecated anymore.

Acknowledge commit b00e4794c073855ab40697e9ec648c6a67f013e9
(Doesn't see why MSG_get_host_number should be deprecated.)

8 years agoCosmetics: remove spaces at EOL.
Arnaud Giersch [Wed, 17 Oct 2012 11:12:45 +0000 (13:12 +0200)]
Cosmetics: remove spaces at EOL.

8 years agoUse function-like macros instead of inline functions for MC_is_active().
Arnaud Giersch [Wed, 17 Oct 2012 08:37:06 +0000 (10:37 +0200)]
Use function-like macros instead of inline functions for MC_is_active().

When using functions, Gcc apparently does not remove dead branches when
building without optimizations, and then complains at link time with:

Linking C executable ../../bin/gras_stub_generator
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_ignore'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_do_the_modelcheck_for_real'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_process_clock_get'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_process_clock_add'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_memory_init'
../../lib/libsimgrid.so.3.8: error: undefined reference to 'MC_new_stack_area'
collect2: error: ld returned 1 exit status

This is if course when building with -Denable_model-checking=OFF.

8 years agos/MC_IS_ENABLED/MC_is_active()/ to remove an unfriendly pitfall of the codebase
Martin Quinson [Tue, 16 Oct 2012 20:58:18 +0000 (22:58 +0200)]
s/MC_IS_ENABLED/MC_is_active()/ to remove an unfriendly pitfall of the codebase

This fixes #14976 (thanks to LucasN for the report)

8 years agocosmetics and improvement
Martin Quinson [Tue, 16 Oct 2012 20:51:00 +0000 (22:51 +0200)]
cosmetics and improvement

8 years agoDistinguish outputs for mmalloc_test on 32 and 64bits architectures.
Arnaud Giersch [Tue, 16 Oct 2012 19:31:57 +0000 (21:31 +0200)]
Distinguish outputs for mmalloc_test on 32 and 64bits architectures.

8 years agodocument that we really need xbt_os_thread_atfork (for tesh+mmalloc)
Martin Quinson [Tue, 16 Oct 2012 20:04:22 +0000 (22:04 +0200)]
document that we really need xbt_os_thread_atfork (for tesh+mmalloc)

8 years agoimprove the mmalloc tesh to ensure that use after free don't ruin mmalloc
Martin Quinson [Tue, 16 Oct 2012 16:18:27 +0000 (18:18 +0200)]
improve the mmalloc tesh to ensure that use after free don't ruin mmalloc

8 years agoUpdate the mmalloc tesh file
Martin Quinson [Tue, 16 Oct 2012 16:11:50 +0000 (18:11 +0200)]
Update the mmalloc tesh file

- We now write the offset in hexa
- exact returned pointers changed a bit with last mmalloc rewamping,
  but they still seem reasonable

8 years agodisplay offsets in hexa (counting in decimal sometimes difficult)
Martin Quinson [Tue, 16 Oct 2012 16:10:33 +0000 (18:10 +0200)]
display offsets in hexa (counting in decimal sometimes difficult)

8 years agoDo not store any metadata where the user (was) legitimate to write
Martin Quinson [Tue, 16 Oct 2012 16:06:31 +0000 (18:06 +0200)]
Do not store any metadata where the user (was) legitimate to write

Before, free fragments were chained within the user area, leading to
obscure breakdown when the user was mean enough to write into the
block after a free(). Now, these data are stored as swag directly into
the mdp->heapinfo that is where we store our metadata.

We have one extra complication due to the fact that heapinfo must be
reallocated when we mmap more memory. When this happens, we have to
update all swag hooks manually to apply the offset.
Yup, this went that bad :-/

8 years agoUse double quotes around variable expansion to protect spaces.
Arnaud Giersch [Tue, 16 Oct 2012 16:09:44 +0000 (18:09 +0200)]
Use double quotes around variable expansion to protect spaces.

8 years agoMake working directory really clean between builds.
Arnaud Giersch [Tue, 16 Oct 2012 12:46:57 +0000 (14:46 +0200)]
Make working directory really clean between builds.

8 years agoRegenerate tesh files for chord examples.
Arnaud Giersch [Tue, 16 Oct 2012 12:46:57 +0000 (14:46 +0200)]
Regenerate tesh files for chord examples.

8 years agosg_cmdline is a public dynar containing all command-line arguments we got
Martin Quinson [Tue, 16 Oct 2012 00:12:07 +0000 (02:12 +0200)]
sg_cmdline is a public dynar containing all command-line arguments we got

8 years agocosmetics
Martin Quinson [Mon, 15 Oct 2012 23:23:50 +0000 (01:23 +0200)]
cosmetics

8 years agoensures that runall is never called on empty set
Martin Quinson [Mon, 15 Oct 2012 22:52:43 +0000 (00:52 +0200)]
ensures that runall is never called on empty set

Not sure of when it can happen, but it does, forcing the context
factories to be defensive. This was causing issues in java coroutines
as this factory was not defensive enough. So avoiding future issues
seems interesting to me.

8 years agosearch libunwind with cmake and die at config time if not found
Martin Quinson [Mon, 15 Oct 2012 21:57:55 +0000 (23:57 +0200)]
search libunwind with cmake and die at config time if not found

8 years agoouch, I've lost an eye on that
Martin Quinson [Sun, 14 Oct 2012 19:57:17 +0000 (21:57 +0200)]
ouch, I've lost an eye on that

8 years agotry to get /some/ info from the cdash by not intentionaly breaking the tesh files
Martin Quinson [Thu, 11 Oct 2012 07:18:24 +0000 (09:18 +0200)]
try to get /some/ info from the cdash by not intentionaly breaking the tesh files

8 years agomore cruft to ignore
Martin Quinson [Thu, 11 Oct 2012 00:45:57 +0000 (02:45 +0200)]
more cruft to ignore

8 years agochord: avoid duplicate call of MSG_comm_test()
Lucas Nussbaum [Sun, 14 Oct 2012 10:56:09 +0000 (12:56 +0200)]
chord: avoid duplicate call of MSG_comm_test()

Commit caffead (exactly one year ago!) introduced a duplicate call to
MSG_comm_test(): MSG_comm_test() could return true on line 336, and
then be called again there. That caused a crash since the communication
was already finalized in the first MSG_comm_test() call.

8 years agolist bug fixed in SD_simulate
suter [Fri, 12 Oct 2012 23:01:17 +0000 (01:01 +0200)]
list bug fixed in SD_simulate

8 years agofix an issue that occurs when SD_simulate is called with a positive
suter [Fri, 12 Oct 2012 22:57:03 +0000 (00:57 +0200)]
fix an issue that occurs when SD_simulate is called with a positive
value (simulate for X seconds). The simulation does not always stop
after the expected duration.
Cause: The "less than" test is sometimes tricky with doubles.
Fix: Replace by "difference smaller than 0.00001 (the maxmin precision).

+ indent
+ one more verbose message

8 years agoCompilation with warning flags
navarro [Fri, 12 Oct 2012 12:52:49 +0000 (14:52 +0200)]
Compilation with warning flags

8 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
navarro [Fri, 12 Oct 2012 12:42:40 +0000 (14:42 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

8 years agoFinish the tutorial for new model and api
navarro [Fri, 12 Oct 2012 12:42:32 +0000 (14:42 +0200)]
Finish the tutorial for new model and api

8 years agomodel-checker : display malloc backtrace according to address
Marion Guthmuller [Fri, 12 Oct 2012 11:41:03 +0000 (13:41 +0200)]
model-checker : display malloc backtrace according to address

8 years agoOups rename function
navarro [Fri, 12 Oct 2012 10:06:01 +0000 (12:06 +0200)]
Oups rename function

8 years agoAdd first steps to explain How to add a new model in Simgrid
navarro [Fri, 12 Oct 2012 09:48:51 +0000 (11:48 +0200)]
Add first steps to explain How to add a new model in Simgrid

8 years agoFirst steps for making a tutorial on How to create a new API in Simgrid
navarro [Fri, 12 Oct 2012 09:09:02 +0000 (11:09 +0200)]
First steps for making a tutorial on How to create a new API in Simgrid

8 years agoadd better support for MPI datatypes extent values (to correct behavior of gather...
Augustin Degomme [Thu, 11 Oct 2012 14:58:41 +0000 (16:58 +0200)]
add better support for MPI datatypes extent values (to correct behavior of gather/scatter of these structs)

8 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
paul bedaride [Thu, 11 Oct 2012 15:43:41 +0000 (17:43 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

8 years agoFix compilation warning.
Arnaud Giersch [Thu, 11 Oct 2012 15:30:37 +0000 (17:30 +0200)]
Fix compilation warning.

src/mc/mc_checkpoint.c:480: warning: cast from pointer to integer of different size

8 years agoIncrease timeout in pmm.tesh.
Arnaud Giersch [Thu, 11 Oct 2012 14:10:14 +0000 (16:10 +0200)]
Increase timeout in pmm.tesh.

8 years agoReturn immediately if p==NULL.
Arnaud Giersch [Thu, 11 Oct 2012 14:10:14 +0000 (16:10 +0200)]
Return immediately if p==NULL.

Prevents valgrind from beeing hung at exit on a free(0).

8 years agoNew cmake option "enable_mallocators", useful to disable mallocators.
Arnaud Giersch [Thu, 11 Oct 2012 14:10:14 +0000 (16:10 +0200)]
New cmake option "enable_mallocators", useful to disable mallocators.

8 years agoInclude standard header files after local includes.
Arnaud Giersch [Thu, 11 Oct 2012 14:10:14 +0000 (16:10 +0200)]
Include standard header files after local includes.

It should fix the build on Debian Lenny (oldstable).

8 years agoDefine _GNU_SOURCE in xbt/misc.h, so that it's defined across full build.
Arnaud Giersch [Thu, 11 Oct 2012 14:10:14 +0000 (16:10 +0200)]
Define _GNU_SOURCE in xbt/misc.h, so that it's defined across full build.

8 years agomodel-checker : forget regions corresponding to libsimgrid for each snapshot
Marion Guthmuller [Thu, 11 Oct 2012 14:55:34 +0000 (16:55 +0200)]
model-checker : forget regions corresponding to libsimgrid for each snapshot

8 years agoadd libunwind-devel package for fedora
Augustin Degomme [Thu, 11 Oct 2012 09:39:05 +0000 (11:39 +0200)]
add libunwind-devel package for fedora

8 years ago[example,smpi,MM] remove the specification of parameter per a file
jean-noel quintin [Thu, 11 Oct 2012 07:57:21 +0000 (08:57 +0100)]
[example,smpi,MM] remove the specification of parameter per a file
                  - improve the upkeep of the code

8 years agoadd tesh man to cmake
paul bedaride [Thu, 11 Oct 2012 07:30:53 +0000 (09:30 +0200)]
add tesh man to cmake

8 years agoFix memory leaks in msg_pmm.
Arnaud Giersch [Wed, 10 Oct 2012 20:08:48 +0000 (22:08 +0200)]
Fix memory leaks in msg_pmm.

8 years agoUse 1/0 instead of false/true (*flag is an int).
Arnaud Giersch [Wed, 10 Oct 2012 19:41:11 +0000 (21:41 +0200)]
Use 1/0 instead of false/true (*flag is an int).

8 years agoInclude is missing when building with tracing=OFF.
Arnaud Giersch [Wed, 10 Oct 2012 19:40:53 +0000 (21:40 +0200)]
Include is missing when building with tracing=OFF.

8 years agoAdd msg-pmm to the list of tests to run, and fill up pmm.tesh.
Arnaud Giersch [Wed, 10 Oct 2012 16:21:34 +0000 (18:21 +0200)]
Add msg-pmm to the list of tests to run, and fill up pmm.tesh.

8 years agoCannot use a dsend here, or it will be aborted when the process is terminated just...
Arnaud Giersch [Wed, 10 Oct 2012 16:02:24 +0000 (18:02 +0200)]
Cannot use a dsend here, or it will be aborted when the process is terminated just after.

8 years agoCheck for errors from MSG_task_receive.
Arnaud Giersch [Wed, 10 Oct 2012 16:01:16 +0000 (18:01 +0200)]
Check for errors from MSG_task_receive.

8 years agoAvoid to fail when we cannot read the output of addr2line.
Arnaud Giersch [Wed, 10 Oct 2012 15:16:11 +0000 (17:16 +0200)]
Avoid to fail when we cannot read the output of addr2line.

8 years agoTypo.
Arnaud Giersch [Wed, 10 Oct 2012 14:20:23 +0000 (16:20 +0200)]
Typo.

8 years agoadd tesh man
paul bedaride [Wed, 10 Oct 2012 15:38:08 +0000 (17:38 +0200)]
add tesh man

8 years agoadd pmm.tesh
paul bedaride [Wed, 10 Oct 2012 14:44:51 +0000 (16:44 +0200)]
add pmm.tesh

8 years agofunction check_fraghead to detect mmalloc metadata corruption
Marion Guthmuller [Wed, 10 Oct 2012 13:05:56 +0000 (15:05 +0200)]
function check_fraghead to detect mmalloc metadata corruption

8 years agocommit my deployment for testing the model-checking of Chord
Martin Quinson [Wed, 10 Oct 2012 12:34:34 +0000 (14:34 +0200)]
commit my deployment for testing the model-checking of Chord

8 years ago[examples,smpi,MM] remove a useless function
jean-noel quintin [Wed, 10 Oct 2012 10:32:17 +0000 (11:32 +0100)]
[examples,smpi,MM] remove a useless function

8 years ago[examples,smpi,MM] get some positive value for the time
jean-noel quintin [Wed, 10 Oct 2012 10:27:57 +0000 (11:27 +0100)]
[examples,smpi,MM] get some positive value for the time

8 years agoMerge remote-tracking branch 'origin/master'
jean-noel quintin [Wed, 10 Oct 2012 10:21:33 +0000 (11:21 +0100)]
Merge remote-tracking branch 'origin/master'

Remove:
examples/smpi/MM/timer.c
examples/smpi/MM/timer.h

8 years ago[example,smpi,MM] remove the timer interface which is useless here
jean-noel quintin [Wed, 10 Oct 2012 10:19:59 +0000 (11:19 +0100)]
[example,smpi,MM] remove the timer interface which is useless here

8 years agoAn empty body for this if statement looks wrong.
Arnaud Giersch [Wed, 10 Oct 2012 09:51:23 +0000 (11:51 +0200)]
An empty body for this if statement looks wrong.

8 years agoRegenerated.
Arnaud Giersch [Wed, 10 Oct 2012 09:27:55 +0000 (11:27 +0200)]
Regenerated.

8 years agoAbort if getline failed.
Arnaud Giersch [Wed, 10 Oct 2012 09:13:10 +0000 (11:13 +0200)]
Abort if getline failed.

8 years agoRemove unused function.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Remove unused function.

8 years agoDeclare static functions in c file.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Declare static functions in c file.

8 years agoRemove needless declaration of static function.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Remove needless declaration of static function.

8 years agoRemove declaration of static functions from header file.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Remove declaration of static functions from header file.

Also exchange the order of the functions in c file, and avoid a forward declaration.

8 years agoExpression is in fact of type ptrdiff_t, and modifier is %t.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Expression is in fact of type ptrdiff_t, and modifier is %t.

8 years agoAn inline declaration without definition does not make sense.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
An inline declaration without definition does not make sense.

8 years agoRemove generated file after test.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Remove generated file after test.

8 years agoReorder includes.
Arnaud Giersch [Wed, 10 Oct 2012 09:08:40 +0000 (11:08 +0200)]
Reorder includes.

Only include math.h after having changed _*_SOURCE.  Otherwise, strange
errors may appear, depending on what's included from smx_private.h for
example.

8 years agoinstall libunwind for model-checking
Martin Quinson [Wed, 10 Oct 2012 07:49:18 +0000 (09:49 +0200)]
install libunwind for model-checking

8 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 10 Oct 2012 07:38:34 +0000 (09:38 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

8 years agoAlways initialize variable.
Arnaud Giersch [Wed, 10 Oct 2012 06:10:38 +0000 (08:10 +0200)]
Always initialize variable.

8 years agoUse %z modifier for type size_t.
Arnaud Giersch [Wed, 10 Oct 2012 06:07:03 +0000 (08:07 +0200)]
Use %z modifier for type size_t.

8 years agothese files were added recently
Martin Quinson [Wed, 10 Oct 2012 04:54:46 +0000 (06:54 +0200)]
these files were added recently

8 years agoshunt a warning, quite dirtily
Augustin Degomme [Tue, 9 Oct 2012 17:57:52 +0000 (19:57 +0200)]
shunt a warning, quite dirtily

8 years agoforgot to handle MPI_ANY_SOURCE as a valid source, they were caught as invalid
Augustin Degomme [Tue, 9 Oct 2012 16:51:14 +0000 (18:51 +0200)]
forgot to handle MPI_ANY_SOURCE as a valid source, they were caught as invalid

8 years agoadd a few tests for smpi
Augustin Degomme [Tue, 9 Oct 2012 16:44:14 +0000 (18:44 +0200)]
add a few tests for smpi

8 years ago[examples,smpi] remove warnings and resolve a bug (I hope I amn't sure)
jean-noel quintin [Tue, 9 Oct 2012 17:40:32 +0000 (18:40 +0100)]
[examples,smpi] remove warnings and resolve a bug (I hope I amn't sure)

8 years agoimprove a comment
Martin Quinson [Tue, 9 Oct 2012 15:27:59 +0000 (17:27 +0200)]
improve a comment

8 years agoAdd a tesh file for smpi vector
navarro [Tue, 9 Oct 2012 09:50:10 +0000 (11:50 +0200)]
Add a tesh file for smpi vector

8 years agoMerge remote-tracking branch 'origin/master'
jean-noel quintin [Tue, 9 Oct 2012 08:12:51 +0000 (09:12 +0100)]
Merge remote-tracking branch 'origin/master'

8 years ago[smpi,example] an example of matrix multiplication with non contignous memory
jean-noel quintin [Tue, 9 Oct 2012 08:12:28 +0000 (09:12 +0100)]
[smpi,example] an example of matrix multiplication with non contignous memory
I hope this example is relevant and could increase the coverage

8 years agoset size to -1 for free fragments in new fragmented block
Marion Guthmuller [Tue, 9 Oct 2012 01:54:29 +0000 (03:54 +0200)]
set size to -1 for free fragments in new fragmented block

8 years agoset value -1 in unsigned short cannot work fine ...
Marion Guthmuller [Tue, 9 Oct 2012 00:39:02 +0000 (02:39 +0200)]
set value -1 in unsigned short cannot work fine ...

8 years agoset size_used negative for free fragment/block
Marion Guthmuller [Mon, 8 Oct 2012 23:53:15 +0000 (01:53 +0200)]
set size_used negative for free fragment/block

8 years agotry harder to break mmalloc wrt double-free
Martin Quinson [Mon, 8 Oct 2012 23:24:21 +0000 (01:24 +0200)]
try harder to break mmalloc wrt double-free

8 years agoMerge remote-tracking branch 'origin/master'
jean-noel quintin [Mon, 8 Oct 2012 23:23:04 +0000 (00:23 +0100)]
Merge remote-tracking branch 'origin/master'

8 years ago[smpi] correction bug for detached comm
jean-noel quintin [Mon, 8 Oct 2012 23:22:39 +0000 (00:22 +0100)]
[smpi] correction bug for detached comm

      -all the test passed bug on real exemple it doesn't work
      I have to found why and where to free these requests
      Sorry for the introduction of this bug.

8 years agoUNLOCK forgotten before THROWF
Marion Guthmuller [Mon, 8 Oct 2012 23:15:23 +0000 (01:15 +0200)]
UNLOCK forgotten before THROWF

8 years agochecks that double free are correctly detected
Martin Quinson [Mon, 8 Oct 2012 23:01:16 +0000 (01:01 +0200)]
checks that double free are correctly detected

8 years agocheck if free on fragment already free
Marion Guthmuller [Mon, 8 Oct 2012 23:00:44 +0000 (01:00 +0200)]
check if free on fragment already free

8 years agoadd the new mmalloc test to the testsuite
Martin Quinson [Mon, 8 Oct 2012 22:42:20 +0000 (00:42 +0200)]
add the new mmalloc test to the testsuite

8 years agobetter integration of this test in our framework (like, use XBT for the logs and...
Martin Quinson [Mon, 8 Oct 2012 22:37:46 +0000 (00:37 +0200)]
better integration of this test in our framework (like, use XBT for the logs and such)

8 years agoBug fix in mrealloc where the previous content could get lost
Martin Quinson [Mon, 8 Oct 2012 22:28:30 +0000 (00:28 +0200)]
Bug fix in mrealloc where the previous content could get lost

When reallocating a large block, mrealloc tries to be cleaver and
first frees the area before requesting it again to avoid a copy if
there is some free adjacent memory.

This trick obviously don't mix well with the mmalloc memseting the
allocated memory to 0 before returning it.

So, split the mmalloc in two, and use the non-memsetting one from
mrealloc.

8 years agowe all love debug informations
Martin Quinson [Mon, 8 Oct 2012 22:02:35 +0000 (00:02 +0200)]
we all love debug informations

8 years agoadd a basic tesh test about mmalloc
Martin Quinson [Mon, 8 Oct 2012 21:14:02 +0000 (23:14 +0200)]
add a basic tesh test about mmalloc