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.

Reply via email to