Tutorial about the coupling simulation with SYRTHES

Questions and remarks about code_saturne usage
Forum rules
Please read the forum usage recommendations before posting.
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Re: Tutorial about the coupling simulation with SYRTHES

Post by stefann »

Hello:

I found the cmd executed prior to the crash (from the syrthes.py script) and I ran valgrind on it as follows:

Code: Select all

valgrind  --leak-check=full ./syrthes -d tmp.data --log /home/stefan/test/3disks2D/solid/listing_syrthes
The output:

Code: Select all

==13130== Memcheck, a memory error detector
==13130== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==13130== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==13130== Command: ./syrthes -d tmp.data --log /home/stefan/test/3disks2D/solid/listing_syrthes
==13130== 
==13130== Invalid read of size 1
==13130==    at 0x442994: rep_listint (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x437A19: decode_prophy (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x43B563: lire_donnees (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x402157: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==  Address 0x6d9000 is not stack'd, malloc'd or (recently) free'd
==13130== 
==13130== 
==13130== Process terminating with default action of signal 11 (SIGSEGV)
==13130==  Access not within mapped region at address 0x6D9000
==13130==    at 0x442994: rep_listint (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x437A19: decode_prophy (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x43B563: lire_donnees (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x402157: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==  If you believe this happened as a result of a stack
==13130==  overflow in your program's main thread (unlikely but
==13130==  possible), you can try to increase the size of the
==13130==  main thread stack using the --main-stacksize= flag.
==13130==  The main thread stack size used in this run was 8388608.
==13130== 
==13130== HEAP SUMMARY:
==13130==     in use at exit: 198,726 bytes in 36 blocks
==13130==   total heap usage: 4,574 allocs, 4,538 frees, 284,926 bytes allocated
==13130== 
==13130== 16 bytes in 1 blocks are definitely lost in loss record 6 of 27
==13130==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==13130==    by 0x43340A: verif_maill (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x43388C: lire_maill (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x402020: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==13130==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==13130== 
==13130== LEAK SUMMARY:
==13130==    definitely lost: 16 bytes in 1 blocks
==13130==    indirectly lost: 0 bytes in 0 blocks
==13130==      possibly lost: 0 bytes in 0 blocks
==13130==    still reachable: 198,710 bytes in 35 blocks
==13130==         suppressed: 0 bytes in 0 blocks
==13130== Reachable blocks (those to which a pointer was found) are not shown.
==13130== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==13130== 
==13130== For counts of detected and suppressed errors, rerun with: -v
==13130== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)
Any ideas?

Thanks,


Stefan
Brian Angel

Re: Tutorial about the coupling simulation with SYRTHES

Post by Brian Angel »

Hello,

Having read the output and if I have understood it correctly, it would appear thar SYRTHES is trying to acces something in the rep_listint which is not stored in memory hence the SIGSEGV. Can you try and use --main-stacksize=10000000 (which is greater than 8388608) or another value which is greater still and let me know what happens?

Regards,

Brian Angel.
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Re: Tutorial about the coupling simulation with SYRTHES

Post by stefann »

Hi there:

I tried with the stack size you recommend and even tried adding an order of magnitude. The results are the same:

Code: Select all

./valgrind  --main-stacksize=100000000  --leak-check=full ./syrthes -d tmp.data --log /home/stefan/test/3disks2D/solid/listing_syrthes

Code: Select all

==57075== Memcheck, a memory error detector
==57075== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==57075== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
==57075== Command: ./syrthes -d tmp.data --log /home/stefan/test/3disks2D/solid/listing_syrthes
==57075== 
==57075== Invalid read of size 1
==57075==    at 0x442994: rep_listint (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x437A19: decode_prophy (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x43B563: lire_donnees (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x402157: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==  Address 0x6d9000 is not stack'd, malloc'd or (recently) free'd
==57075== 
==57075== 
==57075== Process terminating with default action of signal 11 (SIGSEGV)
==57075==  Access not within mapped region at address 0x6D9000
==57075==    at 0x442994: rep_listint (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x437A19: decode_prophy (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x43B563: lire_donnees (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x402157: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==  If you believe this happened as a result of a stack
==57075==  overflow in your program's main thread (unlikely but
==57075==  possible), you can try to increase the size of the
==57075==  main thread stack using the --main-stacksize= flag.
==57075==  The main thread stack size used in this run was 100003840.
==57075== 
==57075== HEAP SUMMARY:
==57075==     in use at exit: 198,725 bytes in 36 blocks
==57075==   total heap usage: 4,574 allocs, 4,538 frees, 284,925 bytes allocated
==57075== 
==57075== 16 bytes in 1 blocks are definitely lost in loss record 6 of 27
==57075==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==57075==    by 0x43340A: verif_maill (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x43388C: lire_maill (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x402020: syrthes (in /home/stefan/test/3disks2D/solid/syrthes)
==57075==    by 0x401611: main (in /home/stefan/test/3disks2D/solid/syrthes)
==57075== 
==57075== LEAK SUMMARY:
==57075==    definitely lost: 16 bytes in 1 blocks
==57075==    indirectly lost: 0 bytes in 0 blocks
==57075==      possibly lost: 0 bytes in 0 blocks
==57075==    still reachable: 198,709 bytes in 35 blocks
==57075==         suppressed: 0 bytes in 0 blocks
==57075== Reachable blocks (those to which a pointer was found) are not shown.
==57075== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==57075== 
==57075== For counts of detected and suppressed errors, rerun with: -v
==57075== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 1 from 1)
Segmentation fault (core dumped)

My best guess is that the memory is leaking pretty badly in one of the routines as it eats the entire stack.


Stefan
ChN

Re: Tutorial about the coupling simulation with SYRTHES

Post by ChN »

Hi stefann,

I had the same "stuck at 14%"-problem in my first steps with SYRTHES, until I recognized the choice of partition control. In syrthes.gui I had to choose "METIS", because "SCOTCH" did not work for me.
Perhaps this is only a small hint, but I simply decided to write this because of the 14% ;).

Cheers,
Christoph
stefann
Posts: 25
Joined: Fri Oct 10, 2014 7:49 pm

Re: Tutorial about the coupling simulation with SYRTHES

Post by stefann »

Thanks for the suggestion. I gave it a try but I still get a segmentation fault when I run regardless of which domain partition option I choose. I am running with 1 processor so I am not sure it uses any domain partitioning.


Stefan
coccone

Re: Tutorial about the coupling simulation with SYRTHES

Post by coccone »

Hi,

I ran into the exact same problem, I recently installed syrthes 4.1.1 and was following tutorials to get used. Did anybody find out how to proceed? If it can be of any help, the progress bar value reached before error varies with the number of processor used (e.g. 1cpu=14% 2=35% 3=71% 4=92%).
Post Reply