slow5lib icon indicating copy to clipboard operation
slow5lib copied to clipboard

pyslow5 error handling on file open

Open Psy-Fer opened this issue 11 months ago • 0 comments

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())

Psy-Fer avatar Jan 20 '25 07:01 Psy-Fer