sofianhamiti / amazon-sagemaker-notebook-instance-lifecycle-config-theia

Install the Theia IDE on Amazon SageMaker Notebook Instances using a Lifecycle Configuration
Apache License 2.0
3 stars 3 forks source link

Internal Service Error when I try to create Theia #3

Closed mimiga1234 closed 2 years ago

mimiga1234 commented 3 years ago

I followed the article you shared in the medium. I was able to see the Theia option in the dropdown menu when I clicked + in the SageMaker notebook instance. However, it showed "500: Internal Server Error" after I tried to create a Theia. Not sure if is related to any permission issue internally within our organization (I already reached out to internal people). Thanks for sharing the article and it is very helpful.

Screen Shot 2021-10-14 at 10 16 36 AM

u

Screen Shot 2021-10-14 at 10 18 01 AM

l.

mimiga1234 commented 3 years ago

@SofianHamiti Sorry but any update on this issue?

skipwen2008 commented 2 years ago

+1 same error

wallo-zz commented 2 years ago

I have experienced the same, tried to fix it but didn't work out. Here's what I learned:

I noticed when going through the lifecycleConfigOnStart logs that the node module oniguruma failed due to: g++: error: unrecognized command line option ‘-std=c++17’

After upgrading gcc to 8.2.1 using sudo yum localinstall -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm sudo yum localinstall -y http://mirror.centos.org/centos/7/os/x86_64/Packages/scl-utils-20130529-19.el7.x86_64.rpm sudo yum localinstall -y http://mirror.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-8-gcc-c++-8.2.1-3.el7.x86_64.rpm

scl enable devtoolset-8 bash gcc --version

I was able to complete the installation of theia succesfully, but I got issues when trying to restart the jupyter server.

What I did notice is that running the same scripts on the Amazon Linux 2 (notebook-al2-v1) do not throw any errors, but restarting the server fails as well. In both cases, the resulting errors seem the same for notebook-al2-v1 and notebook-al1-v1. They are as follows:

2022-01-20T12:46:07.031+01:00 | [W 11:46:06.680 NotebookApp] Failed to fetch commands from language server spec finder bash-language-server: Duplicated timeseries in CollectorRegistry: {'http_request_duration_seconds_count', 'http_request_duration_seconds', 'http_request_duration_seconds_bucket', 'http_request_duration_seconds_sum', 'http_request_duration_seconds_created'}   | 2022-01-20T12:46:07.031+01:00 | Traceback (most recent call last): File "/home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/traitlets/traitlets.py", line 537, in get value = obj._trait_values[self.name]   | 2022-01-20T12:46:07.031+01:00 | KeyError: 'node_roots'   | 2022-01-20T12:46:07.031+01:00 | During handling of the above exception, another exception occurred:   | 2022-01-20T12:46:07.031+01:00 | Traceback (most recent call last): File "/home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/jupyter_server/prometheus/metrics.py", line 12, in from notebook.prometheus.metrics import (   | 2022-01-20T12:46:07.031+01:00 | ModuleNotFoundError: No module named 'notebook.prometheus'   | 2022-01-20T12:46:07.031+01:00 | During handling of the above exception, another exception occurred:

and this goes on for about ~40 ish times.

Any updates regarding these scripts on either notebook-al2-v1 or notebook-al1-v1 would be of great use

sofianhamiti commented 2 years ago

Hi there, apologies for the late response.

This Theia approach has been fairly challenging to work with and maintain over time.

Hosting VSCode on SageMaker Studio should be a better for you the long term, as it installs proper VSCode and has larger community.