Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 years agomove back the protected interface of platforms to the non-public area
Martin Quinson [Sun, 23 Mar 2014 15:23:07 +0000 (16:23 +0100)]
move back the protected interface of platforms to the non-public area

And have the public surf_routing.h use the public interface of
platforms instead of the protected one.

10 years agoHave smpi_bench.c see HAVE_MMAP flag
degomme [Sun, 23 Mar 2014 00:27:59 +0000 (01:27 +0100)]
Have smpi_bench.c see HAVE_MMAP flag
The way internal_config.h is not included in lots of files may cause bugs..
Shouldn't we pass flags through CFLAGS instead ?

10 years agoMissing dependency (fix parallel builds).
Arnaud Giersch [Sat, 22 Mar 2014 22:47:27 +0000 (23:47 +0100)]
Missing dependency (fix parallel builds).

10 years agoAdd missing files for javadoc.
Arnaud Giersch [Sat, 22 Mar 2014 22:34:28 +0000 (23:34 +0100)]
Add missing files for javadoc.

10 years agoFix doxygen comments.
Arnaud Giersch [Sat, 22 Mar 2014 22:25:13 +0000 (23:25 +0100)]
Fix doxygen comments.

10 years agoMissing XBT_LOG_CONNECTs.
Arnaud Giersch [Sat, 22 Mar 2014 22:21:55 +0000 (23:21 +0100)]
Missing XBT_LOG_CONNECTs.

10 years agoMove win32_ucontext.h to private area.
Arnaud Giersch [Sat, 22 Mar 2014 22:20:21 +0000 (23:20 +0100)]
Move win32_ucontext.h to private area.

10 years agoHeader platf_interface.h needs to be public (included from surf_routing.h).
Arnaud Giersch [Sat, 22 Mar 2014 22:06:44 +0000 (23:06 +0100)]
Header platf_interface.h needs to be public (included from surf_routing.h).

10 years agoDon't include private header from public ones.
Arnaud Giersch [Sat, 22 Mar 2014 22:00:32 +0000 (23:00 +0100)]
Don't include private header from public ones.

10 years agoDisable mmalloc when !HAVE_MC.
Arnaud Giersch [Sat, 22 Mar 2014 21:30:51 +0000 (22:30 +0100)]
Disable mmalloc when !HAVE_MC.

Avoid useless dependencies on libdw.
Mmalloc is not needed without MC.

10 years agomove unused variable
degomme [Sat, 22 Mar 2014 10:48:43 +0000 (11:48 +0100)]
move unused variable

10 years agoprotect against not mmap-enabled systems
degomme [Sat, 22 Mar 2014 10:44:29 +0000 (11:44 +0100)]
protect against not mmap-enabled systems

10 years agoFix dist.
Arnaud Giersch [Fri, 21 Mar 2014 19:58:43 +0000 (20:58 +0100)]
Fix dist.

10 years agoHave some mpich3 tests use the automatic privatization instead of manual one.
Augustin Degomme [Fri, 21 Mar 2014 15:40:24 +0000 (16:40 +0100)]
Have some mpich3 tests use the automatic privatization instead of manual one.
Add some fortran tests which were buggy and needed privatization as well.

10 years agoAdd a first draft for automatic privatization of global variables for smpi.
Augustin Degomme [Fri, 21 Mar 2014 15:38:45 +0000 (16:38 +0100)]
Add a first draft for automatic privatization of global variables for smpi.
Activated with --cfg="smpi/privatize_global_variables":yes
This will read executable (using objdump for now), find addresses of .data and .bss segments and for each process (even 0 for now) copy all this data inside an mmaped zone
Each time the simulated process executes some code, or each time we copy data from these zones, the data segment is mmaped from the one of the corresponding process.

10 years ago[mc] Avoid heap collisions by using a bigger gap bewteen the two heaps
Gabriel Corona [Fri, 21 Mar 2014 14:42:53 +0000 (15:42 +0100)]
[mc] Avoid heap collisions by using a bigger gap bewteen the two heaps

10 years ago[mc] Flag state hashing (model-check/hash) as experimental
Gabriel Corona [Fri, 21 Mar 2014 11:50:58 +0000 (12:50 +0100)]
[mc] Flag state hashing (model-check/hash) as experimental

10 years agoMerge branch 'mc++'
Gabriel Corona [Fri, 21 Mar 2014 11:45:05 +0000 (12:45 +0100)]
Merge branch 'mc++'

Conflicts:
src/simgrid/sg_config.c
src/xbt/mmalloc/mm_diff.c

10 years agoIncrease the MC heap size as a quickfix for the heap overflow bug
Gabriel Corona [Fri, 21 Mar 2014 11:35:13 +0000 (12:35 +0100)]
Increase the MC heap size as a quickfix for the heap overflow bug

When the model-checker is used, two heaps are used:

  * one for the application and the simulator;
  * one for the model-checker.

The heaps are initially of size STD_HEAP_SIZE (currently about
19-10MiB) and are next to each other.

In some cases, the first heap overflows into the second one leading to
curruption of the second heap. One possible symptom of this is a
freeze in malloc/sem_wait:

In strace:

    futex(0x998c000, FUTEX_WAIT, 0, NULL <unfinished ...>

The application heap overflows into the model-checker heap and memset0
the semaphore/futex at the beginning of the second heap.

In gdb (with "watch 0x998c000"):

    Old value = 1
    New value = 0
    memset () at ../sysdeps/x86_64/memset.S:98
    98     ../sysdeps/x86_64/memset.S: Aucun fichier ou dossier de ce type.
    (gdb) bt
    #0  memset () at ../sysdeps/x86_64/memset.S:98
    #1  0x00007ffff7a5419b in mmalloc (mdp=0x8603000, size=8389608) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mmalloc.c:140
    #2  0x00007ffff7a55d4f in malloc (n=8389608) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mm_legacy.c:71
    #3  0x00007ffff7a55e3a in calloc (nmemb=8389608, size=1) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mm_legacy.c:110
    #4  0x00007ffff7948224 in xbt_malloc0 (n=8389608) at /home/corona/workspace/simgrid/include/xbt/sysdep.h:119
    #5  smx_ctx_base_factory_create_context_sized (size=8389608, code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, process=0x865e400)
        at /home/corona/workspace/simgrid/src/simix/smx_context_base.c:46
    #6  0x00007ffff7a1b64d in smx_ctx_sysv_create_context_sized (size=8389608, code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>,
        process=0x865e400) at /home/corona/workspace/simgrid/src/simix/smx_context_sysv.c:127
    #7  0x00007ffff7a1b80a in smx_ctx_sysv_create_context (code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, process=0x865e400)
        at /home/corona/workspace/simgrid/src/simix/smx_context_sysv.c:186
    #8  0x00007ffff795749d in SIMIX_context_new (code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, simix_process=0x865e400)
        at /home/corona/workspace/simgrid/src/simix/smx_private.h:249
    #9  0x00007ffff7958787 in SIMIX_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay", kill_time=-1,
        argc=1, argv=0x8604900, properties=0x0, auto_restart=0, parent_process=0x865e200) at /home/corona/workspace/simgrid/src/simix/smx_process.c:272
    #10 0x00007ffff79580db in SIMIX_pre_process_create (simcall=0x865e298, process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000,
        hostname=0x906ec00 "Tremblay", kill_time=-1, argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/smx_process.c:208
    #11 0x00007ffff795c1d2 in SIMIX_simcall_pre (simcall=0x865e298, value=0) at /home/corona/workspace/simgrid/src/simix/simcalls_generated_case.c:218
    #12 0x00007ffff7965842 in simcall_BODY_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay",
        kill_time=-1, argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/simcalls_generated_body.c:682
    #13 0x00007ffff796f758 in simcall_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay", kill_time=-1,
        argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/smx_user.c:581
    #14 0x00007ffff7927fff in MSG_process_create_with_environment (name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x0, host=0x906eb00, argc=1, argv=0x8604900, properties=0x0)
        at /home/corona/workspace/simgrid/src/msg/msg_process.c:171
    #15 0x00007ffff7927c8c in MSG_process_create_from_SIMIX (process=0x7fffffffdf00, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x0, hostname=0x906ec00 "Tremblay", kill_time=-1,
        argc=1, argv=0x8604900, properties=0x0, auto_restart=0, parent_process=0x0) at /home/corona/workspace/simgrid/src/msg/msg_process.c:66
    #16 0x00007ffff7949fd8 in parse_process (process=0x7fffffffe000) at /home/corona/workspace/simgrid/src/simix/smx_deployment.c:74
    #17 0x00007ffff79bb589 in sg_platf_new_process (process=0x7fffffffe000) at /home/corona/workspace/simgrid/src/surf/sg_platf.c:265
    #18 0x00007ffff79fa331 in ETag_surfxml_process () at /home/corona/workspace/simgrid/src/surf/surfxml_parse.c:946
    #19 0x00007ffff79f2fcc in surf_parse_lex () at src/surf/simgrid_dtd.c:9166
    #20 0x00007ffff79fac4e in _surf_parse () at /home/corona/workspace/simgrid/src/surf/surfxml_parse.c:1045
    #21 0x00007ffff794a220 in SIMIX_launch_application (file=0x7fffffffe63b "deploy_bugged1_liveness.xml") at /home/corona/workspace/simgrid/src/simix/smx_deployment.c:125
    #22 0x00007ffff7921cb1 in MSG_launch_application (file=0x7fffffffe63b "deploy_bugged1_liveness.xml") at /home/corona/workspace/simgrid/src/msg/msg_deployment.c:32
    #23 0x0000000000401cf2 in main (argc=3, argv=0x7fffffffe348) at /home/corona/workspace/simgrid/examples/msg/mc/bugged1_liveness.c:150

The bug is triggered by commit 5a37cda with increases the default
stack size (the stacks are allocated in the application heap).

Things to change:

  Solution a:

    1) add an (optional) "hard address" to a given heap in order to
       a heap to overflow on something else;

    2) and do not place the heaps next to each other.

    The problem is that someone might mmap something in the area of
    the heaps.

  Solution b:

    mmap a very big area of memory (say 1TiB) for eac heaps and never
    grow again. Let the system allocate memory lazily.

    It might be necessary, to add a parameter fo choose this value in
    order to be able to handle very large problems.

  Solution c:

    Use segmented heaps.

    But we would need to change both the model-checker and the malloc
    implementation to do this (i.e. We don't want to do this).

Temporary workarounds:

  * either increase STD_HEAP_SIZE (in the source code);

  * or use a smaller value for the stack size
    (--cfg:contexts/stack_size=128).

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Mar 2014 11:04:14 +0000 (12:04 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoWorkstation::open() improvement
Pierre Veyre [Fri, 21 Mar 2014 11:03:32 +0000 (12:03 +0100)]
Workstation::open() improvement

10 years agoFix issues for destroy callbacks
Paul Bédaride [Fri, 21 Mar 2014 10:28:27 +0000 (11:28 +0100)]
Fix issues for destroy callbacks

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Mar 2014 08:44:09 +0000 (09:44 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoLeak --
Pierre Veyre [Fri, 21 Mar 2014 08:43:29 +0000 (09:43 +0100)]
Leak --

10 years agoFix cfg=path for test sorage_basic.
Arnaud Giersch [Thu, 20 Mar 2014 20:12:18 +0000 (21:12 +0100)]
Fix cfg=path for test sorage_basic.

10 years agoDon't use xbt_assert for error checking.
Arnaud Giersch [Thu, 20 Mar 2014 20:11:27 +0000 (21:11 +0100)]
Don't use xbt_assert for error checking.

It's deactivated when building with enable_debug=OFF.

10 years agoTypo.
Arnaud Giersch [Wed, 19 Mar 2014 10:20:36 +0000 (11:20 +0100)]
Typo.

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 20 Mar 2014 16:03:44 +0000 (17:03 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoFix bug and leak for msg_file_open
Pierre Veyre [Thu, 20 Mar 2014 16:03:03 +0000 (17:03 +0100)]
Fix bug and leak for msg_file_open
Repare tesh tests

10 years ago[mc] Fix cleanup of info->types
Gabriel Corona [Thu, 20 Mar 2014 11:38:00 +0000 (12:38 +0100)]
[mc] Fix cleanup of info->types

10 years ago[mc] Fix free callback for type->members
Gabriel Corona [Thu, 20 Mar 2014 11:30:04 +0000 (12:30 +0100)]
[mc] Fix free callback for type->members

Missing one indirection.

10 years ago[mc] Efficient lookup of subprogram by offset
Gabriel Corona [Thu, 20 Mar 2014 11:23:48 +0000 (12:23 +0100)]
[mc] Efficient lookup of subprogram by offset

info->subprograms is now a dict and not an array.

10 years ago[mc] Store abstract subprograms in info->subprograms
Gabriel Corona [Thu, 20 Mar 2014 10:49:52 +0000 (11:49 +0100)]
[mc] Store abstract subprograms in info->subprograms

We will use them in order to resolve DW_AT_specification references.

10 years agoFix swig compile error
Paul Bédaride [Thu, 20 Mar 2014 10:54:37 +0000 (11:54 +0100)]
Fix swig compile error

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 20 Mar 2014 10:44:24 +0000 (11:44 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoUpdate storage_basic tesh file
Pierre Veyre [Thu, 20 Mar 2014 10:43:53 +0000 (11:43 +0100)]
Update storage_basic tesh file

10 years agoRemove debug info
Pierre Veyre [Thu, 20 Mar 2014 10:30:45 +0000 (11:30 +0100)]
Remove debug info

10 years agoFix cmake for swig
Paul Bédaride [Thu, 20 Mar 2014 10:28:50 +0000 (11:28 +0100)]
Fix cmake for swig

10 years agoFix cmake for swig
Paul Bédaride [Thu, 20 Mar 2014 09:28:18 +0000 (10:28 +0100)]
Fix cmake for swig

10 years ago[mc] Add support for inheritance
Gabriel Corona [Tue, 4 Mar 2014 09:12:26 +0000 (10:12 +0100)]
[mc] Add support for inheritance

DW_TAG_inheritance relations are stored with DW_TAG_member and handled
by the same logic but are flaged as DW_TAG_inheritance.

10 years agosmall fix to benchmarking code
Luka Stanisic [Thu, 20 Mar 2014 08:43:44 +0000 (09:43 +0100)]
small fix to benchmarking code

10 years ago[mc] Fix documentation of the field 'full_type'
Gabriel Corona [Thu, 20 Mar 2014 08:33:31 +0000 (09:33 +0100)]
[mc] Fix documentation of the field 'full_type'

The field 'other_object_same_type' was changed into 'full_type' but
the description of the field was not changed accordingly.

10 years agoImproving benchmarking code
Luka Stanisic [Thu, 20 Mar 2014 08:17:26 +0000 (09:17 +0100)]
Improving benchmarking code

10 years agoAdd java surf plugin
Paul Bédaride [Wed, 19 Mar 2014 15:30:55 +0000 (16:30 +0100)]
Add java surf plugin

10 years agofix Java_org_simgrid_msg_File_open one more time
Pierre Veyre [Wed, 19 Mar 2014 15:31:19 +0000 (16:31 +0100)]
fix Java_org_simgrid_msg_File_open one more time

10 years agoFix Java_org_simgrid_msg_File_open() again
Pierre Veyre [Wed, 19 Mar 2014 15:24:41 +0000 (16:24 +0100)]
Fix Java_org_simgrid_msg_File_open() again

10 years agoFix MSG_file_open java banding
Pierre Veyre [Wed, 19 Mar 2014 15:16:47 +0000 (16:16 +0100)]
Fix MSG_file_open java banding

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Wed, 19 Mar 2014 14:52:07 +0000 (15:52 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoModify MSG_file_open() implementation
Pierre Veyre [Wed, 19 Mar 2014 14:51:35 +0000 (15:51 +0100)]
Modify MSG_file_open() implementation

10 years agoAdd explicit initialization for the f77 field.
Arnaud Giersch [Wed, 19 Mar 2014 09:54:54 +0000 (10:54 +0100)]
Add explicit initialization for the f77 field.

10 years agoAlways link with libstdc++ when not compiling with Clang on FreeBSD >= 10.0.
Arnaud Giersch [Tue, 18 Mar 2014 22:12:32 +0000 (23:12 +0100)]
Always link with libstdc++ when not compiling with Clang on FreeBSD >= 10.0.

10 years agoAvoid to compare addr with random value with gfortran.
Arnaud Giersch [Tue, 18 Mar 2014 21:59:09 +0000 (22:59 +0100)]
Avoid to compare addr with random value with gfortran.

10 years agoYet another BSD patch from M. Volat, anticipating changes in c++ stack
degomme [Tue, 18 Mar 2014 17:14:45 +0000 (18:14 +0100)]
Yet another BSD patch from M. Volat, anticipating changes in c++ stack
(shame on me for not citing him for the other ones)

10 years agoNo, it's not ...
degomme [Tue, 18 Mar 2014 16:21:21 +0000 (17:21 +0100)]
No, it's not ...
Revert "let's try and say that freebsd is mmap compatible (and then mc-compatible ?)"

This reverts commit e1cb58790f4d457c8dd14d0651c2564d2d1090a6.

10 years ago[mc] Fix compile_warnings
Gabriel Corona [Tue, 18 Mar 2014 15:47:14 +0000 (16:47 +0100)]
[mc] Fix compile_warnings

10 years agoMerge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid
degomme [Tue, 18 Mar 2014 15:16:43 +0000 (16:16 +0100)]
Merge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid

10 years agolet's try and say that freebsd is mmap compatible (and then mc-compatible ?)
degomme [Tue, 18 Mar 2014 15:16:25 +0000 (16:16 +0100)]
let's try and say that freebsd is mmap compatible (and then mc-compatible ?)
Should be OK with Freebsd 10 .. For the 9, let's see how the continuous integration machine behaves

10 years agosince guard for stack size has been implemented, this has become redundant
degomme [Tue, 18 Mar 2014 15:13:37 +0000 (16:13 +0100)]
since guard for stack size has been implemented, this has become redundant

10 years agomissing includes
degomme [Tue, 18 Mar 2014 15:10:27 +0000 (16:10 +0100)]
missing includes

10 years ago[mc] Use reference to types intead of type IDs
Gabriel Corona [Tue, 18 Mar 2014 14:51:51 +0000 (15:51 +0100)]
[mc] Use reference to types intead of type IDs

We do not need to pass the type ID+object_info everywhere.
It is much simpler to pass a pointer to the type (dw_type_t):

 * remove 'info', 'other_info' parameters;

 * remove cumbersome 'switch_types' logic (code duplication);

 * remove type ID confusion in mm_diff (the type ID of each block was
   stored but not the originating ELF obejct leading to an ambiguity);

 * the code is now generalisable to more than 2 ELF objects;

 * remove type lookups (by name, by ID) which are all resolved at
   initialisation time.

10 years agobe more friendly to systems where gcc is not used anymore
degomme [Tue, 18 Mar 2014 15:05:11 +0000 (16:05 +0100)]
be more friendly to systems where gcc is not used anymore

10 years agolinking stuff, needed to compile on FreeBSD 10
degomme [Tue, 18 Mar 2014 14:57:57 +0000 (15:57 +0100)]
linking stuff, needed to compile on FreeBSD 10

10 years agoTry again, with a reduced size.
Arnaud Giersch [Tue, 18 Mar 2014 14:38:56 +0000 (15:38 +0100)]
Try again, with a reduced size.

10 years agoRevert "Reduce stack size for test allreduce_coll_large."
Arnaud Giersch [Tue, 18 Mar 2014 14:19:59 +0000 (15:19 +0100)]
Revert "Reduce stack size for test allreduce_coll_large."

Things were not really improved with this commit :(

This reverts commit 7f9520d8bbb96e3af373f0f1af5dc268359fdd7e.

10 years ago[mc] Fix type name handling
Gabriel Corona [Tue, 18 Mar 2014 13:40:20 +0000 (14:40 +0100)]
[mc] Fix type name handling

 * use a suitable prefix for type names (struct/class/union);

 * rename "types_by_name" into "full_types_by_name" to be more
   descriptive.

10 years agoReduce stack size for test allreduce_coll_large.
Arnaud Giersch [Tue, 18 Mar 2014 13:16:41 +0000 (14:16 +0100)]
Reduce stack size for test allreduce_coll_large.

The default stack size make it sometimes fail on CI, when
using mmalloc.

10 years ago[mc] Fix mismatch between expected snapshot address and passed process address
Gabriel Corona [Tue, 18 Mar 2014 11:51:30 +0000 (12:51 +0100)]
[mc] Fix mismatch between expected snapshot address and passed process address

Function 'compare_areas_with_type' expects snapshot addresses but was
passed process/real addresses in a recursive call.

It is very easy to mix the two types of addresses :/

10 years ago[mc] Add location field in struct/class-members
Gabriel Corona [Mon, 10 Mar 2014 13:11:30 +0000 (14:11 +0100)]
[mc] Add location field in struct/class-members

Store location expression for fields when its location expression is
more complex than a simple offset.

10 years agoMark tests as known to fail on Mac OS X.
Arnaud Giersch [Tue, 18 Mar 2014 10:25:42 +0000 (11:25 +0100)]
Mark tests as known to fail on Mac OS X.

10 years agoChangeLog update.
Arnaud Giersch [Tue, 18 Mar 2014 08:26:36 +0000 (09:26 +0100)]
ChangeLog update.

10 years agoCosmetics.
Arnaud Giersch [Tue, 18 Mar 2014 08:26:26 +0000 (09:26 +0100)]
Cosmetics.

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Tue, 18 Mar 2014 07:34:47 +0000 (08:34 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoUse a smaller stack for stack-overflow test.
Arnaud Giersch [Mon, 17 Mar 2014 22:06:46 +0000 (23:06 +0100)]
Use a smaller stack for stack-overflow test.

It is needed on FreeBSD to have a stack size < 125K to generate a SIGSEGV with
SEGV_ACCERR when using threads, and to have this test succeed.
Without that, the SIGSEGV is correctly generated, but with SEGV_MAPERR, and the
error message is not displayed.

I don't fully understand what's going on.

10 years agoCheck return value for posix_memalign.
Arnaud Giersch [Mon, 17 Mar 2014 15:11:16 +0000 (16:11 +0100)]
Check return value for posix_memalign.

10 years agoForgot to add those files.
Arnaud Giersch [Mon, 17 Mar 2014 14:53:32 +0000 (15:53 +0100)]
Forgot to add those files.

10 years agoAdd test to check the stack overflow protection.
Arnaud Giersch [Wed, 12 Mar 2014 20:26:11 +0000 (21:26 +0100)]
Add test to check the stack overflow protection.

10 years agoInstall signal handler for SIGSEGV.
Arnaud Giersch [Wed, 12 Mar 2014 13:46:33 +0000 (14:46 +0100)]
Install signal handler for SIGSEGV.

If SEGV comes from invalid permissions, hint the user at increasing stack size.

10 years agoUse context/guard_size to protect context stacks against overflow.
Arnaud Giersch [Wed, 12 Mar 2014 13:49:53 +0000 (14:49 +0100)]
Use context/guard_size to protect context stacks against overflow.

Add a configurable number of protected pages at the top of each
stack.

10 years agoAdd configuration parameter for contexts/guard_size.
Arnaud Giersch [Wed, 12 Mar 2014 13:47:33 +0000 (14:47 +0100)]
Add configuration parameter for contexts/guard_size.

10 years agoNew function: xbt_os_thread_setguardsize (like pthread_attr_setguardsize).
Arnaud Giersch [Wed, 12 Mar 2014 14:17:33 +0000 (15:17 +0100)]
New function: xbt_os_thread_setguardsize (like pthread_attr_setguardsize).

10 years agoBe less coarse on error recovery: try first with a multiple of pagesize.
Arnaud Giersch [Fri, 14 Mar 2014 15:46:24 +0000 (16:46 +0100)]
Be less coarse on error recovery: try first with a multiple of pagesize.

10 years agoInitialize default thread attrs in xbt_os_thread_mod_preinit.
Arnaud Giersch [Wed, 12 Mar 2014 14:06:10 +0000 (15:06 +0100)]
Initialize default thread attrs in xbt_os_thread_mod_preinit.

10 years agoAdd proper error checking.
Arnaud Giersch [Mon, 17 Mar 2014 08:49:24 +0000 (09:49 +0100)]
Add proper error checking.

10 years agoParameters were in wrong order.
Arnaud Giersch [Mon, 17 Mar 2014 08:42:18 +0000 (09:42 +0100)]
Parameters were in wrong order.

10 years agoCache the size of a memory page for the current system.
Arnaud Giersch [Thu, 13 Mar 2014 22:38:37 +0000 (23:38 +0100)]
Cache the size of a memory page for the current system.

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 14 Mar 2014 09:01:12 +0000 (10:01 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoFactorize valgrind stuff.
Arnaud Giersch [Thu, 13 Mar 2014 21:45:38 +0000 (22:45 +0100)]
Factorize valgrind stuff.

Save valgrind_stack_id on the allocated stack.

10 years agoAlign stack on a 16 bytes boundary in raw_makecontext.
Arnaud Giersch [Thu, 13 Mar 2014 21:45:38 +0000 (22:45 +0100)]
Align stack on a 16 bytes boundary in raw_makecontext.

A wrongly aligned stack may lead to segfaults.

10 years agoUse surf_parse_error() rather than xbt_die() during surf parsing
Pierre Veyre [Thu, 13 Mar 2014 14:21:56 +0000 (15:21 +0100)]
Use surf_parse_error() rather than xbt_die() during surf parsing

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 13 Mar 2014 13:51:22 +0000 (14:51 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoImplement a disk attachment check and add a tesh test to detect invalid platform...
Pierre Veyre [Thu, 13 Mar 2014 11:19:35 +0000 (12:19 +0100)]
Implement a disk attachment check and add a tesh test to detect invalid platform description

10 years agoFix parameters given to MC_new_stack_area.
Arnaud Giersch [Thu, 13 Mar 2014 09:03:39 +0000 (10:03 +0100)]
Fix parameters given to MC_new_stack_area.

10 years agoAlso remove forward declaration for removed function.
Arnaud Giersch [Thu, 13 Mar 2014 08:54:25 +0000 (09:54 +0100)]
Also remove forward declaration for removed function.

10 years agoRemove useless function: smx_ctx_sysv_create_context_sized
Arnaud Giersch [Thu, 13 Mar 2014 08:51:04 +0000 (09:51 +0100)]
Remove useless function: smx_ctx_sysv_create_context_sized

10 years agoUse these simple smpi tests to test all context factories.
Arnaud Giersch [Thu, 13 Mar 2014 08:46:11 +0000 (09:46 +0100)]
Use these simple smpi tests to test all context factories.

10 years agoFactorize stack creation.
Arnaud Giersch [Wed, 12 Mar 2014 13:49:32 +0000 (14:49 +0100)]
Factorize stack creation.

10 years agoNo need to duplicate default value.
Arnaud Giersch [Wed, 12 Mar 2014 13:21:39 +0000 (14:21 +0100)]
No need to duplicate default value.

10 years agoStack size is expressed in KiB. Keep the same unit in doc.
Arnaud Giersch [Wed, 12 Mar 2014 10:24:05 +0000 (11:24 +0100)]
Stack size is expressed in KiB. Keep the same unit in doc.

10 years agoFree allocated string.
Arnaud Giersch [Wed, 12 Mar 2014 08:33:52 +0000 (09:33 +0100)]
Free allocated string.

10 years agoadd mpich3 topo tests
Augustin Degomme [Wed, 12 Mar 2014 09:35:58 +0000 (10:35 +0100)]
add mpich3 topo tests
They are not built or run for now, because features are not yet implemented