Entering edit mode
13.0 years ago
User 9996
▴
840
I've been trying to run RepeatMasker but it keeps crashing with the error "Can't fork...". In the RepeatMasker script source code, this is here:
FORK: {
if ( $pid = fork ) {
$flag = 1;
waitpid( $pid, 0 ); #Waits for child to finish...
my ( $status ) = $?;
if ( WIFSTOPPED( $status ) ) {
my ( $signal ) = WSTOPSIG( $status );
print "\nforksys: Program terminated by a signal $signal.\n";
print "The executing command was: $cmd\n";
return 1;
}
if ( WIFEXITED( $status ) ) {
my ( $temp ) = WEXITSTATUS( $status );
return $temp;
}
if ( WIFSIGNALED( $status ) ) {
my ( $signal ) = WTERMSIG( $status );
print "\nforksys: Program terminated by a signal $signal.\n";
print "The executing command was: $cmd\n";
return 1;
}
}
elsif ( defined $pid ) {
exec( "$cmd" ) or die "Exec $cmd failed\n";
}
elsif ( $! =~ /No more process/o ) {
print "$!\n";
sleep 5;
redo FORK;
}
else {
die "Can't fork...\n";
}
}
}
any idea what parameter could be causing this or how it can be debugged? I ran RM with 6 processors and sensitive search but am now changing it to the "qq" option ("quick and dirty search") and giving it only 1 processor, to see if that helps in case it's a weird threading thing that happens. any thoughts on this?? thank you.
Couldn't say why, but you're running into a problem when RepeatMasker tries to spawn a new process. That's an unusual problem to have, thus the perfunctory error message. Update your question after trying with a single execution thread.