rocker-versioned2 icon indicating copy to clipboard operation
rocker-versioned2 copied to clipboard

[Singularity] RStudio 1.4 and S6 v2.1.0.2 permissions error

Open koetjen opened this issue 3 years ago • 26 comments

With the update in rstudio:4.0.3 to RStudio 1.4 and S6 v2.1.0.2, I receive a new error when running rstudio-server on our compute cluster, where I have no root or user/jobid modification permissions from within the docker container.

4.0.3: Pulling from rocker/rstudio
Digest: sha256:6587343e957c4f215be7226412c4cb92d5ea31d2048bbd592b7d5cfa32f13eab
Status: Image is up to date for rocker/rstudio:4.0.3
docker.io/rocker/rstudio:4.0.3
koetjen@compute1-exec-211:~$ rstudio-server verify-installation
26 Jan 2021 01:56:52 [rserver] ERROR database error 7 (sqlite3_statement_backend::loadOne: attempt to write a readonly database) [description: Could not delete expired revoked cookies from the database, description: Could not read revoked cookies from the database]; OCCURRED AT virtual rstudio::core::Error rstudio::core::database::Connection::execute(rstudio::core::database::Query&, bool*) src/cpp/core/Database.cpp:480; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:729
docker.io/rocker/rstudio:4.0.3
$ /init
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/userconf: Operation not permitted
s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/userconf: Operation not permitted
s6-chown: fatal: unable to chown /var/run/s6/etc/services.d/rstudio/run: Operation not permitted
s6-chmod: fatal: unable to change mode of /var/run/s6/etc/services.d/rstudio/run: Operation not permitted
s6-chown: fatal: unable to chown /var/run/s6/etc/services.d/rstudio/finish: Operation not permitted
s6-chmod: fatal: unable to change mode of /var/run/s6/etc/services.d/rstudio/finish: Operation not permitted
exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] userconf: executing... 
/var/run/s6/etc/cont-init.d/userconf: line 12: /usr/local/lib/R/etc/Renviron: Permission denied
deleting user rstudio
userdel: user 'rstudio' does not exist

R is able to run without difficulty. Also, rocker/rstudio:4.0.2 continues to run successfully. Are additional permissions an absolute requirement of RStudio 1.4, or is there somewhere I should modify the installer scripts to adjust the permissions needed?

koetjen avatar Jan 27 '21 03:01 koetjen

Hello, I'm having the same issue. Thanks for the great work!

cecabrera avatar Jan 30 '21 16:01 cecabrera

I'm having the same issue on both 4.0.3 and 4.0.2 when trying to run the container as user shiny

Jake-Gillberg avatar Jan 31 '21 23:01 Jake-Gillberg

If your containers are running as GID 0, this works:

chown -R root:root /var/lib/rstudio-server
chmod -R g=u /var/lib/rstudio-server

mcg1969 avatar Feb 02 '21 17:02 mcg1969

Thanks @mcg1969 . Would you suggest we explore changing these as the default permissions on the rstudio-server in our Dockerfile, or just documenting this more clearly? Are you seeing this specifically in singularity? Also, are you updating RStudio server in the running container rather than pulling down or rebuilding a new image? Of course that should work, but it does mean the user needs to manage things a bit more carefully -- we generally treat the software environment itself as disposable and use volume mapping to persist data. Of course the way singularity insists on volume mapping by default makes this more difficult.

@Jake-Gillberg 4.0.2 should be pinned to RStudio 1.3. Please try pulling and re-running the image? If you are producing the error there, please open another issue since I think that should be different from the problem here which I believe is indeed specific to RStudio 1.4

cboettig avatar Feb 08 '21 17:02 cboettig

My experience is inside a Docker container where the install is occurring in the Dockerfile build itself, not dynamically. I'm not using Singularity or Rocker, actually, it's more generic.

mcg1969 avatar Feb 08 '21 18:02 mcg1969

@mcg1969 thanks for that, yeah that makes sense if the image had a previous version installed. Based on that I think we probably should set these as the default permissions in the install_rstudio.sh script, https://github.com/rocker-org/rocker-versioned2/blob/master/scripts/install_rstudio.sh

If you agree with that, would you be interested in sending a us a PR to that effect?

cboettig avatar Feb 08 '21 18:02 cboettig

I'm afraid I can't do that—as mentioned, I don't use Rocker, and don't really have the means to test any changes. Someone with proper familiarity with that script ought to have little difficulty incorporating my proposed two-line addition however.

mcg1969 avatar Feb 08 '21 23:02 mcg1969

Hmm, just tried to test after adding the below to install_rstudio.sh:

chown -R root:root /var/lib/rstudio-server
chmod -R g=u /var/lib/rstudio-server

I'm still getting the error:

test_shiny | s6-mkdir: warning: unable to mkdir /var/run/s6: Permission denied
test_shiny exited with code 1

I'm running this script on top of rocker/shiny-verse:4.0.3:

FROM rocker/shiny-verse:4.0.3

RUN /rocker_scripts/install_rstudio.sh

I am trying to start this container with the user shiny:

version: "3.9"
services:

  shiny:
    container_name: test_shiny
    build: ./
    image: test_shiny
    user: shiny
    environment:
      - PASSWORD=${RSTUDIO_PASSWD:?set RSTUDIO_PASSWD in .env}

Jake-Gillberg avatar Feb 09 '21 16:02 Jake-Gillberg

Yeah, this is why I can't help y'all :-) I'm not using s6 and my fix doesn't contemplate that. I'm specifically looking at the error message shared at the top of this issue.

mcg1969 avatar Feb 09 '21 16:02 mcg1969

Thanks @Jake-Gillberg for checking and thanks @mcg1969 for confirming the fix you report is not related to rocker or S6 or singularity. Will try and find some time to poke around

cboettig avatar Feb 09 '21 16:02 cboettig

Hi all. Im getting the same error (below), but only when running rstudio in a singularity container from a HPC. No issues with rstudio server from docker container.

[rserver] ERROR database error 7 (sqlite3_statement_backend::loadOne: attempt to write a readonly database) [description: Could not delete expired revoked cookies from the database, description: Could not read revoked cookies from the database]; OCCURRED AT virtual rstudio::core::Error rstudio::core::database::Connection::execute(rstudio::core::database::Query&, bool*) src/cpp/core/Database.cpp:480; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:729

Tried changing permissions in my Dockerfile as suggested by @mcg1969 without success

alexthiery avatar Feb 10 '21 11:02 alexthiery

Hi, I have a very similar issue with Singularity too. I pull the latest version of the Rocker Rstudio container on our computational cluster where we use Singularity:

singularity pull docker://rocker/rstudio:latest

When the container is pulled and built, I try to start it up with

singularity exec \
            -c \
            -B ../..:/home/rstudio \
            rstudio-latest.simg \
            rserver \
            --www-port 8790 \
            --www-address 0.0.0.0 \
            --auth-none=0 \
            --auth-pam-helper-path=pam-helper

but get the following errors:

10 Feb 2021 14:28:25 [rserver] ERROR Could not change permissions for specified 'server-data-dir' - the directory (/var/run/rstudio-server) must be writeable by all users and have the sticky bit set; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:640

10 Feb 2021 14:28:25 [rserver] ERROR system error 1 (Operation not permitted) [path: /var/run/rstudio-server]; OCCURRED AT rstudio::core::Error rstudio::core::{anonymous}::changeFileModeImpl(const string&, mode_t) src/cpp/shared_core/FilePath.cpp:308; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:641

I use Singularity 2.6.0 but with the much newer version, 3.6.4, I still get very similar errors about permissions:

WARNING: Couldn't enforce permission 0700 on <my/home/dir>.singularity: chmod <my/home/dir>.singularity: operation not permitted

rserver[10327]: ERROR Could not change permissions for specified 'server-data-dir' - the directory (/var/run/rstudio-server) must be writeable by all users and have the sticky bit set; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:640

10 Feb 2021 14:36:22 [rserver] ERROR Could not change permissions for specified 'server-data-dir' - the directory (/var/run/rstudio-server) must be writeable by all users and have the sticky bit set; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:640

rserver[10327]: ERROR system error 30 (Read-only file system) [path: /var/run/rstudio-server]; OCCURRED AT rstudio::core::Error rstudio::core::{anonymous}::changeFileModeImpl(const string&, mode_t) src/cpp/shared_core/FilePath.cpp:308; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:641

10 Feb 2021 14:36:22 [rserver] ERROR system error 30 (Read-only file system) [path: /var/run/rstudio-server]; OCCURRED AT rstudio::core::Error rstudio::core::{anonymous}::changeFileModeImpl(const string&, mode_t) src/cpp/shared_core/FilePath.cpp:308; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:641

I would be very grateful, if there are any tips on how to tackle this.

sidorov-si avatar Feb 10 '21 14:02 sidorov-si

Hi @sidorov-si, I haven't tried the latest images, but there was already an issue with RStudio >= 1.3.x: Check out: https://github.com/rocker-org/website/blob/master/content/use/singularity.md In addition to binding a personal temp-dir you can try binding a personal run-dir, e.g.

 --bind=myrun:/run \
 --bind=mytmp:/tmp \

This worked for me with RStudio 1.3.1093 and the ml-verse 4.0.3-cuda10.1 image.

mfakaehler avatar Feb 11 '21 12:02 mfakaehler

For reference, S6 does not need to run as root. The important thing is that all the files in /etc/s6, in the cont-init.d and services.d folder, as well as the R and RStudio folders are owned by the user. For reference, here is an= dockerfile I created that runs as a normal user (in this case jovyan for legacy support, but it might as well be used rstudio), uses the latest RStudio and S6-overlay, as well as R installed through conda (so that packages can be easily installed from conda as well).

https://github.com/kubeflow/kubeflow/pull/5624

And this is the dockerfile that the above one uses as a base:

https://github.com/kubeflow/kubeflow/pull/5622

davidspek avatar Mar 05 '21 19:03 davidspek

thanks @DavidSpek , that's really cool to learn!

The important thing is that all the files in /etc/s6, in the cont-init.d and services.d folder, as well as the R and RStudio folders are owned by the user. I assume group permissions apply too? (e.g. we typically give the rstudio user membership to staff group.

will have to explore this a bit further!

cboettig avatar Mar 05 '21 21:03 cboettig

@cboettig The RStudio image is still a bit messy at the moment, sorry for that. I did the conda but a bit quick and dirty to test if it worked (I've been able to import packages installed through conda as well as install.packages(), but some more testing should be done). I'll work on cleaning it up soon as the plan is to have it in the next release of Kubeflow which is March 15th. If you have any feedback or questions about the Dockerfile you can always ping me. Also, if anybody can perform any quick tests on that Dockerfile to see if things work it is very much appreciated.

davidspek avatar Mar 05 '21 21:03 davidspek

@cboettig I just noticed your question in the last sentence of the quote block. I am using the staff group in the image as well.

davidspek avatar Mar 05 '21 23:03 davidspek

Also experienced this issue running on our university HPC cluster with Singularity 3.4.x. I managed to get it working starting from the rocker singularity guidance here, combined with extending the idea at this link to cover not just the /tmp folder but also /var/lib and /var/run rstudio specific subfolders. So, my script looks like so (with some redacting of local server info), where I'm highlighting likely changes someone else would need to make with ##NOTE##:

#!/bin/bash
#SBATCH --time=3-00:00:00
#SBATCH --signal=USR2
#SBATCH --ntasks=1

module purge
module load slurm
module load singularity

export PASSWORD=$(openssl rand -base64 8)
# get unused socket per https://unix.stackexchange.com/a/132524
# tiny race condition between the python & singularity commands
readonly PORT=$(python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()')
cat 1>&2 <<END
1. SSH tunnel from your workstation using the following command:

   ssh -N -L 8787:${HOSTNAME}:${PORT} ${USER}@myhpc.dur.ac.uk

   and point your web browser to http://localhost:8787

2. log in to RStudio Server using the following credentials:

   user: ${USER}
   password: ${PASSWORD}

When done using RStudio Server, terminate the job by:

1. Exit the RStudio Session ("power" button in the top right corner of the RStudio window)
2. Issue the following command on the login node:

      scancel -f ${SLURM_JOB_ID}
END

export LANG="en_US.UTF-8"
export LC_COLLATE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export LC_MESSAGES="en_US.UTF-8"
export LC_MONETARY="en_US.UTF-8"
export LC_NUMERIC="en_US.UTF-8"
export LC_TIME="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

##NOTE##
# This is a local drive location I can write, you should be able
# to just set to a subfolder of your HPC home/scratch directory
export TMPDIR="/ddn/data/${USER}/rstudio-tmp"

mkdir -p "$TMPDIR/tmp/rstudio-server"
uuidgen > "$TMPDIR/tmp/rstudio-server/secure-cookie-key"
chmod 0600 "$TMPDIR/tmp/rstudio-server/secure-cookie-key"

mkdir -p "$TMPDIR/var/lib"
mkdir -p "$TMPDIR/var/run"

# Also bind data directory on the host into the Singularity container.
# By default the only host file systems mounted within the container are $HOME, /tmp, /proc, /sys, and /dev.
##NOTE##
# You may need here just to replace the fourth bind option, or drop
singularity exec \
  --bind="$TMPDIR/var/lib:/var/lib/rstudio-server" \
  --bind="$TMPDIR/var/run:/var/run/rstudio-server" \
  --bind="$TMPDIR/tmp:/tmp" \
  --bind=/ddn/data/${USER} \
  data/rstudio.simg \
  rserver --www-port ${PORT} --auth-none=0 --auth-pam-helper-path=pam-helper --auth-timeout-minutes=0 --auth-stay-signed-in-days=30
printf 'rserver exited' 1>&2

Note I needed to add all the locale stuff too, to avoid endless locale warnings ... this is also a comparatively new problem which didn't happen with earlier Singularity invocations of the rocker containers, but is easily fixed.

Hope the above might help someone else out there! 😄

louisaslett avatar Mar 16 '21 00:03 louisaslett

Hi. I met this problem after I killed the process cause I can't stop rstudio-server (Warning as blow). Operation not permitted start-stop-daemon: cannot remove pidfile '/var/run/rstudio-server.pid' (Permission denied) Given the first time I can start rstudio-server I removed and reinstalled it. Somehow it worked! LOL Have a good day!

Tutu-Shi avatar May 08 '21 09:05 Tutu-Shi

Just wanted to add this as the above script worked decently in the past but fails with more recent versions such as Bioconductor 3.14 and Rocker 4.1.2 images, error like:

2022-01-18T11:46:38.887705Z [rserver] ERROR Attempt to run server as user 'rstudio-server' (uid 999) from account <username> (uid 10036829) without privilege, which is required to run as a different uid; LOGGED FROM: virtual rstudio::core::ProgramStatus rstudio::server::Options::read(int, char* const*, std::ostream&) src/cpp/server/ServerOptions.cpp:322
rserver exited

Solution as indicated in https://github.com/grst/rstudio-server-conda/pull/18 is to simply add --server-user ${USER} to the rserver command that is passed to singularity exec like:

rserver --server-user ${USER} --www-port ${PORT} --auth-none=0 --auth-pam-helper-path=pam-helper --auth-timeout-minutes=0 --auth-stay-signed-in-days=30

Works for me, hope it helps others.

ATpoint avatar Jan 18 '22 11:01 ATpoint

When running e.g. Bioc 3.14 on a HPC via Singularity with the command as in my previous comment I now at times get lots of log messages like below. R keeps running and I can continue analysis, just wondering what this is. Any insights?

2022-01-24T10:09:41.439311Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:09:41.439411Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:09:41.439475Z [rsession-a_toen03] ERROR r error 5 (R symbol not found) [symbol: .rs.extractRCode]; OCCURRED AT rstudio::core::Error rstudio::r::exec::RFunction::call(SEXP, bool, SEXPREC**, rstudio::r::sexp::Protect*) src/cpp/r/RExec.cpp:475; LOGGED FROM: void rstudio::session::modules::code_search::RSourceIndexes::update(const rstudio_boost::shared_ptr<rstudio::session::source_database::SourceDocument>&) src/cpp/session/modules/SessionCodeSearch.cpp:997
	OK [built from source]
Moving DropletUtils [1.14.2] into the cache ...
2022-01-24T10:10:19.913657Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:19.913716Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
*** recursive gc invocation
2022-01-24T10:10:20.114021Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:20.114156Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:20.314337Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:20.314451Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:20.514629Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:20.514747Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:20.715002Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:20.715128Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:20.915389Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:20.915491Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:21.115677Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:21.115774Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:21.315952Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:21.316080Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:21.516270Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:21.516372Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:21.716564Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:21.716681Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140
2022-01-24T10:10:21.916918Z [rsession-a_toen03] ERROR R.getOption: rstudio.errors.suppressed made from non-main thread; LOGGED FROM: SEXPREC* rstudio::r::options::getOption(const string&) src/cpp/r/ROptions.cpp:83
2022-01-24T10:10:21.917017Z [rsession-a_toen03] ERROR evaluateExpression called from thread other than main; LOGGED FROM: rstudio::core::Error rstudio::r::exec::{anonymous}::evaluateExpressionsUnsafe(SEXP, SEXP, SEXPREC**, rstudio::r::sexp::Protect*, rstudio::r::exec::{anonymous}::EvalType) src/cpp/r/RExec.cpp:140

ATpoint avatar Jan 24 '22 10:01 ATpoint

This should be fixed on the newer images (?) Can you make sure you are pulling the latest image?

RStudio logs are set in /etc/rstudio/logging.conf. Until recently logger-type had been set to stderr instead of syslog in our RStudio 1.4.x images resulting in all system warnigns being reported to the R console stderr

cboettig avatar Jan 24 '22 16:01 cboettig

Hello. We recently renewed the Rocker Project website and rewrote most of the articles. However, I don't use Singularity, so the page for Singularity is left as is. It would be great if someone who uses rocker/rstudio with singularity could update this article.

https://rocker-project.org/use/singularity.html

eitsupi avatar Jul 22 '22 15:07 eitsupi

Thanks @eitsupi . I believe @nathanweeks contributed the original documentation there https://github.com/rocker-org/website/pull/5 . Thanks everyone for the community effort, PRs welcome!

cboettig avatar Jul 22 '22 16:07 cboettig

@eitsupi Is the primary goal to update the article for compatibility with a newer rocker/rstudio, or is there anything else that should be considered (e.g., new style / formatting conventions)?

nathanweeks avatar Jul 24 '22 10:07 nathanweeks

@eitsupi Is the primary goal to update the article for compatibility with a newer rocker/rstudio, or is there anything else that should be considered (e.g., new style / formatting conventions)?

@nathanweeks Thanks for replying. The format can be modified by us and we would be happy to update the contents for the new version of RStudio Server (rocker/rstudio).

eitsupi avatar Jul 24 '22 10:07 eitsupi

Thanks to @frederikziebell, the usage page of the Rocker project site is updated! (rocker-org/website#66) So close this for now.

eitsupi avatar Sep 14 '22 10:09 eitsupi