[R] Stack smashing again.

Rolf Turner r@turner @end|ng |rom @uck|@nd@@c@nz
Mon Apr 11 05:25:53 CEST 2022

    To all and sundry, near and far,
    Ivan Krylov in particular ....

(The latter being singled out because he was so helpful the last time I
asked a question on this issue.  My apologies to him if I am being a

I have again been beset by a "stack smashing" problem when trying
to run R code that calls upon dynamically loaded Fortran.  I have now
reached the end of my limited mental resources in trying to solve this
problem, so I am beseeching R-help to come to my assistance.

I have applied valgrind to try to track down the source of the problem.
I.e. I started R using "R -d valgrind".  The output from trying to run
my code is in the attached file "vgo.txt".  All that I can discern from
this output is that something went wrong.  The "location" of the
problem seems to be specified as line 85 in the Fortran file "getgl.f",
but this is the last line ("end") of that file, so this just seems to be
saying that there is something wrong, somewhere in this file!

I have bundled up all of the components of a reproducible example in a
"shell archive" that I have named "shark.txt" (which is attached). To
investigate the problem:

* unpack the shell archive using "sh shark.txt"
* create a shared object library using "R CMD SHLIB -o hah.so *.f"
* start R using "R -d valgrind"
* source the file "scr" (from the archive) using 'source("scr")'

The shell archive concept is peculiar to Unix/Linux, but apparently
there is an application called "ZipZag" which can be used by Windoze
users to unpack shell archives (if any such users are interested).

I have gone over and over my code, to the point of madness, looking for
argument miss-matches in the calls in this code, and for screw-ups in
the dimension statements, and can find none.  They must be there
somewhere, but I cannot see them.  Can anyone help me?

Note that the code in the *.f files is very opaque, since the code was
originally written in Ratfor and then compiled into Fortran.  The Ratfor
code is much more perspicuous, so I have included the corresponding *.r
files so as to possibly provide some enlightenment.  If you have ratfor
on your system, you can do things like "ratfor getgl.r > getgl.f" to
recreate the *.f files.

Thanks for any assistance.


Rolf Turner

Honorary Research Fellow
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: vgo.txt
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20220411/52f90f93/attachment.txt>

-------------- next part --------------
An embedded message was scrubbed...
From: UoA Secure Email Gateway Notifications<secure-email-gateway-notifications using auckland.ac.nz>
Subject: shark_txt was removed from this message
Date: Mon, 11 Apr 2022 15:25:53 +1200
Size: 2098
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20220411/52f90f93/attachment.mht>

More information about the R-help mailing list