in reply to What is "double free or corruption"?

A "double free" refers to a programming problem in which memory that was manually allocated (typically via the C malloc(3) call) was freed twice. Each block of memory that is allocated via malloc ought to be freed exactly once. (Or not at all for certain kinds of applications, but that's another story altogether). If it's not freed ever in a long-running application, that's indicative of a memory leak. If it's freed more than once, that's indicative of some other kind of failure in memory-management logic, typically at the application level but occasionally in libraries.

In your case, the GNU C library (glibc) is reporting that it thinks somebody has freed the same block of memory twice -- and that almost always indicates a memory management bug. So, something is probably wrong with your Perl build, or your glibc, or your readline lib, or something else that is in the mix when you ran Perl and saw the error.

  • Comment on Re: What is "double free or corruption"?