Opened 7 years ago

Closed 7 years ago

#1511 closed defect (fixed)

with debug parameters, rasdaman experiences a few extra memory leaks

Reported by: bbell Owned by: bbell
Priority: minor Milestone:
Component: undecided Version: development
Keywords: Cc: Dimitar Misev
Complexity: Medium

Description

the r_Minterval and r_Point methods ::get_string_representation() allocates memory; however, in some of the debug statements, this function is simply being called in order to output some information.

find the places in the code where this occurs and ensure that correct memory handling is applied.

example stack trace:

==6362== 3 bytes in 1 blocks are definitely lost in loss record 2 of 382
==6362==    at 0x4C27BE3: malloc (vg_replace_malloc.c:299)
==6362==    by 0xBC82889: strdup (in /usr/lib64/libc-2.17.so)
==6362==    by 0xA8DFDD: r_Minterval::get_string_representation() const (minterval.cc:903)
==6362==    by 0x900A13: NullValuesHandler::getNullValues() const (nullvalues.cc:56)
==6362==    by 0x9CEA42: QtConversion::evaluate(std::vector<QtData*, std::allocator<QtData*> >*) (qtconversion.cc:223)
==6362==    by 0x9EFAD4: QtOperationIterator::next() (qtoperationiterator.cc:253)
==6362==    by 0xA12EFC: QueryTree::evaluateRetrieval() (querytree.cc:174)
==6362==    by 0x944599: ServerComm::executeQuery(unsigned long, char const*, ExecuteQueryRes&) (servercomm2.cc:1651)
==6362==    by 0x7B2F3A: doStuff() (directql.cc:1109)
==6362==    by 0x7B3655: main (directql.cc:1176)

for the following commmand:

valgrind --leak-check=full --track-origins=yes directql -q 'select csv(concat (marray x in [ 10 : 31 , 0 : 23 ] values (c[ 2014 , 1 ,x[0],x[1], 50 , 450 , 450 ])) with (marray x in [ 1 : 28 , 0 : 23 ] values (c[ 2014 , 2 ,x[0],x[1], 50 , 450 , 450 ])) with (marray x in [ 1 : 12 , 0 : 23 ] values (c[ 2014 , 3 ,x[0],x[1], 50 , 450 , 450 ])) along 0) from MemTestData as c' --out string -d ~/projects/install/data/RASBASE

Change History (1)

comment:1 by bbell, 7 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.