I am getting a seg fault from a package that I am working on, and I am totally flummoxed by it. The fault presumably arises from dynamically
loaded Fortran code, but I'm damned if I can see where the error lies.

In an effort to diagnose the problem I created a "non-package" version of the code. That is, I copied all the *.R files and *.f file into a
new directory.  In that directory I created a *.so file using
R CMD SHLIB.

In the R code I removed all the "PACKAGE=" lines from the calls to
.Fortran() and put in appropriate dyn.load() calls.

I then started R in this new "clean" directory and sourced all of the
*.R files.

I then issued the command that produces the seg fault when run under the aegis of the package. The command ran without a murmur of complaint.
WTF?

Can anyone suggest a reason why a seg fault might arise when the code is run in the context of a package, but not when it is run in "standalone mode"?

I have checked and rechecked my init.c file --- which is the only thing that I can think of that might create a difference --- and cannot find any discrepancy between the declarations in the init.c file and the Fortran code.

The package is a bit complicated, so giving more detail would be cumbersome. Also I have no idea what aspects of detail would be relevant. If anyone would like more info, feel free to ask.

I would really appreciate it if someone could give me some suggestions
before I go *completely* mad!

cheers,

Rolf Turner

--
Technical Editor ANZJS
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to