luntergroup / smcsmc

Demographic inference from whole genomes
GNU General Public License v3.0
11 stars 4 forks source link

Accounted for null pointer return from getLocalChild1 #64

Closed Chris1221 closed 5 years ago

Chris1221 commented 5 years ago

This isn't tested yet. See the error repository for a full description.

Chris1221 commented 5 years ago
shajoezhu commented 5 years ago

RE: scrm can leave partial branche that end in a leaf but are not samples

@Chris1221 can you check if those branches are local. I recall the newick (and oriental tree) functions in scrm can help to determine the local branches.

Chris1221 commented 5 years ago

Hi Joe, I'm not very familiar with the order of operations in scrm, but I printed out the node->last_update_ at the time of this call, and in all cases where this seg fault occurs it is non zero (which I believe implies that the branch is not local? since the node->local() function simply does a check against it being zero.)

Since the function specifically says it can only be run on local nodes, I wonder what is happening to make it run on non-local.

Chris1221 commented 5 years ago

Perhaps instead of checking to see if the return is zero as I have done, I should be checking to see if the node is local or not. This is only occuring in the case of recombination inference while printing trees (which is a new option), and I havne't yet had a chance to fully figure out what changes in the interaction of these two options.

shajoezhu commented 5 years ago

Perhaps instead of checking to see if the return is zero as I have done, I should be checking to see if the node is local or not. This is only occuring in the case of recombination inference while printing trees (which is a new option), and I havne't yet had a chance to fully figure out what changes in the interaction of these two options.

I think checking if a node is local or not is always a good idea.