[Rd] [R] "Error: bad value" problem

Peter Dalgaard p.dalgaard at biostat.ku.dk
Thu Dec 18 10:57:47 CET 2008

Martyn Plummer wrote:
> This has all the hallmarks of a bug I found and fixed in R-devel
> (r46998).  I did not port the patch over to the R release branch because
> I could not reproduce the bug.
> In R-devel, I was seeing problems with "make test-Segfault". This would
> occasionally segfault, but most of the time would create the "bad value"
> error, and of course would also run perfectly fine a lot of the time.
> The error came from exactly the same place that Ben found.  It was due
> to an invalid SrcRefs being used because SrcFile is not set to zero when
> it should be.
> I'll have a look and see if it is the same problem, or a close cousin.

Yes, this does appear to fix the issue. (Did you forget a NEWS file 
entry, though?)

It's a two-line change fixing a live bug, so it could go in 2.8.1 even 
in code freeze. The problem is that it is inside gram.y which will 
trigger some maintainer-mode activity, and did trip up my Fedora laptop 
slightly. Hmmmm....


> Martyn
> On Wed, 2008-12-17 at 22:07 -0500, Duncan Murdoch wrote:
>> On 17/12/2008 9:47 PM, Duncan Murdoch wrote:
>>> On 17/12/2008 8:56 PM, Peter Dalgaard wrote:
>>>> Ben Bolker wrote:
>>>>>   I can get the errors to happen on Ubuntu 8.10 with R --vanilla (*without*
>>>>> valgrind) -- but
>>>>> editing momfit.r line 742 so that plot.progress=FALSE seems to make the
>>>>> problem go away.  (This was a lucky guess, it looked like there was
>>>>> something
>>>>> odd going on with the plots.)
>>>>>   Hope that helps someone ...
>>>> Probably not. The problem is to reproduce the error state in a way so 
>>>> that we can understand what is causing it.
>>>> I can debug this to
>>>> (gdb) bt
>>>> #0  Rf_error (format=0x8220c65 "bad value") at 
>>>> ../../../R/src/main/errors.c:704
>>>> #1  0x0805a924 in SETCDR (x=0x8f89348, y=0x9b276e8)
>>>>      at ../../../R/src/main/memory.c:2728
>>>> #2  0x0819fa46 in GrowList (l=0x951e8f4, s=<value optimized out>) at 
>>>> gram.y:958
>>>> #3  0x081a2a7b in xxvalue (v=0x8f89348, k=4, lloc=<value optimized out>)
>>>>      at gram.y:440
>>>> and the problem in GrowList is that CAR(l) is R_NilValue (==0x8f89348), 
>>>> which supposedly "cannot happen", and the thing that calls GrowList is 
>>>> something with srcrefs (DuncanM?).
>>>> Digging deeper probably has to wait till the weekend for my part. (The 
>>>> natural next step is figuring out how the R_NilValue got into that 
>>>> location, but I should try to sleep off this cold....)
>>>> I'm CCing r-devel on this. Can we move the discussion there?
>>> I can probably take a look tomorrow.  I wasn't getting an error, but 
>>> maybe I'll see the same corruption if I watch it run.
>> I had time to see if I was getting a NilValue there tonight, and the 
>> answer was no, with the Windows RC.  I don't get the error in any 
>> version I've tried on Windows, though I can see it in 2.8.0 on MacOSX.
>> Duncan
>>> Duncan Murdoch
>>>>>   Ben Bolker
>>>>>> sessionInfo()
>>>>> R version 2.8.0 (2008-10-20) 
>>>>> i486-pc-linux-gnu 
>>>>> locale:
>>>>> attached base packages:
>>>>> [1] stats     graphics  grDevices utils     datasets  methods   base    
>>> ______________________________________________
>>> R-devel at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> -----------------------------------------------------------------------
> This message and its attachments are strictly confiden...{{dropped:15}}

More information about the R-devel mailing list