Skip to content

Bug in RScript.exe for 3.5.0

10 messages · Kerry Jackson, Yihui Xie, Tomas Kalibera

#
Hi R Developers,
I have found what I think is a bug in the RScript.exe in version 3.5.0 of R for Windows.
When I call Rscript.exe for Version 3.5 of R, it is unable to open the file if the file name or path has a space in it.
As an example of what happens, I saved 2 files with the code:
cat("What do you get when you multiply 6 * 9?")
as C:\foo bar.R and as C:\foo_bar.R
When I in a DOS command window try to run these using version 3.4.3 and 3.5:
C:\>"C:\Program Files\R\R-3.4.3\bin\x64\Rscript.exe" "C:\foo bar.R"
What do you get when you multiply 6 * 9?
C:\>"C:\Program Files\R\R-3.4.3\bin\x64\Rscript.exe" "C:\foo_bar.R"
What do you get when you multiply 6 * 9?
C:\>"C:\Program Files\R\R-3.5.0\bin\x64\Rscript.exe" "C:\foo bar.R"
Fatal error: cannot open file 'C:\foo': No such file or directory


C:\>"C:\Program Files\R\R-3.5.0\bin\x64\Rscript.exe" "C:\foo_bar.R"
What do you get when you multiply 6 * 9?
C:\>
When I try to run the file with a space in the name in version 3.5.0 of R, there is a fatal error saying there is no such file.


Kerry Jackson
Job title: Senior Account Manager, Ipsos Connect US RA Testing GMU
Phone: (203) 840-3443
#
Thanks for the report. A quick workaround before this gets fixed is to 
add an extra first argument that has no space in it, e.g.

Rscript --vanilla "foo bar.R"

The problem exists on all systems, not just Windows.

Best
Tomas
On 04/25/2018 09:55 PM, Kerry Jackson wrote:
#
Fixed in R-devel. I will port to R-patched after more testing.
Tomas
On 04/26/2018 01:52 AM, Tomas Kalibera wrote:
#
Thanks Tomas.

I confirm the quick workaround works for me in the DOS prompt, and when having a shortcut to RScript in SendTo, and when used in the Task Scheduler.  I have not tested the R-devel version, due to my unfamiliarity with installing from source code.

-----Original Message-----
From: Tomas Kalibera [mailto:tomas.kalibera at gmail.com] 
Sent: Thursday, April 26, 2018 6:34 AM
To: Kerry Jackson <Kerry.Jackson at Ipsos.com>; r-devel at r-project.org
Subject: Re: [Rd] Bug in RScript.exe for 3.5.0

Fixed in R-devel. I will port to R-patched after more testing.
Tomas
On 04/26/2018 01:52 AM, Tomas Kalibera wrote:
#
On 04/26/2018 02:23 PM, Kerry Jackson wrote:
Thanks, Kerry.

There are binary builds for daily snapshots of R-devel 
(development/unstable version of R) at
https://cran.r-project.org/bin/windows/base/rdevel.html

At this time the build should already have the fix.

Best
Tomas
#
Hi Tomas,

Thanks for the info about the binary builds; I did install it, however the bug still seems to be there in the current build.  The workaround you suggested does work:

C:\>"C:\Program Files\R\R-devel\bin\x64\Rscript.exe" "C:\foo bar.R"
Fatal error: cannot open file 'C:\foo': No such file or directory


C:\>"C:\Program Files\R\R-devel\bin\x64\Rscript.exe" --vanilla "C:\foo bar.R"
What do you get when you multiply 6 * 9?
C:\>

-----Original Message-----
From: Tomas Kalibera [mailto:tomas.kalibera at gmail.com] 
Sent: Thursday, April 26, 2018 8:35 AM
To: Kerry Jackson <Kerry.Jackson at Ipsos.com>; r-devel at r-project.org
Subject: Re: [Rd] Bug in RScript.exe for 3.5.0
On 04/26/2018 02:23 PM, Kerry Jackson wrote:
Thanks, Kerry.

There are binary builds for daily snapshots of R-devel (development/unstable version of R) at https://cran.r-project.org/bin/windows/base/rdevel.html

At this time the build should already have the fix.

Best
Tomas
#
Thanks, actually this is because the snapshot build is still one version 
behind (74642, the fix is in 74643). When I build my own installer and 
install it seems to be working fine. Sorry for the confusion,

Tomas
On 04/26/2018 02:49 PM, Kerry Jackson wrote:
#
Thanks Tomas,

I confirm the R Under development (unstable) (2018-04-26 r74651) version works for Rscript when the file name has a space, and no arguments are specified.  

C:\>"C:\Program Files\R\R-devel\bin\x64\Rscript.exe" "C:\foo bar.R"
R Under development (unstable) (2018-04-26 r74651)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_3.6.0

C:\>

-----Original Message-----
From: Tomas Kalibera [mailto:tomas.kalibera at gmail.com] 
Sent: Thursday, April 26, 2018 10:22 AM
To: Kerry Jackson <Kerry.Jackson at Ipsos.com>
Cc: r-devel at r-project.org
Subject: Re: [Rd] Bug in RScript.exe for 3.5.0

Thanks, actually this is because the snapshot build is still one version behind (74642, the fix is in 74643). When I build my own installer and install it seems to be working fine. Sorry for the confusion,

Tomas
On 04/26/2018 02:49 PM, Kerry Jackson wrote:
1 day later
#
It seems the fix has not been ported to the patched version of R on
Windows yet. I just tested R version 3.5.0 Patched (2018-04-27
r74667).

IMHO this bug is so bad that it is worth a new release R 3.5.1 before
it starts biting more users like this one
https://stackoverflow.com/q/50077412/559676. BTW, although the bug has
been fixed (https://github.com/wch/r-source/commit/c29f694), I think
it will be even better if a corresponding test is added at the same
time to prevent this from happening again in the future.

Thanks!

Yihui
On Fri, Apr 27, 2018 at 7:03 AM, Kerry Jackson <Kerry.Jackson at ipsos.com> wrote:
#
I don't have an opinion if this requires 3.5.1 to be released soon(er), 
but I have ported to R-patched now. The bug existed in R-devel for a 
year without being spotted, which is quite a long time - but it may be 
these bugs are hard to find before release, because people testing and 
using an unreleased version of R would not use space in file names. As 
apparently users of released versions do, we should do better about 
testing, perhaps test regularly with space in path names on a system 
that supports it. I think normal regression tests should not depend on 
such support.

In either case, I would recommend users to avoid space in file names to 
be safe. One known problem is that some packages will not build when 
RHOME has space in its name (on Windows, this is not a problem on drives 
with short file names supported, but that is not always the case) - CRAN 
is now checking the most common source of this issue, but there may be more.

Tomas
On 04/28/2018 07:23 PM, Yihui Xie wrote: