Dear list, When installing the latest version of Rtools (3.1.0.1942) into a path that contains more than 96 characters on Windows 7 64-bit, e.g. into C:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath and assuming that the Rtools bin paths have been appropriately added to the PATH environment variable as in c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\bin;c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\gcc-4.6.3\bin the following call from RGui 64-bit (version 3.1.0) reproducibly causes R to crash: Sys.which("ls") Sys.which seems to use an internal function on Windows. Is this a known issue? Please let me know if I can provide any more relevant information. Best, Tobias
Some clarifications and additional data on this bug: - this has nothing to do with Rtools as such, but applies to finding any executable with 'Sys.which' that happens to live in a path with more than 96 characters; - the issue also occurs when using the 32-bit version of RGui on Windows 7 64-bit (and also with R.exe at the command line); - the issue also occurs when using the 32-bit version of RGui on Windows 7 32-bit (and also with R.exe at the command line). By means of example, the 'problem details' as given by Windows when R crashes is pasted below: Problem signature: Problem Event Name: APPCRASH Application Name: Rterm.exe Application Version: 3.10.65387.0 Application Timestamp: 5347f09a Fault Module Name: ntdll.dll Fault Module Version: 6.1.7601.17514 Fault Module Timestamp: 4ce7b96e Exception Code: c0000005 Exception Offset: 000558d4 OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 1033 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 Best, Tobias ----- Original Message -----> From: "Tobias Verbeke" <tobias.verbeke at openanalytics.eu> > To: r-devel at r-project.org > Sent: Tuesday, May 6, 2014 8:28:54 PM > Subject: [Rd] R crash using Sys.which on Windows > > Dear list, > > When installing the latest version of Rtools (3.1.0.1942) into a path that > contains more than 96 characters on Windows 7 64-bit, > e.g. into > > C:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath > > and assuming that the Rtools bin paths have been appropriately added to the > PATH environment variable as in > > c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\bin;c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\gcc-4.6.3\bin > > the following call from RGui 64-bit (version 3.1.0) reproducibly causes R to > crash: > > Sys.which("ls") > > Sys.which seems to use an internal function on Windows. Is this a known > issue? > > Please let me know if I can provide any more relevant information. > > Best, > Tobias > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >
This is a change in behaviour of the Windows API function since the code was written (years ago). It will be changed in R 3.1.1: meanwhile you can always use the shortPathName to abbreviate the name. On 06/05/2014 19:28, Tobias Verbeke wrote:> Dear list, > > When installing the latest version of Rtools (3.1.0.1942) into a path that contains more than 96 characters on Windows 7 64-bit, > e.g. into > > C:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath > > and assuming that the Rtools bin paths have been appropriately added to the PATH environment variable as in > > c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\bin;c:\TheLatestRtoolsInAPathWithMoreThanNinetySixCharactersWillCrashTheRSessionUponCallingTheSysWhichFunctionInRToGetTheGccPath\gcc-4.6.3\bin > > the following call from RGui 64-bit (version 3.1.0) reproducibly causes R to crash: > > Sys.which("ls") > > Sys.which seems to use an internal function on Windows. Is this a known issue? > > Please let me know if I can provide any more relevant information. > > Best, > Tobias > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595