[KinoSearch] memory leak in KinoSearch::Util::BitVector (v .15)

Matthew Berk matthew at openlist.com
Wed Aug 15 16:39:59 PDT 2007



Am running into a bit of a snafu using a BitCollector in a persistent  
environment. After calling the following code, memory utilization  
grows arithmetically:

my $bit_vector = $collector->get_bit_vector();
my $result_ids = $bit_vector->to_arrayref();

 From what I can tell, the array returned to perl is never freed up.  
 From BitVector.pm:

Kino_BitVec_to_array(BitVector* bit_vec) {
     U32  num = 0;
     AV  *out_av;

     out_av = newAV();
     while (1) {
         num = Kino_BitVec_next_set_bit(bit_vec, num);
         if (num == KINO_BITVEC_SENTINEL)
             break;
         av_push( out_av, newSViv(num) );
         num++;
     }
     return out_av;
}

Anyone run into this problem? Any suggestions for whether I'm on  
base, or potentially how to solve for this?

Thanks,

Matthew Berk
Lead Search Architect
t 206.331.3528
f 206.331.3695
matthew at openlist.com

Marchex, Inc.
http://www.marchex.com

This email message and any attachments are solely for intended  
recipients, and may contain information that is privileged and  
confidential.  If you are not the intended recipient, any  
dissemination, distribution or copying is strictly prohibited. If you  
believe that you may have received this message in error, please  
immediately notify the sender by replying to this e-mail message.



_______________________________________________
KinoSearch mailing list
KinoSearch at rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch




More information about the kinosearch mailing list