Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
koetjen opened this issue Jan 27, 2021 · 27 comments
Closed

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

koetjen opened this issue Jan 27, 2021 · 27 comments
Labels

Comments

@koetjen
Copy link

koetjen commented Jan 27, 2021

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 koetjen changed the title RStudio 1.4 and S6 v2.1.0.2 error RStudio 1.4 and S6 v2.1.0.2 permissions error Jan 27, 2021
@cecabrera
Copy link

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

@Jake-Gillberg
Copy link

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

@mcg1969
Copy link

mcg1969 commented Feb 2, 2021

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

@cboettig
Copy link
Member

cboettig commented Feb 8, 2021

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

@mcg1969
Copy link

mcg1969 commented Feb 8, 2021

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.

@cboettig
Copy link
Member

cboettig commented Feb 8, 2021

@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?

@mcg1969
Copy link

mcg1969 commented Feb 8, 2021

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.

@Jake-Gillberg
Copy link

Jake-Gillberg commented Feb 9, 2021

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}

@mcg1969
Copy link

mcg1969 commented Feb 9, 2021

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.

@cboettig
Copy link
Member

cboettig commented Feb 9, 2021

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

@alexthiery
Copy link

alexthiery commented Feb 10, 2021

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

@sidorov-si
Copy link

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.

@mfakaehler
Copy link

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.

@davidspek
Copy link

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).

kubeflow/kubeflow#5624

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

kubeflow/kubeflow#5622

@cboettig
Copy link
Member

cboettig commented Mar 5, 2021

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!

@davidspek
Copy link

@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
Copy link

@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.

@louisaslett
Copy link

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! 😄

@Tutu-Shi
Copy link

Tutu-Shi commented May 8, 2021

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!

@ATpoint
Copy link

ATpoint commented Jan 18, 2022

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 grst/rstudio-server-conda#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
Copy link

ATpoint commented Jan 24, 2022

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

@cboettig
Copy link
Member

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

@eitsupi eitsupi changed the title RStudio 1.4 and S6 v2.1.0.2 permissions error [Singularity] RStudio 1.4 and S6 v2.1.0.2 permissions error Feb 19, 2022
@eitsupi eitsupi pinned this issue Feb 19, 2022
@eitsupi eitsupi added the help wanted Extra attention is needed label Jun 4, 2022
@eitsupi
Copy link
Member

eitsupi commented Jul 22, 2022

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

@cboettig
Copy link
Member

cboettig commented Jul 22, 2022

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

@nathanweeks
Copy link

@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)?

@eitsupi
Copy link
Member

eitsupi commented Jul 24, 2022

@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
Copy link
Member

eitsupi commented Sep 14, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests