Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • B Bio-DB-HTS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 6
    • Issues 6
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Jira
    • Jira
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ensembl-gh-mirror
  • Bio-DB-HTS
  • Issues
  • #17

Closed
Open
Created May 18, 2016 by Marek Szuba@mks

Memory leak: Bio::DB::HTS::Tabix - very reproducible

Created by: keiranmraine

Use the following small bit of code to reproduce with a tabix indexed BED file:

#!/usr/bin/perl
use strict;
use Bio::DB::HTS::Tabix;

my ($file, $search, $iterations) = @ARGV;

my $brass_np = Bio::DB::HTS::Tabix->new(filename => $file);

for(0..$iterations) {
  my $iter = $brass_np->query($search);
  while(my $record = $iter->next){ }
}

Example runs (coordinate must hit records):

$ /usr/bin/time -f '%Mk maxresident' perl htsTabix_mem.pl test.bed.gz 1:9551-10140 1
102848k maxresident
$ /usr/bin/time -f '%Mk maxresident' perl htsTabix_mem.pl test.bed.gz 1:9551-10140 10
108128k maxresident
$ /usr/bin/time -f '%Mk maxresident' perl htsTabix_mem.pl test.bed.gz 1:9551-10140 100
160880k maxresident
$ /usr/bin/time -f '%Mk maxresident' perl htsTabix_mem.pl test.bed.gz 1:9551-10140 1000
688240k maxresident

Seems a very similar problem to Bio::DB::HTS::Faidx

This is pretty critical as we've discovered this in the middle of a pre-release test cycle

Assignee
Assign to
Time tracking