Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 years agoCosmetics: move SimGrid copyright on top.
Arnaud Giersch [Tue, 1 Apr 2014 09:15:57 +0000 (11:15 +0200)]
Cosmetics: move SimGrid copyright on top.

10 years agoRename msg_storage_priv->host by msg_storage_priv->hostname
Pierre Veyre [Tue, 1 Apr 2014 09:27:52 +0000 (11:27 +0200)]
Rename msg_storage_priv->host by msg_storage_priv->hostname
Improve MSG_file_read() and MSG_file_write()

10 years agoChange MSG_file_unlink() return type
Pierre Veyre [Tue, 1 Apr 2014 09:08:39 +0000 (11:08 +0200)]
Change MSG_file_unlink() return type

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Tue, 1 Apr 2014 08:52:52 +0000 (10:52 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoremove MSG_file_ls()
Pierre Veyre [Tue, 1 Apr 2014 08:52:04 +0000 (10:52 +0200)]
remove  MSG_file_ls()

10 years agoRemove binary file.
Arnaud Giersch [Tue, 1 Apr 2014 08:31:12 +0000 (10:31 +0200)]
Remove binary file.

10 years agoRemove XBT_INFO call
Pierre Veyre [Tue, 1 Apr 2014 06:52:39 +0000 (08:52 +0200)]
Remove XBT_INFO call

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Tue, 1 Apr 2014 06:26:21 +0000 (08:26 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoAdd bug-17132 tesh suite
Pierre Veyre [Tue, 1 Apr 2014 06:25:59 +0000 (08:25 +0200)]
Add bug-17132 tesh suite

10 years agoRevert "Remove XBT_INFO call"
Martin Quinson [Mon, 31 Mar 2014 19:43:02 +0000 (21:43 +0200)]
Revert "Remove XBT_INFO call"

This commit changes much much more than wanted. In particular, it
reverts several changes done in the tree recently. I assume that the
merge that occured just before this commit went awfully wrong,
actually.

That's ok, shit happens, don't worry.

Nevertheless, I revert this commit when it's still possible, before
the first unrelated commit on top of it. Pierre, please, pick your
changes back from the diff, and resubmit them.

This reverts commit f9e6853d2c5b7b867211700bc12f0ee57f640b30.

10 years agoRemove XBT_INFO call
Pierre Veyre [Mon, 31 Mar 2014 15:19:31 +0000 (17:19 +0200)]
Remove XBT_INFO call

10 years agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Mon, 31 Mar 2014 14:59:29 +0000 (16:59 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoImprove MSG_file_read() and MSG_file_write()
Pierre Veyre [Mon, 31 Mar 2014 14:56:45 +0000 (16:56 +0200)]
Improve MSG_file_read() and MSG_file_write()

10 years agoImprove error message.
Arnaud Giersch [Mon, 31 Mar 2014 14:34:21 +0000 (16:34 +0200)]
Improve error message.

10 years agoFix bug with Java bindings on 32-bit systems.
Arnaud Giersch [Mon, 31 Mar 2014 14:22:45 +0000 (16:22 +0200)]
Fix bug with Java bindings on 32-bit systems.

On 32-bit systems, sizeof(NetworkLink*) < sizeof(jlong), and the elements must
be copied one by one.

10 years ago[mc] Reduce stack_size for tests mc-bugged*.
Arnaud Giersch [Mon, 31 Mar 2014 11:49:36 +0000 (13:49 +0200)]
[mc] Reduce stack_size for tests mc-bugged*.

Default stack size was recently increased from 128KiB to 8MiB,
which is a bit too much on small machines (e.g. on CI).

Reduce it to 256KiB (2 times the old size) for tests mc-bugged*.

10 years ago[mc] Better fix for compatibility with old/broken version of dwarf.h.
Arnaud Giersch [Fri, 28 Mar 2014 17:15:55 +0000 (18:15 +0100)]
[mc] Better fix for compatibility with old/broken version of dwarf.h.

Avoids to use a hardcoded value.

10 years agoRemove benchmarking calls in MPI functions that don't actually perform comms and...
Augustin Degomme [Mon, 31 Mar 2014 12:05:50 +0000 (14:05 +0200)]
Remove benchmarking calls in MPI functions that don't actually perform comms and are not traced,
We don't need to halt processes and trigger context switches for them (and privatization switches).
This should improve SMPI performance a little.

10 years agoforgotten useless line (should not do anything with our sets of flags for mmapped...
Augustin Degomme [Mon, 31 Mar 2014 09:14:44 +0000 (11:14 +0200)]
forgotten useless line (should not do anything with our sets of flags for mmapped pages)

10 years ago[mc] Fix type conversion in unit test
Gabriel Corona [Fri, 28 Mar 2014 14:50:58 +0000 (15:50 +0100)]
[mc] Fix type conversion in unit test

10 years ago[mc] Fix type conversion (once again)
Gabriel Corona [Fri, 28 Mar 2014 14:28:25 +0000 (15:28 +0100)]
[mc] Fix type conversion (once again)

10 years ago[mc] Fix type conversion
Gabriel Corona [Fri, 28 Mar 2014 14:05:55 +0000 (15:05 +0100)]
[mc] Fix type conversion

10 years ago[mc] Fix type conversions
Gabriel Corona [Fri, 28 Mar 2014 13:25:15 +0000 (14:25 +0100)]
[mc] Fix type conversions

10 years agoprivatization : perform the initialization at process launch, not at MPI_Init time
Augustin Degomme [Fri, 28 Mar 2014 12:22:15 +0000 (13:22 +0100)]
privatization : perform the initialization at process launch, not at MPI_Init time
Also switch at destroy time, to avoid deallocation problems in user code

10 years agoreplace warnings by debug messages
Augustin Degomme [Wed, 26 Mar 2014 16:00:42 +0000 (17:00 +0100)]
replace warnings by debug messages

10 years ago[mc] Change type for type->id
Gabriel Corona [Fri, 28 Mar 2014 10:29:13 +0000 (11:29 +0100)]
[mc] Change type for type->id

10 years agomodel-checker : smpi mutual exclusion example
Marion Guthmuller [Fri, 28 Mar 2014 10:27:34 +0000 (11:27 +0100)]
model-checker : smpi mutual exclusion example

10 years ago[mc] Fix type of expression resolution methods (uintpt_t and not Dwarf_Off)
Gabriel Corona [Fri, 28 Mar 2014 09:54:52 +0000 (10:54 +0100)]
[mc] Fix type of expression resolution methods (uintpt_t and not Dwarf_Off)

10 years ago[mc] Fix compatibility with old/broken version of dwarf.h
Gabriel Corona [Fri, 28 Mar 2014 09:50:29 +0000 (10:50 +0100)]
[mc] Fix compatibility with old/broken version of dwarf.h

10 years ago[mc] Kernel Samepage Merging support (Linux)
Gabriel Corona [Thu, 27 Mar 2014 15:53:27 +0000 (16:53 +0100)]
[mc] Kernel Samepage Merging support (Linux)

Add MADV_MERGEABLE advice (madvise) for KSM in the heaps and
read/write segments: mark these regions of memory as candidate for
KSM. As the stacks are stored on the heap, they are candidate for KSM
as well.

In order to work, KSM must be enabled on the system (by root):

    # Enable:
    echo 1 > /sys/kernel/mm/ksm/run
    # Do some real work:
    echo 10000 > /sys/kernel/mm/ksm/pages_to_scan

See Documentation/vm/ksm.txt:

  https://www.kernel.org/doc/Documentation/vm/ksm.txt

We would like to only mark the .data+.bss and not the other sections
of the segment.

10 years ago[mc] Comment unhandled rangelistptr class in DW_AT_start_scope
Gabriel Corona [Thu, 27 Mar 2014 11:25:04 +0000 (12:25 +0100)]
[mc] Comment unhandled rangelistptr class in DW_AT_start_scope

10 years ago[mc] Correctly handle the end of the stack unwinding
Gabriel Corona [Thu, 27 Mar 2014 10:00:11 +0000 (11:00 +0100)]
[mc] Correctly handle the end of the stack unwinding

unw_step returns 0 when reaching the bottom of the stack: this return
code was not handled correctly leading to infinite loops in some
cases.

10 years ago[mc] Really fix DW_AT_high_pc for DWARF4
Gabriel Corona [Thu, 27 Mar 2014 09:58:54 +0000 (10:58 +0100)]
[mc] Really fix DW_AT_high_pc for DWARF4

In DWARF4, DW_AT_high_pc can be an offset from DW_AT_low_pc instead of
a relocatable address.

MC works with DWARF4!

10 years agoFix parameter names.
Arnaud Giersch [Wed, 26 Mar 2014 19:05:48 +0000 (20:05 +0100)]
Fix parameter names.

10 years agoFix directories for bug-17312.
Arnaud Giersch [Wed, 26 Mar 2014 19:01:30 +0000 (20:01 +0100)]
Fix directories for bug-17312.

Also add --cfg=smpi/cpu_threshold:-1 and --log=smpi_kernel.thres:warning
to the command line.

10 years agofix 'make dist', stupid me
Martin Quinson [Wed, 26 Mar 2014 17:03:47 +0000 (18:03 +0100)]
fix 'make dist', stupid me

10 years agointegrate the testcase of #17132 into our testsuite
Martin Quinson [Wed, 26 Mar 2014 16:57:28 +0000 (17:57 +0100)]
integrate the testcase of #17132 into our testsuite

10 years agoFinalize reservation surf plugin
Paul Bédaride [Wed, 26 Mar 2014 16:03:08 +0000 (17:03 +0100)]
Finalize reservation surf plugin

10 years agoAdd networkCommunicateCallback, NetworkLink::updateLatency and NetworkLink::updateBan...
Paul Bédaride [Wed, 26 Mar 2014 16:02:09 +0000 (17:02 +0100)]
Add networkCommunicateCallback, NetworkLink::updateLatency and NetworkLink::updateBandwidth methods

10 years agoChange StateChanged callback signatures
Paul Bédaride [Tue, 25 Mar 2014 09:42:44 +0000 (10:42 +0100)]
Change StateChanged callback signatures

10 years agoFix Workstation::fileRcopy
Pierre Veyre [Wed, 26 Mar 2014 11:37:33 +0000 (12:37 +0100)]
Fix Workstation::fileRcopy

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

10 years agoFinalises MSG_file_rcopy() and MSG_file_rmove()
Pierre Veyre [Tue, 25 Mar 2014 14:21:46 +0000 (15:21 +0100)]
Finalises MSG_file_rcopy() and MSG_file_rmove()

10 years agoMerge branch 'mc++'
Gabriel Corona [Tue, 25 Mar 2014 13:19:58 +0000 (14:19 +0100)]
Merge branch 'mc++'

10 years ago[mc] Fix warning on pointer/integer/address conversion
Gabriel Corona [Tue, 25 Mar 2014 12:57:42 +0000 (13:57 +0100)]
[mc] Fix warning on pointer/integer/address conversion

10 years ago[mc] Handle DW_AT_high_pc as offset for DWARF4
Gabriel Corona [Tue, 25 Mar 2014 11:11:15 +0000 (12:11 +0100)]
[mc] Handle DW_AT_high_pc as offset for DWARF4

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

10 years agoprepare MSG_file_rcopy()
Pierre Veyre [Tue, 25 Mar 2014 10:39:35 +0000 (11:39 +0100)]
prepare MSG_file_rcopy()

10 years agoprepare Workstation::fileRcopy()
Pierre Veyre [Tue, 25 Mar 2014 10:37:21 +0000 (11:37 +0100)]
prepare Workstation::fileRcopy()

10 years ago[mc] Fix DW_OP_addr to translate address into virtual address space
Gabriel Corona [Tue, 25 Mar 2014 10:12:39 +0000 (11:12 +0100)]
[mc] Fix DW_OP_addr to translate address into virtual address space

For shared objects, the address is in fact an offset from the base
address of the mapped shared object:

    real_address = shared_object_address + address

10 years agompich tests : Use the manually privatized version of mtest.c file if mmap is not...
Augustin Degomme [Tue, 25 Mar 2014 10:09:46 +0000 (11:09 +0100)]
mpich tests : Use the manually privatized version of mtest.c file if mmap is not available

10 years ago[mc] Fix DW_OP_call_frame_cfa
Gabriel Corona [Tue, 25 Mar 2014 09:10:43 +0000 (10:10 +0100)]
[mc] Fix DW_OP_call_frame_cfa

UNW_X86_64_CFA does not work as expected

10 years ago[mc] Fix broken DW_OP_call_frame_cfa
Gabriel Corona [Tue, 25 Mar 2014 08:10:30 +0000 (09:10 +0100)]
[mc] Fix broken DW_OP_call_frame_cfa

For some reason, it seems the value of CFA is still wrong but it might
come from somewhere else.

10 years agoAdd java surf plugin to reserve bandwidth
Paul Bédaride [Mon, 24 Mar 2014 16:21:27 +0000 (17:21 +0100)]
Add java surf plugin to reserve bandwidth

10 years agoAvoid to fill up the disks of build daemons with core files.
Arnaud Giersch [Mon, 24 Mar 2014 14:39:24 +0000 (15:39 +0100)]
Avoid to fill up the disks of build daemons with core files.

10 years agoFix doxygen comment: parameter does not exist.
Arnaud Giersch [Mon, 24 Mar 2014 14:37:09 +0000 (15:37 +0100)]
Fix doxygen comment: parameter does not exist.

10 years ago[mc] Fix handling of inlined subroutines in MC_ignore_local_variable
Gabriel Corona [Mon, 24 Mar 2014 12:27:33 +0000 (13:27 +0100)]
[mc] Fix handling of inlined subroutines in MC_ignore_local_variable

The matching of function name was incorrecy in
MC_ignore_local_variable(): when the variable is in an inlined
subroutine, the function name was compared against the name of its
containing non-inlined subprogram (DW_TAG_subprogram) instead of the
name of the inlined subroutine (DW_TAG_inlined_subroutine).

10 years ago[mc] Attach correct namespaced name in inlined subroutine (DW_TAG_inlined_subroutine)
Gabriel Corona [Mon, 24 Mar 2014 12:08:04 +0000 (13:08 +0100)]
[mc] Attach correct namespaced name in inlined subroutine (DW_TAG_inlined_subroutine)

10 years ago[mc] Replace frame->frame (frame *name*) by frame->subprogram (dw_type_t)
Gabriel Corona [Mon, 24 Mar 2014 11:37:33 +0000 (12:37 +0100)]
[mc] Replace frame->frame (frame *name*) by frame->subprogram (dw_type_t)

10 years ago[mc] Process nested-scopes
Gabriel Corona [Mon, 24 Mar 2014 11:28:05 +0000 (12:28 +0100)]
[mc] Process nested-scopes

10 years ago[mc] Remove MC_dwarf_get_variable_by_name (unused)
Gabriel Corona [Mon, 24 Mar 2014 10:59:07 +0000 (11:59 +0100)]
[mc] Remove MC_dwarf_get_variable_by_name (unused)

10 years ago[mc] Fix handling of DW_AT_high_pc
Gabriel Corona [Mon, 24 Mar 2014 10:43:08 +0000 (11:43 +0100)]
[mc] Fix handling of DW_AT_high_pc

DW_AT_high_pc is the first address which is not in the range and not
the last address in the range.

10 years ago[mc] Rename frame->start into frame->id
Gabriel Corona [Mon, 24 Mar 2014 10:38:43 +0000 (11:38 +0100)]
[mc] Rename frame->start into frame->id

10 years ago[mc] Remove frame->end field which was not used anymore
Gabriel Corona [Mon, 24 Mar 2014 10:36:55 +0000 (11:36 +0100)]
[mc] Remove frame->end field which was not used anymore

10 years agoRemoves MSG_storage_file_rename()
Pierre Veyre [Mon, 24 Mar 2014 10:41:45 +0000 (11:41 +0100)]
Removes MSG_storage_file_rename()
Implements MSG_file_move()

10 years ago[mc] Process nested scopes DWARF informations
Gabriel Corona [Mon, 24 Mar 2014 10:23:28 +0000 (11:23 +0100)]
[mc] Process nested scopes DWARF informations

Subprograms contains scopes (with variables) and scope contains other
scopes as well. They are represented by the same data structure
dw_frame_t. Scopes might be :

  * DW_TAG_lexical_scope;
  * DW_try_block;
  * DW_catch_block;
  * DW_with_stmt (partial support);
  * DW_inlined_subroutine.

The scopes informations are stored but they are not used yet.

10 years ago[mc] Fix memory leaks
Gabriel Corona [Mon, 24 Mar 2014 09:25:52 +0000 (10:25 +0100)]
[mc] Fix memory leaks

10 years ago[mc] Documentation
Gabriel Corona [Mon, 24 Mar 2014 09:21:32 +0000 (10:21 +0100)]
[mc] Documentation

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

10 years agofix the dist target after my last header move
Martin Quinson [Sun, 23 Mar 2014 18:17:00 +0000 (19:17 +0100)]
fix the dist target after my last header move

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 agoMerge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Mar 2014 15:24:51 +0000 (16:24 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid

10 years agoFix leaks and invalid read
Pierre Veyre [Fri, 21 Mar 2014 15:23:49 +0000 (16:23 +0100)]
Fix leaks and invalid read

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