[R] optim & .C / Crashing on run
Patrick Burns
pburns at pburns.seanet.com
Sun Nov 4 12:55:06 CET 2012
When invoking R, you can add
-d valgrind
to run it under valgrind.
On 04/11/2012 11:35, Paul Browne wrote:
> It looks like my attached files didn't go through, so I'll put them in a
> public Dropbox folder instead; optim_rhelp.tar.gz
> <http://dl.dropbox.com/u/1113102/optim_rhelp.tar.gz>
>
> Thanks, I'll run a compiled binary of the C++ code through Valgrind &
> see what it reports, then perhaps I'll try an Rscript execution of the R
> code calling the C++ in optim (not sure if Valgrind can process that
> though!).
>
> It does seem to be a memory error of some kind, since occasionally the
> OS pops up a crash report referencing a segmentation fault after optim
> crashes the R session. Though it is strange that the code has never
> crashed from a straight .C call in R, or when run from a compiled C++
> binary.
>
> - Paul
>
> On 4 November 2012 09:35, Patrick Burns <pburns at pburns.seanet.com
> <mailto:pburns at pburns.seanet.com>> wrote:
>
> That is a symptom of the C/C++ code doing
> something like using memory beyond the proper
> range. It's entirely possible to have crashes
> in some contexts but not others.
>
> If you can run the C code under valgrind,
> that would be the easiest way to find the
> problem.
>
> Pat
>
>
> On 03/11/2012 18:15, Paul Browne wrote:
>
> Hello,
>
> I am attempting to use optim under the default Nelder-Mead
> algorithm for
> model fitting, minimizing a Chi^2 statistic whose value is
> determined by a
> .C call to an external shared library compiled from C & C++ code.
>
> My problem has been that the R session will immediately crash
> upon starting
> the simplex run, without it taking a single step.
>
> This is strange, as the .C call itself works, is error-free (as
> far as I
> can tell!) & does not return NAN or Inf under any initial starting
> parameters that I have tested it with in R. It only ever crashes
> the R
> session when the Chi^2 function to be minimized is called from
> optim, not
> under any other circumstances.
>
> In the interests of reproducibility, I attach R code that reads
> attached
> data files & attempts a N-M optim run. The required shared library
> containing the external code (compiled in Ubuntu 12.04 x64 with
> g++ 4.6.3)
> is also attached. Calculating an initial Chi^2 value for a
> starting set of
> model parameters works, then the R session crashes when the
> optim call is
> made.
>
> Is there something I'm perhaps doing wrong in the specification
> of the
> optim run? Is it inadvisable to use external code with optim?
> There doesn't
> seem to be a problem with the external code itself, so I'm very
> stumped as
> to the source of the crashes.
>
>
>
> ________________________________________________
> R-help at r-project.org <mailto:R-help at r-project.org> mailing list
> https://stat.ethz.ch/mailman/__listinfo/r-help
> <https://stat.ethz.ch/mailman/listinfo/r-help>
> PLEASE do read the posting guide
> http://www.R-project.org/__posting-guide.html
> <http://www.R-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
>
> --
> Patrick Burns
> pburns at pburns.seanet.com <mailto:pburns at pburns.seanet.com>
> twitter: @portfolioprobe
> http://www.portfolioprobe.com/__blog
> <http://www.portfolioprobe.com/blog>
> http://www.burns-stat.com
> (home of 'Some hints for the R beginner'
> and 'The R Inferno')
>
>
--
Patrick Burns
pburns at pburns.seanet.com
twitter: @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of 'Some hints for the R beginner'
and 'The R Inferno')
More information about the R-help
mailing list