[Rd] Weird erratic error and illogical error message, could someone explain this?

Philippe Grosjean phgrosjean at sciviews.org
Fri Sep 3 14:29:54 CEST 2010


Thank you, Duncan for your answer.
Indeed, I have also tcltk loaded and running, and the memory allocation 
problem may come from there. I'll investigate using gctorture(). For 
sure, I know that I need a reproducible example for further investigations.
Best,

Philippe

..............................................<°}))><........
  ) ) ) ) )
( ( ( ( (    Prof. Philippe Grosjean
  ) ) ) ) )
( ( ( ( (    Numerical Ecology of Aquatic Systems
  ) ) ) ) )   Mons University, Belgium
( ( ( ( (
..............................................................

On 03/09/10 13:42, Duncan Murdoch wrote:
> Philippe Grosjean wrote:
>> Hello,
>>
>> It's several days I try to track this bug, and even cannot cook a
>> reproducible example. Yet, it occurs consistently in a long-running
>> task after a variable period of time. Here is an example:
>
> I would look closely at the other software that is running in your long
> example. Does it include C (or other external) code? Look closely at
> that, it might be writing outside it's own allocated memory. Also check
> for correct protection of intermediate results, if you're producing
> SEXPs in the external code. (Running under gctorture might flush out the
> bug more quickly if the latter is the problem.)
>
> If you're only running R code, then this looks like a bug in R, but it
> might still be worth trying gctorture to make it reproducible. We won't
> be able to fix it if we can't reproduce it.
>
> Duncan Murdoch
>> ... my long-running code [as I said, cannot give something simple
>> that produces this bug in a reproducible manner]
>>
>> Error in match(x, table, nomatch = 0L) :
>> formal argument "nomatch" matched by multiple actual arguments
>> > traceback()
>> 6: match(x, table, nomatch = 0L)
>> 5: "factor" %in% attrib[["class", exact = TRUE]]
>> 4: structure(.Internal(Sys.time()), class = c("POSIXt", "POSIXct"))
>> 3: Sys.time()
>> 2: chemTrigger() at chemostat_1.0-1.R#1132
>> 1: chemRun()
>>
>> So, the culprid is a call inside `%in%` (from within structure() in
>> Sys.time()). But I can run millions times `%in%`, or structure(), or
>> Sys.time() on my machine without producing this bug. Arguments at 5:
>> are simple character strings. They don't hurt!
>>
>> Also, I am lost because the message is totally illogical in the
>> context where it appears: I can understand this message here:
>>
>> > match(1, 2, nomatch = 0L, nomatch = NA)
>> Error in match(1, 2, nomatch = 0L, nomatch = NA) :
>> formal argument "nomatch" matched by multiple actual arguments
>>
>> or here:
>>
>> > test <- function (...) match(1, ..., nomatch = 0L)
>> > test(2, nomatch = NA)
>> Error in match(1, ..., nomatch = 0L) :
>> formal argument "nomatch" matched by multiple actual arguments
>>
>> but in the call "match(x, table, nomatch = 0L)" where x is the
>> character string "factor" and table is another character string
>> ("numeric") extracted from a list, I don't understand why it produces
>> this error message. '.Internal(Sys.time())' uses do_systime c code
>> that returns a one-element double... not something that can hurt here?!
>>
>> Can someone explain me, or give me an example where an argument is NOT
>> duplicated in the call (well, as I understand it here) and where one
>> gets such an error message? And why?
>>
>> Many thanks, I am desperate :-(
>>
>> I got this error on R 2.11.1 on Mac OS X 10.6.4, and on R 2.10.1 on
>> Windows XP SP3 (but it does not matter, since I cannot cook a
>> reproducible example).
>>
>> Philippe
>>
>> P.S.: seems related to this:
>> http://finzi.psych.upenn.edu/Rhelp10/2008-June/165101.html
>>
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



More information about the R-devel mailing list