Re: [Rd] Strange behavior of C compiled program

From: Mathieu Ribatet <mathieu.ribatet_at_epfl.ch>
Date: Mon, 09 Feb 2009 10:18:23 +0100

You might have a look at the "Writing R Extensions" manual - especially valgrind and/or gdb.

By the way, your error is probably due to array size problem - i.e. tmp is of size n and you call tmp[n+1] for example. Valgrind will detect in automagically for you.

Best,
Mathieu

Le lundi 09 février 2009 à 10:05 +0100, Christophe Genolini a écrit :
> Thanks, that was a stupid mistake (I did not know that this is so
> important).
>
> So I still have a problem realy more complex and I do not know was is
> wrong. I am running a .C procedure in a R loop.
> After 4, 5 or sometimes 6 call to the C procedure, Rgui crash (it closes
> asking me if I want to send a report to Microsoft).
> Is there a debuger that can run the C code with some R in it ? And what
> kind of mistake can provoque such a crash ?
>
> Thanks
> Christophe
>
>
> So I thaught that I find t
> > On 08/02/2009 5:37 PM, Christophe Genolini wrote:
> >> Hi the list,
> >>
> >> I need to include some C code in R, but the behavior of the C code is
> >> strange : Here is my code :
> >> --- 8< ---
> >> Rprintf("\n XXXX mTraj=%f
> >> mClus=%f",mTraj[i+nbId*c],mClustersCenter[j+nbClusters*c]);
> >>
> >> Rprintf("\nDistA=%d Tmp=%d",dist,tmp);
> >> tmp = mTraj[i+nbId* c] - mClustersCenter [j+nbClusters* c];
> >>
> >> Rprintf("\nDistB=%d Tmp=%d",dist,tmp);
> >> dist += (tmp * tmp);
> >>
> >> Rprintf("\nDistC=%d Tmp=%d",dist,tmp);
> >> --- 8< ----
> >>
> >> Herer are the stranges results it gives :
> >>
> >> XXXX mTraj=1.000000 mClus=3.000000
> >> DistA=0 Tmp=0
> >> DistB=0 Tmp=0
> >> DistC=0 Tmp=1074790400
> >>
> >> I ask on a C chat, but no one can answer me.
> >> Any idea of what wrong ?
> >
> > You likely have the wrong types for the variables you're printing. In
> > C, the format has to match the type of the variable; if you use the
> > wrong one, you get garbage.
> >
> > Duncan Murdoch
> >
>

-- 
Institute of Mathematics
Ecole Polytechnique Fédérale de Lausanne
STAT-IMA-FSB-EPFL, Station 8
CH-1015 Lausanne   Switzerland
http://stat.epfl.ch/
Tel: + 41 (0)21 693 7907

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Mon 09 Feb 2009 - 09:23:11 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Mon 09 Feb 2009 - 14:00:21 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive