[Rd] R v2.1.1 for Windows and "non-reproducible" crashes

From: Henrik Bengtsson <hb_at_maths.lth.se>
Date: Mon 27 Jun 2005 - 14:38:37 GMT


Hi,

R v2.1.1 patched (2005-05-26) for Windows crashes. The sympotoms are like "memory leakage". The patched version from two days ago crashes at a different position in R CMD check compared to todays version.

A "REPRODUCIBLE" EXAMPLE:
Unfortunately, I cannot create a minimal code example reproducing the crash, but here is at least a simple way to reproduce it:

  1. Make sure you run R v2.1.1 patched
  2. Start R
  3. install.packages("R.oo", contriburl="http://www.maths.lth.se/help/R") [This is a version built with R v2.1.0, because I cannot make the package pass R CMD check on v2.1.1 because of the crashes]
  4. Cut'n'paste the following example from ?Rdoc to the R prompt: library(R.oo) author <- "Henrik Bengtsson, \url{http://www.braju.com/R/}" rdocFile <- system.file("misc", "Exception.R", package="R.oo") file.show(rdocFile) destPath <- tempdir() Rdoc$compile(rdocFile, destPath=destPath) rdFiles <- list.files(destPath, full.names=TRUE) print(rdFiles) file.show(rdFiles[1]) file.remove(rdFiles)

For me it crashes when it gets to the Rdoc$compile() line and Dr. Mingw reports:

Rterm.exe caused an Access Violation at location 7c911e58 in module ntdll.dll Reading from location 52474f52.

Registers:

eax=003efa18 ebx=003e0000 ecx=52474f52 edx=502f3a43 esi=003efa10 
edi=003efa48
eip=7c911e58 esp=00228c10 ebp=00228c1c iopl=0         nv up ei pl zr na 
po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246

Call stack:
7C911E58 ntdll.dll:7C911E58 RtlInitializeCriticalSection 7C910D5C ntdll.dll:7C910D5C wcsncpy
77C2C2DE msvcrt.dll:77C2C2DE free

1004BFB0  R.dll:1004BFB0  do_isseekable
1004C051  R.dll:1004C051  con_close
1004D33E  R.dll:1004D33E  do_close
100A8E41  R.dll:100A8E41  do_internal
1008494A  R.dll:1008494A  Rf_eval
10085595  R.dll:10085595  Rf_evalList
10084993  R.dll:10084993  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100A9361  R.dll:100A9361  do_internal
100A99A5  R.dll:100A99A5  Rf_usemethod
100A9E1A  R.dll:100A9E1A  do_usemethod
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10051EE9  R.dll:10051EE9  Rf_endcontext
1008751F  R.dll:1008751F  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100A9361  R.dll:100A9361  do_internal
100A99A5  R.dll:100A99A5  Rf_usemethod
100A9E1A  R.dll:100A9E1A  do_usemethod
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
10084671  R.dll:10084671  Rf_eval
1008487C  R.dll:1008487C  Rf_eval
10084671  R.dll:10084671  Rf_eval
1008487C  R.dll:1008487C  Rf_eval
10084671  R.dll:10084671  Rf_eval
1008487C  R.dll:1008487C  Rf_eval
100852A5  R.dll:100852A5  Rf_evalListKeepMissing
100853DD  R.dll:100853DD  do_return
1008494A  R.dll:1008494A  Rf_eval
10084671  R.dll:10084671  Rf_eval
1008487C  R.dll:1008487C  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
10086A18  R.dll:10086A18  do_for
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100A9361  R.dll:100A9361  do_internal
100A99A5  R.dll:100A99A5  Rf_usemethod
100A9E1A  R.dll:100A9E1A  do_usemethod
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10084671  R.dll:10084671  Rf_eval
1008487C  R.dll:1008487C  Rf_eval
10085595  R.dll:10085595  Rf_evalList
100A8F0F  R.dll:100A8F0F  do_internal
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10085012  R.dll:10085012  do_eval
100A8E41  R.dll:100A8E41  do_internal
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100866A2  R.dll:100866A2  do_while
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
10086A18  R.dll:10086A18  do_for
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
10086305  R.dll:10086305  do_set
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
10086A18  R.dll:10086A18  do_for
1008494A  R.dll:1008494A  Rf_eval
100863D5  R.dll:100863D5  do_begin
1008494A  R.dll:1008494A  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
100875AB  R.dll:100875AB  Rf_applyClosure
100846E0  R.dll:100846E0  Rf_eval
1009D5E6  R.dll:1009D5E6  Rf_ReplIteration
1009D717  R.dll:1009D717  Rf_ReplIteration
1009D997  R.dll:1009D997  run_Rmainloop
0040144C  Rterm.exe:0040144C
004012C5  Rterm.exe:004012C5
004016BA  Rterm.exe:004016BA

004011E7 Rterm.exe:004011E7
00401238 Rterm.exe:00401238
7C816D4F kernel32.dll:7C816D4F RegisterWaitForInputIdle

Sometimes it just give an error about an invalid regular expression; then rerun the line for it to crash, e.g.

 > Rdoc$compile(rdocFile, destPath=destPath) Loading required package: tools
Error in regexpr(pattern, text, extended, fixed, useBytes) :

         invalid regular expression '^@classhierarchy'

Then redo the Rdoc$compile() line and R will crash.

Also, note that the regular expression pattern in the error report from regexpr() about "invalid regular expression '^@alias'" is valid, because trying it in R you get

 > regexpr("^@classhierarchy", "@classhierarchy")
[1] 1

attr(,"match.length")
[1] 15

I have also received messages about "invalid regular expression ''", but I am sure I do not use empty regular expressions anywhere.

I am pretty sure it is not the R.oo package itself, because nothing much has changed and the package has passed the R CMD check for many R versions including R v2.1.0 patched (2005-05-09). The crashed to not occur on the R v2.1.0 patched version.

Has anyone else noticed this? Can you reproduce the above, or is it just my Windows installation? If I figure out more on this myself, I'll get back to you.

My system is Windows XP Pro English SP2 with

 > R.Version()
$platform
[1] "i386-pc-mingw32"

$arch
[1] "i386"

$os
[1] "mingw32"

$system
[1] "i386, mingw32"

$status
[1] "Patched"

$major
[1] "2"

$minor
[1] "1.1"

$year
[1] "2005"

$month
[1] "06"

$day
[1] "26"

$language
[1] "R"

Best

Henrik



R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue Jun 28 00:41:54 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:09 GMT