Skip to content

pyslow5 error handling on file open #95

@Psy-Fer

Description

@Psy-Fer

No NULL catch in the file open steps to raise a memory error
causes seg fault

if self.state == 0:
            self.s5 = pyslow5.slow5_open(self.p, self.m)
>>> insert NULL check here <<<<
            self.logger.debug("Number of read_groups: {}".format(self.s5.header.num_read_groups))
            self.num_read_groups = self.s5.header.num_read_groups

to reproduce

import pyslow5
import sys


filename = sys.argv[1]

print("before")
try:
    s5 = pyslow5.Open(filename, 'r', DEBUG=1)
except Exception as error:
    print("An exception occurred:", type(error).__name__, "-", error)
print("after")

print(s5.get_num_read_groups())

error:

import pyslow5
import sys


filename = sys.argv[1]

print("before")
try:
    s5 = pyslow5.Open(filename, 'r', DEBUG=1)
except Exception as error:
    print("An exception occurred:", type(error).__name__, "-", error)
print("after")

print(s5.get_num_read_groups())

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions