easybuild-easyconfigs icon indicating copy to clipboard operation
easybuild-easyconfigs copied to clipboard

{lang}[GCCcore/11.3.0] RStudio-Server v2022.07.1+554, yaml-cpp v0.7.0, SOCI v4.0.3, ...

Open Flamefire opened this issue 2 years ago • 4 comments

(created using eb --new-pr)

This would benefit from https://github.com/easybuilders/easybuild-framework/pull/4073

Flamefire avatar Aug 04 '22 16:08 Flamefire

Test report by @Flamefire SUCCESS Build succeeded for 5 out of 5 (5 easyconfigs in total) taurusa14 - Linux CentOS Linux 7.7.1908, x86_64, Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz (broadwell), 3 x NVIDIA GeForce GTX 1080 Ti, 460.32.03, Python 2.7.5 See https://gist.github.com/d46dc1c0df7aff0fc64fb6fa2f595629 for a full test report.

Flamefire avatar Aug 15 '22 16:08 Flamefire

Test report by @Flamefire SUCCESS Build succeeded for 3 out of 3 (3 easyconfigs in total) taurusa8 - Linux CentOS Linux 7.7.1908, x86_64, Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz (broadwell), 3 x NVIDIA GeForce GTX 1080 Ti, 460.32.03, Python 2.7.5 See https://gist.github.com/dbe5b65cc9d7b1ca783ae96b588fd9b6 for a full test report.

Flamefire avatar Oct 17 '22 10:10 Flamefire

Test report by @Flamefire SUCCESS Build succeeded for 3 out of 3 (3 easyconfigs in total) taurusa8 - Linux CentOS Linux 7.7.1908, x86_64, Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz (broadwell), 3 x NVIDIA GeForce GTX 1080 Ti, 460.32.03, Python 2.7.5 See https://gist.github.com/a290ec6e8d8b2efa65dbd9c8ec77cae8 for a full test report.

Flamefire avatar Oct 17 '22 11:10 Flamefire

@Flamefire: Tests failed in GitHub Actions, see https://github.com/easybuilders/easybuild-easyconfigs/actions/runs/3264609878 Output from first failing test suite run:

FAIL: test__parse_easyconfig_RStudio-Server-2022.07.1+554-foss-2022a-Java-11-R-4.2.1.eb (test.easyconfigs.easyconfigs.EasyConfigTest)
Test for easyconfig RStudio-Server-2022.07.1+554-foss-2022a-Java-11-R-4.2.1.eb
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/easyconfigs/easyconfigs.py", line 1502, in innertest
    template_easyconfig_test(self, spec_path)
  File "test/easyconfigs/easyconfigs.py", line 1477, in template_easyconfig_test
    self.fail(error_msg)
AssertionError: use of `True` to indicate the system toolchain for dependency ant is deprecated, use the `SYSTEM` template constant instead

----------------------------------------------------------------------
Ran 15505 tests in 684.779s

FAILED (failures=1)
ERROR: Not all tests were successful

bleep, bloop, I'm just a bot (boegelbot v20200716.01) Please talk to my owner @boegel if you notice you me acting stupid), or submit a pull request to https://github.com/boegel/boegelbot fix the problem.

boegelbot avatar Oct 17 '22 14:10 boegelbot

Rebased and integrated the change. I know about that but this has been open for so long now, it hasn't been decided yet when the PR was opened

Flamefire avatar Oct 18 '22 07:10 Flamefire

Test report by @verdurin FAILED Build succeeded for 3 out of 4 (3 easyconfigs in total) easybuild-c7.novalocal - Linux CentOS Linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8 See https://gist.github.com/f3a938548057381f347c424933d73970 for a full test report.

verdurin avatar Oct 18 '22 11:10 verdurin

Sanity check failed: sanity check command MYTMP=`mktemp -d` && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd" exited with code 1 (output: )

Not output but exit code 1. Any idea? Can you try to run it manually and see what fails? @verdurin

Flamefire avatar Oct 18 '22 11:10 Flamefire

Here's what I see from trying to run that sanity check manually:

MYTMP=`mktemp -d` && echo -e "provider=sqlite\\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && ./rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd"
TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/home/software/.local/share/rstudio/log/rserver.log'.
2022-10-18T12:17:29.973884Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/secure-cookie-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: rstudio::core::Error rstudio::core::{anonymous}::openFileForWritingWithRetry(const rstudio::core::FilePath&, bool, int, std::shared_ptr<std::basic_ostream<char> >*) src/cpp/core/FileSerializer.cpp:73
2022-10-18T12:17:29.974257Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/secure-cookie-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:713

verdurin avatar Oct 18 '22 12:10 verdurin

@verdurin There is a duplicated slash in your command. It should be
MYTMP=mktemp -d && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd"

Check the created db.conf file that it looks like this:

provider=sqlite
directory=/tmp/foobar/db

Flamefire avatar Oct 18 '22 12:10 Flamefire

Here you go:

MYTMP=`mktemp -d` && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && ./rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd"
TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/home/software/.local/share/rstudio/log/rserver.log'.
2022-10-18T12:36:36.319932Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/secure-cookie-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: rstudio::core::Error rstudio::core::{anonymous}::openFileForWritingWithRetry(const rstudio::core::FilePath&, bool, int, std::shared_ptr<std::basic_ostream<char> >*) src/cpp/core/FileSerializer.cpp:73
2022-10-18T12:36:36.320690Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/secure-cookie-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:713
[software@easybuild-c7 bin]$ cat $MYTMP/db.conf
provider=sqlite
directory=/tmp/tmp.7C6kfikcwe/db

verdurin avatar Oct 18 '22 12:10 verdurin

Thanks, that helped finding the issue. Try with

MYTMP=`mktemp -d` && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && ./rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd" --secure-cookie-key-file="$MYTMP/secure-cookie-key"

And if that works, run the sanity check (only) of the updated PR (or a full rebuild if you like)

Flamefire avatar Oct 18 '22 14:10 Flamefire

Test report by @verdurin FAILED Build succeeded for 49 out of 51 (3 easyconfigs in total) centos7.lan - Linux CentOS Linux 7.9.2009, x86_64, Intel Core Processor (Skylake, IBRS), Python 3.6.8 See https://gist.github.com/086e6c2d0819b1a3244671f94ce4e17c for a full test report.

verdurin avatar Oct 18 '22 19:10 verdurin

A different error this time:

 MYTMP=`mktemp -d` && echo -e "provider=sqlite\ndirectory=$MYTMP/db" >> "$MYTMP/db.conf" && ./rserver --verify-installation=1 --server-user="$USER" --database-config-file="$MYTMP/db.conf" --server-data-dir="$MYTMP/sdd" --secure-cookie-key-file="$MYTMP/secure-cookie-key"

TTY detected. Printing informational message about logging configuration. Logging configuration loaded from '/etc/rstudio/logging.conf'. Logging to '/home/software/.local/share/rstudio/log/rserver.log'.

2022-10-19T08:51:12.834588Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/session-rpc-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: rstudio::core::Error rstudio::core::{anonymous}::openFileForWritingWithRetry(const rstudio::core::FilePath&, bool, int, std::shared_ptr<std::basic_ostream<char> >*) src/cpp/core/FileSerializer.cpp:73

2022-10-19T08:51:12.834940Z [rserver] ERROR system error 2 (No such file or directory) [path: /tmp/rstudio-server/session-rpc-key]; OCCURRED AT rstudio::core::Error rstudio::core::FilePath::openForWrite(std::shared_ptr<std::basic_ostream<char> >&, bool) const src/cpp/shared_core/FilePath.cpp:1520; LOGGED FROM: int main(int, char* const*) src/cpp/server/ServerMain.cpp:786

verdurin avatar Oct 19 '22 08:10 verdurin

Ok worked on this again and tried with a readonly /tmp/rstudio-server directory. Should now be fixed. If that requires even more to be done for the check then we likely need an easyblock ;-)

Flamefire avatar Oct 20 '22 14:10 Flamefire

Test report by @verdurin SUCCESS Build succeeded for 1 out of 1 (3 easyconfigs in total) easybuild-c7.novalocal - Linux CentOS Linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8 See https://gist.github.com/a340934bb0f1136e7c84fad2b72d9174 for a full test report.

verdurin avatar Oct 20 '22 14:10 verdurin

@boegelbot please test @ generoso

verdurin avatar Oct 20 '22 15:10 verdurin

@verdurin: Request for testing this PR well received on login1

PR test command 'EB_PR=15967 EB_ARGS= /opt/software/slurm/bin/sbatch --job-name test_PR_15967 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 9328

Test results coming soon (I hope)...

- notification for comment with ID 1285728903 processed

Message to humans: this is just bookkeeping information for me, it is of no use to you (unless you think I have a bug, which I don't).

boegelbot avatar Oct 20 '22 15:10 boegelbot

Test report by @boegelbot SUCCESS Build succeeded for 3 out of 3 (3 easyconfigs in total) cns5 - Linux Rocky Linux 8.5, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8 See https://gist.github.com/ddec531d67c4ddbd287fff63579c62ff for a full test report.

boegelbot avatar Oct 20 '22 15:10 boegelbot

@Flamefire thanks for your efforts here. Could you send an updated build from your site too?

verdurin avatar Oct 20 '22 16:10 verdurin

I suggest to upgrade this PR with #16426 and take useful module help. Otherwise, excellent EB and patches.

kosl avatar Oct 21 '22 12:10 kosl

I suggest to upgrade this PR with https://github.com/easybuilders/easybuild-easyconfigs/pull/16426 and take useful module help.

@kosl Sorry I don't understand, what should I take from there? Or do you just mean that this PR should use the newer version v2022.07.2-576?

@verdurin This PR has been open for a while. I could submit a new test, a bit reluctant upgrading the version as I extensively tested this with the help of others in Slack. Anyway: Which version do we want to go with and does anything else needs changing adding?

Flamefire avatar Oct 21 '22 15:10 Flamefire

@Flamefire I just mentioned your PR to @kosl because he had some problems with his own PR. There's no reason for you to change this - we can handle other versions separately.

As I mentioned above, would be good to see a fresh build from you, then I think it's good to be merged.

verdurin avatar Oct 21 '22 15:10 verdurin

@Flamefire I suggested just to add some help to users such as:

The server can be started with:
  MYTMP=`mktemp -d` && trap "rm -rf ${MYTMP}" INT QUIT ABRT KILL TERM CHLD && \\
   echo -e "provider=sqlite\\ndirectory=${MYTMP}/sqlite" > ${MYTMP}/db.conf && \\
   rserver --server-daemonize=0 --www-port=8787 --rsession-which-r=$(which R) \\
    --server-user=${USER} --secure-cookie-key-file=${MYTMP}/secure-cookie-key \\
    --server-data-dir=${MYTMP}/sdd --database-config-file=${MYTMP}/db.conf 

No need to upgrade if too much hassle.

kosl avatar Oct 21 '22 16:10 kosl

Test report by @Flamefire SUCCESS Build succeeded for 3 out of 3 (3 easyconfigs in total) taurusa8 - Linux CentOS Linux 7.7.1908, x86_64, Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz (broadwell), 3 x NVIDIA GeForce GTX 1080 Ti, 460.32.03, Python 2.7.5 See https://gist.github.com/82e4c2f5ea51a71d08786adf5cf28637 for a full test report.

Flamefire avatar Oct 24 '22 09:10 Flamefire

Also PR for the newer version: #16478

Flamefire avatar Oct 24 '22 12:10 Flamefire

Test report by @verdurin SUCCESS Build succeeded for 3 out of 3 (3 easyconfigs in total) easybuild-c7.novalocal - Linux CentOS Linux 7.9.2009, x86_64, Intel Xeon Processor (Skylake, IBRS), Python 3.6.8 See https://gist.github.com/db3537e51edbc74e13d00731047f3216 for a full test report.

verdurin avatar Nov 04 '22 15:11 verdurin

As #16478 is now merged, I guess this can be closed? Or is there interest in having this?

Flamefire avatar Nov 22 '22 09:11 Flamefire