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

Segmentation Fault on jupyter qtconsole #585

Closed
SoundsSerious opened this issue Sep 27, 2023 · 10 comments
Closed

Segmentation Fault on jupyter qtconsole #585

SoundsSerious opened this issue Sep 27, 2023 · 10 comments

Comments

@SoundsSerious
Copy link

Hi I'm a long time user of qtconsole but this problem is stumping me.

My environment which was working previously suddenly began experiencing segmentation faults on python 3.9.12 Window system linux Ubuntu20.04.

I removed anaconda and tried again but the issue persisted each time with a fresh conda install qtconsole. I installed Ubuntu 22.04 , verified x11 (via xeyes) and finally got qtconsole working with the default python 3.11. I made a new conda environment and tried again with python 3.9.12 and got the following error as before.

jupyter qtconsole --debug
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-olly'
[JupyterQtConsoleApp] Searching ['/home/olly/miniconda3/envs/nept/etc/jupyter', '/home/olly/.jupyter', '/home/olly/.local/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[JupyterQtConsoleApp] Looking for jupyter_config in /etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /usr/local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/.local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/.jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/miniconda3/envs/nept/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /usr/local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/.local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/.jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/miniconda3/envs/nept/etc/jupyter
[JupyterQtConsoleApp] Connection File not found: /home/olly/.local/share/jupyter/runtime/kernel-23913.json
[JupyterQtConsoleApp] Instantiating kernel 'Python 3 (ipykernel)' with kernel provisioner: local-provisioner
[JupyterQtConsoleApp] Starting kernel: ['/home/olly/miniconda3/envs/nept/bin/python', '-m', 'ipykernel_launcher', '-f', '/home/olly/.local/share/jupyter/runtime/kernel-23913.json']
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:36953
[JupyterQtConsoleApp] connecting shell channel to tcp://127.0.0.1:41393
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:41393
[JupyterQtConsoleApp] connecting iopub channel to tcp://127.0.0.1:53547
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:53547
[JupyterQtConsoleApp] connecting stdin channel to tcp://127.0.0.1:33207
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:33207
[JupyterQtConsoleApp] connecting heartbeat channel to tcp://127.0.0.1:36177
[JupyterQtConsoleApp] connecting control channel to tcp://127.0.0.1:36953
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:36953
Segmentation fault
@SoundsSerious
Copy link
Author

The working qtconsole startup looks like this

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-olly'
[JupyterQtConsoleApp] Searching ['/home/olly/miniconda3/envs/nept11/etc/jupyter', '/home/olly/.jupyter', '/home/olly/.local/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[JupyterQtConsoleApp] Looking for jupyter_config in /etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /usr/local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/.local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/.jupyter
[JupyterQtConsoleApp] Looking for jupyter_config in /home/olly/miniconda3/envs/nept11/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /usr/local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/.local/etc/jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/.jupyter
[JupyterQtConsoleApp] Looking for jupyter_qtconsole_config in /home/olly/miniconda3/envs/nept11/etc/jupyter
[JupyterQtConsoleApp] Connection File not found: /home/olly/.local/share/jupyter/runtime/kernel-25136.json
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
[JupyterQtConsoleApp] Instantiating kernel 'Python 3 (ipykernel)' with kernel provisioner: local-provisioner
[JupyterQtConsoleApp] Starting kernel: ['/home/olly/miniconda3/envs/nept11/bin/python', '-m', 'ipykernel_launcher', '-f', '/home/olly/.local/share/jupyter/runtime/kernel-25136.json']
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:36141
[JupyterQtConsoleApp] connecting shell channel to tcp://127.0.0.1:40899
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:40899
[JupyterQtConsoleApp] connecting iopub channel to tcp://127.0.0.1:53845
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:53845
[JupyterQtConsoleApp] connecting stdin channel to tcp://127.0.0.1:55035
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:55035
[JupyterQtConsoleApp] connecting heartbeat channel to tcp://127.0.0.1:37173
[JupyterQtConsoleApp] connecting control channel to tcp://127.0.0.1:36141
[JupyterQtConsoleApp] Connecting to: tcp://127.0.0.1:36141
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
[JupyterQtConsoleApp] Received history reply with 0 entries

@SoundsSerious
Copy link
Author

Verifying qtconsole also works on 3.10.13

@SoundsSerious
Copy link
Author

I believe I found the root cause which is related to https://github.com/matplotlib/basemap

using conda install -c conda-forge basemap basemap-data basemap-data-hires lxml the following message is displayed about changing packages, presumably one of these conflicts with qtconsole as this can reliably replicate the error.

The following packages will be REMOVED:

  libgomp-11.2.0-h1234567_1

The following packages will be UPDATED:

  libgcc-ng          pkgs/main::libgcc-ng-11.2.0-h1234567_1 --> conda-forge::libgcc-ng-13.2.0-h807b86a_2
  libstdcxx-ng       pkgs/main::libstdcxx-ng-11.2.0-h12345~ --> conda-forge::libstdcxx-ng-13.2.0-h7e041cc_2
  openssl              pkgs/main::openssl-3.0.11-h7f8727e_2 --> conda-forge::openssl-3.1.3-hd590300_0

The following packages will be SUPERSEDED by a higher-priority channel:

  _libgcc_mutex           pkgs/main::_libgcc_mutex-0.1-main --> conda-forge::_libgcc_mutex-0.1-conda_forge
  _openmp_mutex          pkgs/main::_openmp_mutex-5.1-1_gnu --> conda-forge::_openmp_mutex-4.5-2_kmp_llvm
  ca-certificates    pkgs/main::ca-certificates-2023.08.22~ --> conda-forge::ca-certificates-2023.7.22-hbcca054_0
  certifi            pkgs/main/linux-64::certifi-2023.7.22~ --> conda-forge/noarch::certifi-2023.7.22-pyhd8ed1ab_0

@SoundsSerious
Copy link
Author

I have temporarily found a workaround by using the conda install --no-deps option to not include additional dependencies, which potentially can cause new problems.

@ccordoba12
Copy link
Collaborator

ccordoba12 commented Sep 27, 2023

@SoundsSerious, the problem is you're mixing packages from conda-forge with those from the defaults channel. To avoid that, I'd suggest you to reininstall Anaconda (if you're using its base environment) and then create a new one only with conda-forge packages.

@SoundsSerious
Copy link
Author

SoundsSerious commented Sep 27, 2023

@ccordoba12 I've closed this issue as I think its probably closer to basemap maintenance which is a recurring issue. I've tried this but the problem persits, I had hoped that conda would identify the correct underlying c-libs but it looks like this might not work as intened.

Steps to reproduce the error

conda env remove nept -y
conda create -n nept python=3.9.12 -y
conda activate nept
conda install -c conda-forge basemap qtconsole -y
jupyter qtconsole

@ccordoba12
Copy link
Collaborator

The problem is in this command, I think:

conda create -n nept python=3.9.12 -y

It needs to be

conda create -n nept -c conda-forge python=3.9.12 -y

because you need to install everything from conda-forge.

@SoundsSerious
Copy link
Author

Awesome, thanks, I'll try this!

@SoundsSerious
Copy link
Author

@ccordoba12 I tried this an unfortunately It didn't work. Same problem as before

@ccordoba12
Copy link
Collaborator

Ok, sorry to hear that. Then it's nice that you found a workaround for this problem.

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

No branches or pull requests

2 participants