[R] Rf_error crashes entire program.

Duncan Murdoch murdoch at stats.uwo.ca
Tue Jul 29 00:52:50 CEST 2008


On 28/07/2008 6:41 PM, Andrew Redd wrote:
> I'm having a problem with the error and warning functions.  I've tried this
> on multiple machine so I'm fairly sure it's not machine dependent and I've
> tried it on the latest versions 2.6.0-2.7.1.  Whenever my program gets to an
> error or warning it crashes the entire program rather than throwing the
> error like it should.
> 
> Here are the relevant bits.
> 
> ...
>     char const * const ExeedsMinVarianceError = "PFDA ERR: Near zero
> variance encountered.  Estimation Unstable. Terminating Estimation.";
> ....
>         if(debug){printf("Da:\n");printmat(DaOld,1,*ka);fflush(stdout);}
>         daxpy_(ka, &mOne, Da, &one, DaOld, &one);
>         for(i=0;i<*ka;i++)convergenceCriteria+=fabs(DaOld[i]);
>         if(Da[*ka] < MinVariance){
>             printf("PING");fflush(stdout);
>             warning(ExeedsMinVarianceError);
>             break;
>         }
> 
> and the output from running in batch mode that I get is this:
> Da:
> 0.1803    4.988e-017
> 
> PING
> and here the program crashes.   I've tried this in multiple places and
> sometimes the error is thrown sometimes not.  Does anyone have an idea of
> what is going on.  I could not find any discussion of this error yet.

I don't know if this would have any effect, but we normally suggest that 
you use Rprintf, not printf.

If that's not relevant, you probably need to give more details:  show us 
a complete file that does nothing but crash, let us know your platform, 
etc.  Without reproducible code it's nearly impossible for us to 
diagnose errors, and often producing the reproducible code is enough to 
suggest to you what the problem is without any extra help.

Duncan Murdoch



More information about the R-help mailing list