[ncl-talk] buffer overflow detected
Rick Brownrigg
brownrig at ucar.edu
Fri Sep 24 12:55:31 MDT 2021
Hi Micah,
It looks like the text of the error message actually comes from the
standard C library. I can't relate that directly to the NCL code, but
looking at the code underlying write_table(), I can see that there's a
character buffer of len 8192 that gets allocated to hold a line's worth of
output in the table. The code builds up a line by stepping through each
element in the list passed to write_table, formatting the element and
appending the text to the character buffer. I don't see where there's ever
a point at which the buffer is reallocated should it become full.
Is it possible your table lines are > 8192 characters? Not that this
information does you much good -- at least you know the potential limit,
and can use Dave's advice to work within that bound.
Rick
On Fri, Sep 24, 2021 at 12:01 PM Micah Sklut <micahs2005 at gmail.com> wrote:
> Hi Rick,
>
> Yes, it is a copy/paste of the error.
>
> On Fri, Sep 24, 2021 at 12:18 PM Rick Brownrigg <brownrig at ucar.edu> wrote:
>
>> Hi,
>>
>> I can't find anywhere in the source code where such an error message
>> would arise. Is that a literal copy/paste of the error?
>>
>> Rick
>>
>>
>> On Fri, Sep 24, 2021 at 10:03 AM Micah Sklut via ncl-talk <
>> ncl-talk at mailman.ucar.edu> wrote:
>>
>>> Hi NCL Talk,
>>>
>>> I'm using write_table to output a large amount of data to file.
>>> Here's the output statement:
>>>
>>> alist =
>>> [/latPoints,lonPoints,hsString,perString,dirString,winduString,windvString,phs1String,phs2String,phs3String,phs4String,phs5String,phswindString,pdir1String,pdir2String,pdir3String,pdir4String,pdir5String,pdirwindString,ptp1String,ptp2String,ptp3String,ptp4String,ptp5String,ptpwindString/]
>>>
>>>
>>> write_table("outf_data.txt","w",alist,"%6.3f,%6.3f,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s");
>>>
>>> I'm getting the following message:
>>>
>>> *** buffer overflow detected ***: ncl terminated
>>> Aborted
>>>
>>> When I reduce the string lengths of the variables, then I don't get this
>>> error, so I"m guessing I"m running into an NCL string length maximum?
>>>
>>> Any suggestions on how to get around this problem?
>>>
>>> Thank you.
>>>
>>> --
>>> Micah Sklut
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at mailman.ucar.edu
>>> List instructions, subscriber options, unsubscribe:
>>> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
> --
> Micah Sklut
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20210924/889520bd/attachment.html>
More information about the ncl-talk
mailing list