[petsc-users] Error - Out of memory. This could be due to allocating too large an object or bleeding by not properly ...

Barry Smith bsmith at mcs.anl.gov
Thu Feb 25 11:56:35 CST 2016


   Run a much smaller problem for a few time steps, making sure you free all the objects at the end, with the option -malloc_dump this will print all the memory that was not freed and hopefully help you track down which objects you forgot to free.

  Barry

> On Feb 25, 2016, at 12:33 AM, TAY wee-beng <zonexo at gmail.com> wrote:
> 
> Hi,
> 
> I ran the code and it hangs again. However, adding -malloc_test doesn't seem to do any thing. The output (attached) is the same w/o it.
> 
> Wonder if there's anything else I can do.
> Thank you
> 
> Yours sincerely,
> 
> TAY wee-beng
> 
> On 24/2/2016 11:33 PM, Matthew Knepley wrote:
>> On Wed, Feb 24, 2016 at 9:28 AM, TAY wee-beng <zonexo at gmail.com> wrote:
>> 
>> On 24/2/2016 11:18 PM, Matthew Knepley wrote:
>>> On Wed, Feb 24, 2016 at 9:16 AM, TAY wee-beng <zonexo at gmail.com> wrote:
>>> 
>>> On 24/2/2016 9:12 PM, Matthew Knepley wrote:
>>>> On Wed, Feb 24, 2016 at 1:54 AM, TAY wee-beng <zonexo at gmail.com> wrote:
>>>> 
>>>> On 24/2/2016 10:28 AM, Matthew Knepley wrote:
>>>>> On Tue, Feb 23, 2016 at 7:50 PM, TAY wee-beng <zonexo at gmail.com> wrote:
>>>>> Hi,
>>>>> 
>>>>> I got this error (also attached, full) when running my code. It happens after a few thousand time steps.
>>>>> 
>>>>> The strange thing is that for 2 different clusters, it stops at 2 different time steps.
>>>>> 
>>>>> I wonder if it's related to DM since this happens after I added DM into my code.
>>>>> 
>>>>> In this case, how can I find out the error? I'm thinking valgrind may take very long and gives too many false errors.
>>>>> 
>>>>> It is very easy to find leaks. You just run a few steps with -malloc_dump and see what is left over.
>>>>> 
>>>>>    Matt
>>>> Hi Matt, 
>>>> 
>>>> Do you mean running my a.out with the -malloc_dump and stop after a few time steps?
>>>> 
>>>> What and how should I "see" then?
>>>> 
>>>> -malloc_dump outputs all unfreed memory to the screen after PetscFinalize(), so you should see the leak.
>>>> I guess it might be possible to keep creating things that you freed all at once at the end, but that is less likely.
>>>> 
>>>>    Matt
>>>>  
>>> Hi,
>>> 
>>> I got the output. I have zipped it since it's rather big. So it seems to be from DM routines but can you help me where the error is from?
>>> 
>>> Its really hard to tell by looking at it. What I do is remove things until there is no leak, then progressively
>>> put thing back in until I have the culprit. Then you can think about what is not destroyed.
>>> 
>>>   Matt
>> Ok so let me get this clear. When it shows:
>> 
>> [21]Total space allocated 1728961264 bytes
>> [21]1861664 bytes MatCheckCompressedRow() line 60 in /home/wtay/Codes/petsc-3.6.3/src/mat/utils/compressedrow.c
>> [21]16 bytes PetscStrallocpy() line 188 in /home/wtay/Codes/petsc-3.6.3/src/sys/utils/str.c
>> [21]624 bytes ISLocalToGlobalMappingCreate() line 270 in /home/wtay/Codes
>> 
>> ....
>> 
>> Does it mean that it's simply allocating space ie normal? Or does it show that there's memory leak ie error? 
>> 
>> I gave the wrong option. That dumps everything. Lets just look at the leaks with -malloc_test.
>> 
>>  Sorry about that,
>> 
>>     Matt
>>  
>> If it's error, should I zoom in and debug around this time at this region?
>> 
>> Thanks
>>>  
>>> Thanks.
>>>>  
>>>>> 
>>>>> -- 
>>>>> Thank you
>>>>> 
>>>>> Yours sincerely,
>>>>> 
>>>>> TAY wee-beng
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> -- 
>>>>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>>>>> -- Norbert Wiener
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>>>> -- Norbert Wiener
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>>> -- Norbert Wiener
>> 
>> 
>> 
>> 
>> -- 
>> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
>> -- Norbert Wiener
> 
> <ibm2d.err>



More information about the petsc-users mailing list