From mathieu.ribatet at epfl.ch  Tue Jan 27 19:04:02 2009
From: mathieu.ribatet at epfl.ch (Mathieu Ribatet)
Date: Tue, 27 Jan 2009 19:04:02 +0100
Subject: [Rd] uninitialised value in R (PR#13476)
In-Reply-To: <20090127152007.9980A282EFF8@mail.pubhealth.ku.dk>
References: <20090127152007.9980A282EFF8@mail.pubhealth.ku.dk>
Message-ID: <497F4C92.1060606@epfl.ch>

Hi Martin,

I wasn't able to compile your files. Replacing "extern "C" SEXP XXX();" 
by "SEXP XXX();" solve the issue and I got no message from valgrind - 
I'm not sure this is what you really want to do though.
I hope this might help.
Cheers,
Mathieu


schlather at math.uni-goettingen.de a ?crit :
> Hi,
>
> I get an "Conditional jump or move depends on uninitialised value(s)"
> from valgrind when using 'solve' in combination with some simple
> C-code. (I did not use other functions of R besides 'solve'.)
>
> In detail: running
>
> R --vanilla -d "valgrind --tool=memcheck --memcheck:leak-check=yes
> --num-callers=20 "
>
> and calling
>
> .Call("XXX")
> nd <- 3
> solve(diag(nd) , as.vector(1:nd))
> .Call("XXX")
>
> gives the above valgrind message for the second call of "XXX".
> Without "solve" in the middle, there is no message
> from valgrind.
>
> Best regards,
> Martin
>
>
> /////////////////////////////// C source file u.cc
> #include "u.h"
>
> SEXP XXX() {
>   SEXP ans;
>   PROTECT (ans = allocVector(INTSXP, 1));
>   INTEGER(ans)[0] = 1;
>   UNPROTECT(1);
>   return ans;
> }
>
>
> /////////////////////////////// header file u.h
> #ifndef RFsimu_public_H
> #define RFsimu_public_H 1
>
> #include <R.h>
> #include <Rinternals.h>
> #include <Rmath.h>
> #include <Rdefines.h>
>
> extern "C" SEXP XXX();
>
>
> #endif /* RF_simu_PUBLIC_H*/
>
>
>
>
>
>
> --please do not edit the information below--
>
> Version:
>  platform = i686-pc-linux-gnu
>  arch = i686
>  os = linux-gnu
>  system = i686, linux-gnu
>  status = Under development (unstable)
>  major = 2
>  minor = 9.0
>  year = 2009
>  month = 01
>  day = 13
>  svn rev = 47573
>  language = R
>  version.string = R version 2.9.0 Under development (unstable)
> (2009-01-13 r47573)
>
> Locale:
> LC_CTYPE=en_GB.UTF-8;LC_NUMERIC=C;LC_TIME=en_GB.UTF-8;LC_COLLATE=en_GB.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=en_GB.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_GB.UTF-8;LC_IDENTIFICATION=C
>
> Search Path:
>  .GlobalEnv, package:stats, package:graphics, package:grDevices,
> package:utils, package:datasets, package:methods, Autoloads, package:base
>
>   

-- 
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



[Rd] uninitialised value in R (PR#13476)
Mathieu Ribatet