bad free() ....
Brought to you by:
jeffmurphy
|
From: Bill M. <wm...@fo...> - 1996-03-29 23:39:24
|
Hmmm... I've been fighting a problem with ARSperl the last few days and I THINK I've found something of interest. Basically, I'm using ARSperl to parse some data extracts from the Corporate mainframes and blow the data into appropriate schemas in ARS. I *was* using ARSperl 1.1.1 with some success, but when processing my largest extract files, I'd blow up with either a "Bus error" or "Out of Memory!" end or just a plain core dump with little warning. Guessing this had something to do with memory allocation, I jumped when I saw the mention on this list that ARSperl 1.2 was available and addressed memory allocation problems (in particular, "bad free()" warnings). No dice -- same problem. THEN I recompiled ARSperl to use the "malloc() that comes with Perl" and discovered: 1) My programs now worked. 2) every call to ars_CreateEntry() or ars_SetEntry() results in a "bad free() ... ignored ..." warning. :-( Now before jumping to conclusions, you should also know that I'm running ARSperl on an HP K-series/HP-UX 10.01 system. Yep, the one you're not supposed to be able to run on. How I got things working was to include the contents of the ARSperl.tgz file under ext/ARS/ in the perl source tree, specify ARS to be a static module, hack the generated Makefile to change all non-comment occurrences of the string "dynamic" to "static" and let 'er rip! I've been using Perl on HP-UX systems going back to Perl 3.0.44 on the original HP 800 series with HP-UX 2.1 and since 7.0 had frequently encountered spurious "bad free()" warnings in the standard Perl distribution whenever I used "the malloc() that comes with perl" so I haven't even tried to use it. This time (Perl 5.002 -released) it seems to work fine EXCEPT in conjunction with ARSperl. Joel, ARSperl is a godsend and I hope this feedback can help you make it perfect, or at least as good as ARS itself ;-) Bill Meahan - wm...@ma... Not an official spokesperson for Ford Motor Company |