You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Allen Wittenauer (JIRA)" <ji...@apache.org> on 2015/05/06 05:28:07 UTC
[jira] [Updated] (MAPREDUCE-3914) Mismatched free() / delete /
delete [] in HadoopPipes
[ https://issues.apache.org/jira/browse/MAPREDUCE-3914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Allen Wittenauer updated MAPREDUCE-3914:
----------------------------------------
Labels: BB2015-05-TBR (was: )
> 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, 0.23.0, 1.0.0
> Environment: Based upon map reduce pipes task executed on Ubuntu 11.10
> Reporter: Charles Earl
> Labels: BB2015-05-TBR
> Attachments: MAPREDUCE-3914-branch-0.23.patch, MAPREDUCE-3914-branch-1.0.patch, MAPREDUCE-3914.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)