mkdir 'code folder'cd'code folder'
R CMD check ../data.table_1.18.99.tar.gz
* checking tests ...
Running ‘main.R’
ERROR
test.data.table() running: /REDACTED/data.table/code folder/data.table.Rcheck/data.table/tests/tests.Rraw
sh: 1: file:///REDACTED/data.table/code: not found
Test 1378.2 produced 1 warnings but expected 0
Expected:
Observed: error in running command
Test 1378.2 produced 1 errors but expected 0
Expected:
Observed: External command failed with exit code 127. This can happen when the disk is full in the temporary directory ('/tmp/RtmpxJGGY8'). See ?fread for the tmpdir argument.
Test 1378.2 produced 1 messages but expected 0
Expected:
Observed: Taking input= as a system command because it contains a space ('file:///REDACTED/data.table/code folder/data.table.Rcheck/data.table/tests/russellCRLF.csv'). If it's a filename please remove the space, or use file= explicitly. A variable is being passed to input= and when this is taken as a system command there is a security concern if you are creating an app, the app could have a malicious user, and the app is not running in a secure environment; e.g. the app is running as root. Please read item 5 in the NEWS file for v1.11.6 for more information and for the option to suppress this message.
sh: 1: file:///REDACTED/data.table/code: not found
Test 1378.3 produced 1 warnings but expected 0
Expected:
Observed: error in running command
Test 1378.3 produced 1 errors but expected 0
Expected:
Observed: External command failed with exit code 127. This can happen when the disk is full in the temporary directory ('/tmp/RtmpxJGGY8'). See ?fread for the tmpdir argument.
Test 1378.3 produced 1 messages but expected 0
Expected:
Observed: Taking input= as a system command because it contains a space ('file:///REDACTED/data.table/code folder/data.table.Rcheck/data.table/tests/russellCRCRLF.csv'). If it's a filename please remove the space, or use file= explicitly. A variable is being passed to input= and when this is taken as a system command there is a security concern if you are creating an app, the app could have a malicious user, and the app is not running in a secure environment; e.g. the app is running as root. Please read item 5 in the NEWS file for v1.11.6 for more information and for the option to suppress this message.
Originally discovered by @sisyphuswastaken while working on #7543. Should probably use the file=... in the tests.
Hm, I wonder if the logic should be smarter instead -- fread("file://...") is clearly referring to a file, not a command.
So actually, the test is exposing an actual bug:
library(data.table)
d= file.path(tempdir(), "a dir")
dir.create(d)
f= file.path(d, "a.csv")
fwrite(mtcars, f)
u= sprintf("file://%s", f)
fread(u)
# Taking input= as a system command because it contains a space ('file:///tmp/RtmpyAROdr/a dir/a.csv'). If it's a filename please remove the space, or use file= explicitly. A variable is being passed to input= and when this is taken as a system command there is a security concern if you are creating an app, the app could have a malicious user, and the app is not running in a secure environment; e.g. the app is running as root. Please read item 5 in the NEWS file for v1.11.6 for more information and for the option to suppress this message.# /bin/sh: line 1: file:///tmp/RtmpyAROdr/a: No such file or directory# Null data.table (0 rows and 0 cols)# Warning messages:# 1: In (if (.Platform$OS.type == "unix") system else shell)(paste0("(", :# error in running command# 2: In fread(u) :# File '/tmp/RtmpyAROdr/file16f89223e0e228' has size 0. Returning a NULL data.table.# works
download.file(u, tmp<-tempfile())
# works, and fread is not thrown off by the space in 'f'
all.equal(fread(f), fread(tmp))
# [1] TRUE
Activity
MichaelChirico commented on Dec 29, 2025
Hm, I wonder if the logic should be smarter instead -- fread("file://...") is clearly referring to a file, not a command.
So actually, the test is exposing an actual bug: