Rolf,
have you tried to run R with a debugger, as in
$ R -d gdb
the gnu debugger?
G,
On 2018-08-11 23:12, Rolf Turner wrote:
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
______________________________________________
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.