1

Flymake started giving this warning today:

Error in process sentinel not enough arguments for format string

The mode line shows Flymake:Wait [0 0]. I narrowed down the code throwing the error to a few lines:

context("German Statlog credit dataset")
library("PosteriorBootstrap")

test_that("German Statlog data outcomes are in {1, 2}", {
  raw_dataset <- as.matrix(utils::read.table(get_german_credit_file()))
  expect_true(all(raw_dataset[, ncol(raw_dataset)] %in% c(1, 2)))
})

Following this thread, I enabled debugging with M-x toggle-debug-on-error, which shows the stack trace:

Debugger entered--Lisp error: (error "Not enough arguments for format string")
  format-message(" Error in cat(\"@@warning: @@\", e) : \n  argument 2 (type 'list') cannot be handled by 'cat'\nCalls: esslint ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> -> cat\nIn addition: Warning message:\nIn file(con, \"r\") :\n  cannot open file 'context(\"German Statlog credit dataset\")\nlibrary(\"PosteriorBootstrap\")\n\ntest_that(\"German Statlog data outcomes are in {1, 2}\", {\n  raw_dataset <- as.matrix(utils::read.table(get_german_credit_file()))\n  expect_true(all(raw_dataset[, ncol(raw_dataset)] %in% c(1, 2)))\n})\n\n': File name too long\nExecution halted\n")
  apply(format-message " Error in cat(\"@@warning: @@\", e) : \n  argument 2 (type 'list') cannot be handled by 'cat'\nCalls: esslint ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> -> cat\nIn addition: Warning message:\nIn file(con, \"r\") :\n  cannot open file 'context(\"German Statlog credit dataset\")\nlibrary(\"PosteriorBootstrap\")\n\ntest_that(\"German Statlog data outcomes are in {1, 2}\", {\n  raw_dataset <- as.matrix(utils::read.table(get_german_credit_file()))\n  expect_true(all(raw_dataset[, ncol(raw_dataset)] %in% c(1, 2)))\n})\n\n': File name too long\nExecution halted\n" nil)
  flymake--log-1(:warning ess-r-flymake " Error in cat(\"@@warning: @@\", e) : \n  argument 2 (type 'list') cannot be handled by 'cat'\nCalls: esslint ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> -> cat\nIn addition: Warning message:\nIn file(con, \"r\") :\n  cannot open file 'context(\"German Statlog credit dataset\")\nlibrary(\"PosteriorBootstrap\")\n\ntest_that(\"German Statlog data outcomes are in {1, 2}\", {\n  raw_dataset <- as.matrix(utils::read.table(get_german_credit_file()))\n  expect_true(all(raw_dataset[, ncol(raw_dataset)] %in% c(1, 2)))\n})\n\n': File name too long\nExecution halted\n")
  ess-r--flymake-check-errors()
  ess-r--flymake-parse-output(#<buffer  *ess-r-flymake*> #<buffer test_sample_data.R> #f(compiled-function (&rest args) #<bytecode 0x40791b4d>))
  #f(compiled-function (proc event) #<bytecode 0x40791b61>)(#<process ess-r-flymake> "exited abnormally with code 1\n")
0

The error seems related to this issue, which recommends creating ~/.R/lintr_cache/ to solve the weirdness:

mkdir -p ~/.R/lintr_cache

I believe the issue arose after I deleted the ~/.R directory. Creating that directory solved the problem, removing it brought it back.

  • This did not help in my case. – Marius Hofert Aug 30 at 21:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.