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

Invokation of certain methods result in an immediate crash of the python interpreter: Illegal instruction (core dumped) #811

Closed
1kastner opened this issue Feb 15, 2019 · 25 comments
Labels
type:Question A question about the use of the docker stack images

Comments

@1kastner
Copy link

Hi! Thanks for using the Jupyter Docker Stacks.

What docker image you are using?

jupyter/scipy-notebook

What complete docker command do you run to launch the container (omitting sensitive values)?

Have it started by an image derived and only slightly altered from jupyterhub/jupyterhub running version 0.9.4

What steps do you take once the container is running to reproduce the issue?

Tell matplotlib to plot anything, e.g.

import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)

What actually happens?

In JupyterHub the kernel just crashes and needs to be restarted, the ipython output looks like this:

jovyan@0a5922c8e6a5:~$ ipython
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import matplotlib.pyplot as plt
   ...: import numpy as np
   ...: t = np.arange(0.0, 2.0, 0.01)
   ...: s = 1 + np.sin(2*np.pi*t)
   ...: plt.plot(t, s)
Illegal instruction (core dumped)
jovyan@0a5922c8e6a5:~$

For more communication and details see jupyterhub/jupyterhub#2411

@1kastner
Copy link
Author

At matplotlib/matplotlib#13458 it was said that the reason for the crash should be found here.

@parente
Copy link
Member

parente commented Feb 19, 2019

matplotlib/matplotlib#13458 (comment) suggests the stock jupyter/scipy-notebook image is working (or was working, given we don't know what latest is pointing to on the commenter's machine.

Have it started by an image derived and only slightly altered from jupyterhub/jupyterhub running version 0.9.4

@1kastner can you explain or share the alterations?

@1kastner
Copy link
Author

@parente I copy some local files into the image, add a label etc.
Sharing them is sadly not possible. But there is no installation via apt-get, conda, pip or any other software.

@1kastner
Copy link
Author

The latest guess at the other thread was that the nesting inside a not-suitably-configured VM might be the deal-breaker.

The nesting on the problematic machine is:
cluster => virtual machine => docker

Elsewhere it is:
Windows => docker

I will check whether the VM used at the cluster provides some kind of CPU which is not supported by the binaries installed through conda.

@1kastner
Copy link
Author

I could temporarily solve the issue by noting:
FROM jupyter/scipy-notebook:987a0d33791b
instead of the latest image.

@1kastner
Copy link
Author

1kastner commented Feb 21, 2019

Btw, the same error popped up when I was using scikit-learn. For example the MlpRegressor fitting resulted in the same error.

@1kastner 1kastner changed the title matplotlib: plotting results in Illegal instruction (core dumped) Invokation of certain methods result in an immediate crash of the python interpreter: Illegal instruction (core dumped) Feb 21, 2019
@parente
Copy link
Member

parente commented Feb 21, 2019

Here's what I get from running the matplotlib code in an ipython shell using the latest scipy-notebook image on my local VM. All versions / SHAs are shown in the log below for comparison. The result is what I would expect: matplotlib fails to use the default backend because there is no X session running in the container.

❯❯❯ uname -a
Linux vm4-002 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

❯❯❯ docker version
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.10.6
 Git commit:        4c52b90
 Built:             Wed Jan  9 19:35:23 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       4c52b90
  Built:            Wed Jan  9 19:02:44 2019
  OS/Arch:          linux/amd64
  Experimental:     false

❯❯❯ docker inspect jupyter/scipy-notebook -f "{{ .RepoDigests }}"
[jupyter/scipy-notebook@sha256:1b24091d595eb6ddf1c4b04c2a161cd138b1bb65b0dc1f440e0e9799bf77e43f]

❯❯❯ docker run -it --rm jupyter/scipy-notebook start.sh ipython
Executing the command: ipython
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import matplotlib.pyplot as plt
   ...: import numpy as np
   ...: t = np.arange(0.0, 2.0, 0.01)
   ...: s = 1 + np.sin(2*np.pi*t)
   ...: plt.plot(t, s)
---------------------------------------------------------------------------
TclError                                  Traceback (most recent call last)
<ipython-input-1-f8d1fb1b46c3> in <module>
      3 t = np.arange(0.0, 2.0, 0.01)
      4 s = 1 + np.sin(2*np.pi*t)
----> 5 plt.plot(t, s)

/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in plot(*args, **kwargs)
   3350 @_autogen_docstring(Axes.plot)
   3351 def plot(*args, **kwargs):
-> 3352     ax = gca()
   3353     # Deprecated: allow callers to override the hold state
   3354     # by passing hold=True|False

/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in gca(**kwargs)
    967     matplotlib.figure.Figure.gca : The figure's gca method.
    968     """
--> 969     return gcf().gca(**kwargs)
    970
    971 # More ways of creating axes:

/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in gcf()
    584         return figManager.canvas.figure
    585     else:
--> 586         return figure()
    587
    588

/opt/conda/lib/python3.6/site-packages/matplotlib/pyplot.py in figure(num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear, **kwargs)
    531                                         frameon=frameon,
    532                                         FigureClass=FigureClass,
--> 533                                         **kwargs)
    534
    535         if figLabel:

/opt/conda/lib/python3.6/site-packages/matplotlib/backend_bases.py in new_figure_manager(cls, num, *args, **kwargs)
    159         fig_cls = kwargs.pop('FigureClass', Figure)
    160         fig = fig_cls(*args, **kwargs)
--> 161         return cls.new_figure_manager_given_figure(num, fig)
    162
    163     @classmethod

/opt/conda/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py in new_figure_manager_given_figure(cls, num, figure)
   1044         """
   1045         _focus = windowing.FocusManager()
-> 1046         window = Tk.Tk(className="matplotlib")
   1047         window.withdraw()
   1048

/opt/conda/lib/python3.6/tkinter/__init__.py in __init__(self, screenName, baseName, className, useTk, sync, use)
   2021                 baseName = baseName + ext
   2022         interactive = 0
-> 2023         self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
   2024         if useTk:
   2025             self._loadtk()

TclError: no display name and no $DISPLAY environment variable

If I run docker run -it --rm -p 8888:8888 jupyter/scipy-notebook on the same host and run the same matplotlib code in a jupyter notebook instead, I get the expected result posted here https://gist.github.com/parente/c72c0c134f9072f890eeed5718c694da

@1kastner
Copy link
Author

1kastner commented Feb 22, 2019

The image itself is working, I can use the same image on my Windows computer perfectly. I am not saying that it is as such broken. I would be glad if I had a simple error message like yours which is quite obious to deal with. As said before, the python interpreter crashes, most likely due to issues related to the pre-compiled libraries of conda which do not suit to the local machine.

Therefore, it would be interesting to see whether and how the creation of the image altered. And to figure out why the behavior changed over updates.

@1kastner
Copy link
Author

Other places where illegal instruction was a reason for python to crash (even though at other points):

So maybe it is rather an issue of conda at this place.
But as it is the major tool for installing here, this docker image is affected as well.
But for others who struggle at the same place I can say that the older versions worked and if we stick to that, everything seems to be fine.

@1kastner
Copy link
Author

At numpy/numpy#9532 they mention it as well.
It seems like one needs to work on the virtual machine.

@parente
Copy link
Member

parente commented Feb 28, 2019

conda-forge went through a jump to a new compiler version in recent history. It may be tied to that.

Old versions of the images are always available with git sha's as tags. We can't stick with older versions of packages on master indefinitely, however, for reasons like #819.

@1kastner
Copy link
Author

1kastner commented Mar 7, 2019

I definitely do not want insecure software and at the conda issue (see conda/conda#8373) the option is mentioned that docker might be misconfigured.

@1kastner
Copy link
Author

1kastner commented Mar 8, 2019

Let's see what will show up at https://forums.docker.com/t/70718

@parente parente added the type:Question A question about the use of the docker stack images label Mar 13, 2019
@prusswan
Copy link

prusswan commented Mar 16, 2019

I'm having a similar issue after trying to update numpy/pandas. One of the telltale signs is that import numpy stops to work after one of the conda updates replaced open_blas version of numpy with default. So in my case, it is necessary to upgrade pandas using conda update pandas numpy (idea taken from conda-forge/numpy-feedstock#108).

@1kastner
Copy link
Author

I just stepped through with pdb and found the line where things broke:

> /opt/conda/lib/python3.6/site-packages/matplotlib/transforms.py(2041)scale()
-> [[sx, 0.0, 0.0], [0.0, sy, 0.0], [0.0, 0.0, 1.0]], float)
(Pdb) s
> /opt/conda/lib/python3.6/site-packages/matplotlib/transforms.py(2042)scale()
-> self._mtx = np.dot(scale_mtx, self._mtx)

So yes, most likely it is related to numpy

@1kastner
Copy link
Author

1kastner commented Mar 20, 2019

Sadly your suggestions @prusswan were not successful, thanks anyways.

I derived my image from it and added (1) RUN conda update -y pandas numpy
and (2) RUN conda update -n base conda && conda update -y pandas numpy to it.
The error appeared again in the very same manner.

Those were the updates run:

## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - numpy
    - pandas


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    h5py-2.7.1                 |           py36_2         4.0 MB  conda-forge
    numpy-1.16.2               |   py36h8b7e671_1         4.3 MB  conda-forge
    pandas-0.24.2              |   py36hf484d3e_0        11.1 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        19.4 MB

The following packages will be UPDATED:

  numpy                            1.11.3-py36he5ce36f_1207 --> 1.16.2-py36h8b7e671_1
  pandas                           0.23.4-py36h637b7d7_1000 --> 0.24.2-py36hf484d3e_0

The following packages will be DOWNGRADED:

  h5py                                         2.7.1-py36_3 --> 2.7.1-py36_2

PS: I also tried

conda uninstall blas --force
conda install "blas=*=openblas"

as suggested in conda-forge/numpy-feedstock#108 - No improve either

@1kastner
Copy link
Author

The np.dot operation further leads to numpy/numpy#11517:

This makes it crash:

import numpy as np
A = np.matrix([[1.], [3.]])
B = np.matrix([[2., 3.]])
np.dot(A, B)
import os
os.environ["OPENBLAS_CORETYPE"] = "nehalem"
import numpy as np
A = np.matrix([[1.], [3.]])
B = np.matrix([[2., 3.]])
np.dot(A, B)

And this finally works!

@prusswan
Copy link

I am not sure if you have the correct openblas packages, do you have the hash of the specific docker image you used? From what I can tell, problems start when the mkl/openblas packages get mixed up, and in my case, once I lost the openblas numpy through some update, I cannot get conda to install it again. Right now I am using a slightly older version of jupyter/all-spark-notebook , with these packages:

conda list
# packages in environment at /opt/conda:
#
# Name                    Version                   Build  Channel
_r-mutex                  1.0.0               anacondar_1    defaults
alembic                   0.9.9                      py_0    conda-forge
arrow-cpp                 0.12.1           py36h0e61e49_0    conda-forge
asn1crypto                0.24.0                py36_1003    conda-forge
async_generator           1.10                       py_0    conda-forge
attrs                     18.2.0                     py_0    conda-forge
autovizwidget             0.12.6                   py36_0    anaconda
backcall                  0.1.0                      py_0    conda-forge
beautifulsoup4            4.6.3                 py36_1000    conda-forge
blas                      1.1                    openblas    conda-forge
bleach                    3.0.2                      py_1    conda-forge
bokeh                     0.13.0                py36_1000    conda-forge
boost-cpp                 1.68.0               h3a22d5f_0    conda-forge
bwidget                   1.9.11                        1    defaults
bzip2                     1.0.6                h470a237_2    conda-forge
ca-certificates           2019.3.9             hecc5488_0    conda-forge
cairo                     1.14.12              h276e583_5    conda-forge
certifi                   2019.3.9                 py36_0    conda-forge
cffi                      1.11.5           py36h5e8e0c9_1    conda-forge
chardet                   3.0.4                 py36_1003    conda-forge
cloudpickle               0.5.6                      py_0    conda-forge
conda                     4.6.8                    py36_0    conda-forge
conda-env                 2.6.0                         1    conda-forge
configurable-http-proxy   3.1.0                   node8_1    conda-forge
cryptography              2.5              py36hb7f436b_1    conda-forge
cryptography-vectors      2.3.1                 py36_1000    conda-forge
curl                      7.64.0               h646f8bb_0    conda-forge
cycler                    0.10.0                     py_1    conda-forge
cython                    0.28.5           py36hfc679d8_0    conda-forge
cytoolz                   0.9.0.1          py36h470a237_1    conda-forge
dask-core                 1.0.0                      py_0    conda-forge
dbus                      1.13.0               h3a4f0e9_0    conda-forge
decorator                 4.3.0                      py_0    conda-forge
dill                      0.2.8.2               py36_1000    conda-forge
entrypoints               0.3                   py36_1000    conda-forge
expat                     2.2.5                hfc679d8_2    conda-forge
fastcache                 1.0.2            py36h470a237_1    conda-forge
findspark                 1.3.0                      py_1    conda-forge
fontconfig                2.13.1               h65d0f4c_0    conda-forge
freetype                  2.9.1                h6debe1e_4    conda-forge
gettext                   0.19.8.1             h5e8e0c9_1    conda-forge
glib                      2.56.2               h464dc38_1    conda-forge
gmp                       6.1.2                hfc679d8_0    conda-forge
gmpy2                     2.0.8            py36hb705a9b_2    conda-forge
graphite2                 1.3.13               hfc679d8_0    conda-forge
gsl                       2.2.1           blas_openblashddceaf2_6  [blas_openblas]  conda-forge
gst-plugins-base          1.12.5               hde13a9d_0    conda-forge
gstreamer                 1.12.5               h5856ed1_0    conda-forge
h5py                      2.7.1                    py36_2    conda-forge
harfbuzz                  1.9.0                h04dbb29_1    conda-forge
hdf5                      1.10.1                        2    conda-forge
hdijupyterutils           0.12.6                   py36_0    anaconda
icu                       58.2                 hfc679d8_0    conda-forge
idna                      2.8                   py36_1000    conda-forge
imageio                   2.4.1                 py36_1000    conda-forge
ipykernel                 4.9.0                    py36_0    conda-forge
ipython                   7.2.0           py36h24bf2e0_1000    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                7.4.2                      py_0    conda-forge
jedi                      0.13.2                py36_1000    conda-forge
jinja2                    2.10                       py_1    conda-forge
jpeg                      9c                   h470a237_1    conda-forge
jsonschema                3.0.0a3               py36_1000    conda-forge
jupyter_client            5.2.4                      py_0    conda-forge
jupyter_core              4.4.0                      py_0    conda-forge
jupyterhub                0.9.4                 py36_1000    conda-forge
jupyterlab                0.35.4                   py36_0    conda-forge
jupyterlab_server         0.2.0                      py_0    conda-forge
kiwisolver                1.0.1            py36h2d50403_2    conda-forge
krb5                      1.16.3            hc83ff2d_1000    conda-forge
libcurl                   7.64.0               h01ee5af_0    conda-forge
libedit                   3.1.20170329         haf1bffa_1    conda-forge
libevent                  2.0.22            hb7f436b_1002    conda-forge
libffi                    3.2.1                hfc679d8_5    conda-forge
libgcc                    7.2.0                h69d50b8_2    conda-forge
libgcc-ng                 7.3.0                hdf63c60_0    conda-forge
libgfortran               3.0.0                         1    conda-forge
libgfortran-ng            7.2.0                hdf63c60_3    conda-forge
libiconv                  1.15                 h470a237_4    conda-forge
libpng                    1.6.36               ha92aebf_0    conda-forge
libprotobuf               3.6.1                hd28b015_0    conda-forge
libsodium                 1.0.16               h470a237_1    conda-forge
libssh2                   1.8.0             h1ad7b7a_1003    conda-forge
libstdcxx-ng              7.3.0                hdf63c60_0    conda-forge
libtiff                   4.0.10               he6b73bb_1    conda-forge
libuuid                   2.32.1               h470a237_2    conda-forge
libxcb                    1.13                 h470a237_2    conda-forge
libxml2                   2.9.8                h422b904_5    conda-forge
llvmlite                  0.23.0                   py36_1    conda-forge
make                      4.2.1             h470a237_1003    conda-forge
mako                      1.0.7                      py_1    conda-forge
markupsafe                1.1.0            py36h470a237_0    conda-forge
matplotlib                2.2.3            py36h8e2386c_0    conda-forge
metakernel                0.20.14                    py_0    conda-forge
mistune                   0.8.4            py36h470a237_0    conda-forge
mpc                       1.1.0                hb705a9b_6    conda-forge
mpfr                      4.0.1                h16a7912_0    conda-forge
mpmath                    1.1.0                      py_0    conda-forge
nbconvert                 5.3.1                      py_1    conda-forge
nbformat                  4.4.0                      py_1    conda-forge
ncurses                   6.1                  hfc679d8_2    conda-forge
networkx                  2.2                        py_1    conda-forge
nodejs                    8.10.0                        0    conda-forge
notebook                  5.7.2                 py36_1000    conda-forge
numba                     0.38.1                   py36_0    conda-forge
numexpr                   2.6.9            py36hf8a1672_0    conda-forge
numpy                     1.16.2          py36_blas_openblash1522bff_0  [blas_openblas]  conda-forge
olefile                   0.46                       py_0    conda-forge
openblas                  0.3.3                ha44fe06_1    conda-forge
openssl                   1.0.2r               h14c3975_0    conda-forge
packaging                 18.0                       py_0    conda-forge
pamela                    0.3.0                   py_1001    conda-forge
pandas                    0.24.2           py36hf484d3e_0    conda-forge
pandoc                    2.5                           0    conda-forge
pandocfilters             1.4.2                      py_1    conda-forge
pango                     1.40.14              he752989_2    conda-forge
parquet-cpp               1.5.1                         2    conda-forge
parso                     0.3.1                      py_0    conda-forge
patsy                     0.5.1                      py_0    conda-forge
pcre                      8.41                 hfc679d8_3    conda-forge
pexpect                   4.6.0                 py36_1000    conda-forge
pickleshare               0.7.5                 py36_1000    conda-forge
pillow                    5.4.1            py36hc736899_0    conda-forge
pip                       18.1                  py36_1000    conda-forge
pixman                    0.34.0               h470a237_3    conda-forge
plotly                    3.6.1                    py36_0    anaconda
prometheus_client         0.5.0                      py_0    conda-forge
prompt_toolkit            2.0.7                      py_0    conda-forge
protobuf                  3.6.1            py36hfc679d8_1    conda-forge
pthread-stubs             0.4                  h470a237_1    conda-forge
ptyprocess                0.6.0                 py36_1000    conda-forge
pyarrow                   0.12.1           py36hbbcf98d_0    conda-forge
pycosat                   0.6.3            py36h470a237_1    conda-forge
pycparser                 2.19                       py_0    conda-forge
pycurl                    7.43.0.2         py36hb7f436b_0    defaults
pygments                  2.3.1                      py_0    conda-forge
pykerberos                1.1.14           py36h84109d8_2    anaconda
pyopenssl                 18.0.0                py36_1000    conda-forge
pyparsing                 2.3.0                      py_0    conda-forge
pyrsistent                0.14.9           py36h470a237_0    conda-forge
pysocks                   1.6.8                 py36_1002    conda-forge
python                    3.6.7             hd21baee_1002    conda-forge
python-dateutil           2.7.5                      py_0    conda-forge
python-editor             1.0.3                      py_0    conda-forge
python-oauth2             1.0.1                    py36_0    conda-forge
pytz                      2018.9                     py_0    conda-forge
pywavelets                1.0.1            py36h7eb728f_0    conda-forge
pyyaml                    3.13             py36h470a237_1    conda-forge
pyzmq                     17.1.2           py36hae99301_1    conda-forge
r-askpass                 1.1              r351h96ca727_0    conda-forge
r-assertthat              0.2.0           r351h6115d3f_1001    conda-forge
r-backports               1.1.3            r351hc070d10_0    conda-forge
r-base                    3.5.1                h391c2eb_5    conda-forge
r-base64enc               0.1_3            r351hc070d10_2    conda-forge
r-bh                      1.66.0_1              r351_2001    conda-forge
r-bindr                   0.1.1           r351h6115d3f_1001    conda-forge
r-bindrcpp                0.2.2            r351h9d2a408_1    conda-forge
r-bitops                  1.0_6            r351hc070d10_2    conda-forge
r-broom                   0.5.1           r351h6115d3f_1000    conda-forge
r-cli                     1.0.1           r351h6115d3f_1000    conda-forge
r-colorspace              1.3_2            r351hc070d10_2    conda-forge
r-config                  0.3             r351h6115d3f_1001    conda-forge
r-crayon                  1.3.4           r351h6115d3f_1001    conda-forge
r-curl                    3.2              r351hc070d10_2    conda-forge
r-dbi                     1.0.0           r351h6115d3f_1001    conda-forge
r-dbplyr                  1.2.2           r351h6115d3f_1001    conda-forge
r-digest                  0.6.18           r351hc070d10_0    conda-forge
r-dplyr                   0.7.8            r351h9d2a408_0    conda-forge
r-evaluate                0.12            r351h6115d3f_1000    conda-forge
r-fansi                   0.4.0            r351hc070d10_0    conda-forge
r-forge                   0.1.0           r351h6115d3f_1000    conda-forge
r-generics                0.0.2           r351h6115d3f_1001    conda-forge
r-ggplot2                 3.1.0           r351h6115d3f_1000    conda-forge
r-glue                    1.3.0            r351h470a237_2    conda-forge
r-gtable                  0.2.0           r351h6115d3f_1001    conda-forge
r-htmltools               0.3.6            r351hfc679d8_2    conda-forge
r-htmlwidgets             1.3             r351h6115d3f_1000    conda-forge
r-httpuv                  1.4.5.1          r351hfc679d8_0    conda-forge
r-httr                    1.4.0           r351h6115d3f_1000    conda-forge
r-irdisplay               0.7                   r351_1000    conda-forge
r-irkernel                0.8.14          r351h6115d3f_1000    conda-forge
r-jsonlite                1.6              r351hc070d10_0    conda-forge
r-labeling                0.3             r351h6115d3f_1001    conda-forge
r-later                   0.7.5            r351h9d2a408_0    conda-forge
r-lattice                 0.20_38          r351hc070d10_0    conda-forge
r-lazyeval                0.2.1            r351hc070d10_2    conda-forge
r-magrittr                1.5             r351h6115d3f_1001    conda-forge
r-mass                    7.3_51.1         r351hc070d10_0    conda-forge
r-matrix                  1.2_15           r351hc070d10_0    conda-forge
r-mgcv                    1.8_26           r351hc070d10_0    conda-forge
r-mime                    0.6              r351hc070d10_0    conda-forge
r-munsell                 0.5.0           r351h6115d3f_1001    conda-forge
r-nlme                    3.1_137          r351h364d78e_0    conda-forge
r-openssl                 1.1             r351hff1dc39_1001    conda-forge
r-pbdzmq                  0.3_3            r351hc862886_0    conda-forge
r-pillar                  1.3.1           r351h6115d3f_1000    conda-forge
r-pkgconfig               2.0.2           r351h6115d3f_1001    conda-forge
r-plogr                   0.2.0           r351h6115d3f_1001    conda-forge
r-plyr                    1.8.4            r351h9d2a408_2    conda-forge
r-promises                1.0.1            r351h9d2a408_0    conda-forge
r-purrr                   0.2.5            r351hc070d10_2    conda-forge
r-r2d3                    0.2.3           r351h6115d3f_1000    conda-forge
r-r6                      2.3.0           r351h6115d3f_1000    conda-forge
r-rappdirs                0.3.1            r351hc070d10_2    conda-forge
r-rcolorbrewer            1.1_2           r351h6115d3f_1001    conda-forge
r-rcpp                    1.0.0            r351h9d2a408_0    conda-forge
r-rcurl                   1.95_4.11        r351hc070d10_3    conda-forge
r-repr                    0.19.1          r351h6115d3f_1000    conda-forge
r-reshape2                1.4.3            r351h9d2a408_2    conda-forge
r-rlang                   0.3.0.1          r351h470a237_0    conda-forge
r-rprojroot               1.3_2           r351h6115d3f_1001    conda-forge
r-rstudioapi              0.8             r351h6115d3f_1001    conda-forge
r-scales                  1.0.0            r351h9d2a408_1    conda-forge
r-shiny                   1.2.0                 r351_1000    conda-forge
r-sourcetools             0.1.7            r351hfc679d8_0    conda-forge
r-sparklyr                0.9.3           r351h6115d3f_1000    conda-forge
r-stringi                 1.2.4            r351h9d2a408_1    conda-forge
r-stringr                 1.3.1           r351h6115d3f_1001    conda-forge
r-sys                     2.1             r351h96ca727_1000    conda-forge
r-tibble                  2.0.0            r351hc070d10_0    conda-forge
r-tidyr                   0.8.2            r351h9d2a408_2    conda-forge
r-tidyselect              0.2.5            r351h9d2a408_0    conda-forge
r-utf8                    1.1.4            r351hc070d10_0    conda-forge
r-uuid                    0.1_2            r351hc070d10_1    conda-forge
r-viridislite             0.3.0           r351h6115d3f_1001    conda-forge
r-withr                   2.1.2           r351h6115d3f_1000    conda-forge
r-xml2                    1.2.0            r351h9d2a408_2    conda-forge
r-xtable                  1.8_3                 r351_2000    conda-forge
r-yaml                    2.2.0            r351hc070d10_1    conda-forge
readline                  7.0                  haf1bffa_1    conda-forge
requests                  2.21.0                py36_1000    conda-forge
requests-kerberos         0.12.0                   py36_0    anaconda
retrying                  1.3.3                    py36_2    anaconda
ruamel_yaml               0.15.71          py36h470a237_0    conda-forge
scikit-image              0.14.1           py36hfc679d8_4    conda-forge
scikit-learn              0.20.2          py36_blas_openblash00c3548_400  [blas_openblas]  conda-forge
scipy                     1.1.0           py36_blas_openblashb06ca3d_202  [blas_openblas]  conda-forge
seaborn                   0.9.0                      py_0    conda-forge
send2trash                1.5.0                      py_0    conda-forge
setuptools                40.6.3                   py36_0    conda-forge
sip                       4.18.1           py36hfc679d8_0    conda-forge
six                       1.12.0                py36_1000    conda-forge
sparkmagic                0.12.7                py36_1001    anaconda
spylon                    0.3.0                      py_1    conda-forge
spylon-kernel             0.4.1                   py_1000    conda-forge
sqlalchemy                1.2.15           py36h470a237_0    conda-forge
sqlite                    3.26.0               hb1c47c0_0    conda-forge
statsmodels               0.9.0            py36h7eb728f_0    conda-forge
sympy                     1.1.1                    py36_0    conda-forge
terminado                 0.8.1                 py36_1001    conda-forge
testpath                  0.4.2                 py36_1000    conda-forge
thrift-cpp                0.12.0            h23e226f_1001    conda-forge
tini                      0.18.0               h470a237_1    conda-forge
tk                        8.6.9                ha92aebf_0    conda-forge
tktable                   2.10                 h14c3975_0    defaults
toolz                     0.9.0                      py_1    conda-forge
toree                     0.3.0                    pypi_0    pypi
tornado                   5.1.1            py36h470a237_0    conda-forge
traitlets                 4.3.2                 py36_1000    conda-forge
urllib3                   1.24.1                py36_1000    conda-forge
vincent                   0.4.4                      py_1    conda-forge
wcwidth                   0.1.7                      py_1    conda-forge
webencodings              0.5.1                      py_1    conda-forge
wheel                     0.32.3                   py36_0    conda-forge
widgetsnbextension        3.4.2                 py36_1000    conda-forge
xlrd                      1.2.0                      py_0    conda-forge
xorg-kbproto              1.0.7                h470a237_2    conda-forge
xorg-libice               1.0.9                h470a237_4    conda-forge
xorg-libsm                1.2.3                h8c8a85c_0    conda-forge
xorg-libx11               1.6.6                h470a237_0    conda-forge
xorg-libxau               1.0.8                h470a237_6    conda-forge
xorg-libxdmcp             1.1.2                h470a237_7    conda-forge
xorg-libxext              1.3.3                h470a237_4    conda-forge
xorg-libxrender           0.9.10               h470a237_2    conda-forge
xorg-renderproto          0.11.1               h470a237_2    conda-forge
xorg-xextproto            7.3.0                h470a237_2    conda-forge
xorg-xproto               7.0.31               h470a237_7    conda-forge
xz                        5.2.4                h470a237_1    conda-forge
yaml                      0.1.7                h470a237_1    conda-forge
zeromq                    4.2.5                hfc679d8_6    conda-forge
zlib                      1.2.11               h470a237_3    conda-forge

@1kastner
Copy link
Author

So now I added ENV OPENBLAS_CORETYPE nehalem to my Jupyter Notebook and everything works:

FROM jupyter/scipy-notebook

RUN python3 -m pip install --no-cache jupyterhub==0.9.4

ENV OPENBLAS_CORETYPE nehalem

This is now the minimal Jupyter Notebook I can use on a JupyterHub.

@1kastner
Copy link
Author

@prusswan as it is working now, I will give it a rest. Obviously it is some kind of bug somewhere as I did not setup something myself, it is all self-configured.
I am always building the image fresh from the dockerhub, so no chance that I broke something in some kind of update process myself.
But thank you very much for the conda list, I might still need it at some point.

@1kastner
Copy link
Author

@parente Thank you very much for your patience. I guess my case is too specific so nothing needs to be adjusted on your side.
Therefore, I will close this for the meantime and let's hope the CPU detection will improve over time.
Otherwise I will open a new ticket with a new issue.

@1kastner
Copy link
Author

@prusswan
Copy link

prusswan commented Mar 29, 2019

Just fyi, the issue I encountered is probably this one: conda-forge/openblas-feedstock#60. Not the same issue but related to CPU detection within VMs

Edit: It could be the same issue, just that we get different symptoms - you were able to load numpy except that certain methods failed, while I could not load numpy at all

@1kastner
Copy link
Author

Your explanation seems likely to me.

@1kastner
Copy link
Author

1kastner commented May 1, 2019

OpenMathLib/OpenBLAS#2067 is closed and openblas 0.3.6 is online on https://anaconda.org/conda-forge/openblas - that should be solved by now. I will try it out on the corresponding server soon and leave some feedback here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:Question A question about the use of the docker stack images
Projects
None yet
Development

No branches or pull requests

3 participants