Max,

    If you have a stand alone PETSc program that ONLY does the 
randomcreate/destroy (between the PetscInitialize/Finalize()) does it still 
hang?

    Suggest running under valgrind to determine if memory corruption is the 
cause. http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind

   Barry


On Jan 3, 2012, at 9:57 PM, Max Rudolph wrote:

>> On Tue, Dec 20, 2011 at 19:35, Max Rudolph <rudolph at berkeley.edu> wrote:
>> When I run my code with the -log_summary option, it hangs indefinitely after 
>> displaying:
>> 
>> ========================================================================================================================
>> Average time to get PetscTime(): 9.53674e-08
>> Average time for MPI_Barrier(): 0.00164938
>> 
>> Is this a common problem, and if so, how do I fix it? This does not happen 
>> when I run the example programs - only my own code, so I must be at fault 
>> but without an error message I am not sure where to start. I am using 
>> petsc-3.1-p7. Thanks for your help.
>> 
>> Are all processes calling PetscFinalize()?
>> 
>> How did you set -log_summary? It should be provided at the time you invoke 
>> PetscInitialize() on all processes.
>> 
>> Try running in a debugger, then break when it hangs and print the stack 
>> trace.
> 
> I found the problem, or at least a workaround. I have a PetscRandom and freed 
> it in the second to last line of my main subroutine:
>       ...
>   ierr=  PetscRandomCreate(PETSC_COMM_WORLD, &r);CHKERRQ(ierr);
>   ierr = PetscRandomSetType(r,PETSCRAND48);CHKERRQ(ierr);
>       ...
>   ierr = PetscRandomDestroy( r );CHKERRQ(ierr);
>   ierr = PetscFinalize();
> }
> 
> If I comment out the line with PetscRandomDestroy, -log_summary seems to work.
> 
> Max

Reply via email to