shaunpwilkinson / aphid

Analysis with Profile Hidden Markov Models
21 stars 4 forks source link

Segmentation fault when setting pseudocounts = "none" in derivePHMM #7

Open taherimo opened 4 years ago

taherimo commented 4 years ago

After running the following code I get a segmentation fault error and then R aborts.

library(aphid) data(globins) phmm <- derivePHMM(globins, residues = 'AMINO', pseudocounts = "none") result <- Viterbi(phmm,globins['GLB1_GLYDI',],logspace = TRUE)

When I set inserts = "threshold" in derivePHMM I do not get this error anymore but another error instead:

Error in .ViterbiP(y, A, E, qe, qey, type, windowspace, offset, DI, ID, : Error 2

ccharles-gu commented 8 months ago

Confirm that derivePHMM() aborts when setting pseudocounts = "none". It appeared to be only an issue with 64-bit version of R: OK: Windows 10 with R-i386.4.1.0; Aborted: (same)Windows 10 with R-4.3.1; Aborted: Linux-CentOS7 with R-3.6.0, or R-4.3.1. The error message on the Linux machine:

BEGIN ERROR MESSAGE

caught segfault address 0xfffffffc054f76a8, cause 'memory not mapped'

Traceback: 1: .map(ecs, notgaps, pseudocounts, seqweights, qe, lambda) 2: map(x, seqweights = seqweights, residues = residues, gap = gap, endchar = endchar, pseudocounts = pseudocounts, qa = qa, qe = qe, cpp = cpp) 3: derivePHMM.default(seqs, residues = "DNA", seqweights = NULL, pseudocounts = "none") 4: derivePHMM(seqs, residues = "DNA", seqweights = NULL, pseudocounts = "none")

Possible actions: 1: abort (with core dump, if enabled) 2: normal R exit 3: exit R without saving workspace 4: exit R saving workspace Selection:

END ERROR MESSAGE