You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Charles Earl (Created) (JIRA)" <ji...@apache.org> on 2012/02/24 18:43:48 UTC

[jira] [Created] (MAPREDUCE-3914) Mismatched free() / delete / delete [] in HadoopPipes

Mismatched free() / delete / delete [] in HadoopPipes
-----------------------------------------------------

                 Key: MAPREDUCE-3914
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3914
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: pipes
    Affects Versions: 0.20.205.0
         Environment: Based upon map reduce pipes task executed on Ubuntu 11.10
            Reporter: Charles Earl


When running valgrind on a simple MapReduce pipes job, valgrind identifies a mismatched new / delete:

==20394== Mismatched free() / delete / delete []
==20394==    at 0x4C27FF2: operator delete(void*) (vg_replace_malloc.c:387)
==20394==    by 0x4328A5: HadoopPipes::runTask(HadoopPipes::Factory const&) (HadoopPipes.cc:1171)
==20394==    by 0x424C33: main (ProcessRow.cpp:118)
==20394==  Address 0x9c5b540 is 0 bytes inside a block of size 131,072 alloc'd
==20394==    at 0x4C2864B: operator new[](unsigned long) (vg_replace_malloc.c:305)
==20394==    by 0x431E5D: HadoopPipes::runTask(HadoopPipes::Factory const&) (HadoopPipes.cc:1121)
==20394==    by 0x424C33: main (ProcessRow.cpp:118)
==20394== 
==20394== Mismatched free() / delete / delete []
==20394==    at 0x4C27FF2: operator delete(void*) (vg_replace_malloc.c:387)
==20394==    by 0x4328AF: HadoopPipes::runTask(HadoopPipes::Factory const&) (HadoopPipes.cc:1172)
==20394==    by 0x424C33: main (ProcessRow.cpp:118)
==20394==  Address 0x9c7b580 is 0 bytes inside a block of size 131,072 alloc'd
==20394==    at 0x4C2864B: operator new[](unsigned long) (vg_replace_malloc.c:305)
==20394==    by 0x431E6A: HadoopPipes::runTask(HadoopPipes::Factory const&) (HadoopPipes.cc:1122)
==20394==    by 0x424C33: main (ProcessRow.cpp:118)

The new [] calls in Lines 1121 and 1122 of HadoopPipes.cc:
        bufin = new char[bufsize];
        bufout = new char[bufsize];
should have matching delete [] calls but are instead bracketed my delete on lines 1171 and 1172:
      delete bufin;
      delete bufout;
So these should be replaced by delete[]


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira