MiniZinc / MiniZincIDE

The MiniZinc IDE
http://www.minizinc.org
Mozilla Public License 2.0
144 stars 22 forks source link

Error initializing NSS #79

Closed jdevoo closed 5 years ago

jdevoo commented 5 years ago

I was investigating the reason I could not get visualizations for a MOOC assignment running on versions of MiniZinc after 2.1.7 on Ubuntu.

I am referring in particular to the following type of code

include "portschedule_viz.mzn";
output [portschedule_viz(westend,eastend,stack,endstack,reclaim,finished,which,obj)];

I tried in particular version 2.2.3 which bombs with

jdevoo@nuc6:/opt/MiniZincIDE-2.2.3-bundle-linux$ ./MiniZincIDE.sh 
[14678:14713:0213/225852.535138:ERROR:nss_util.cc(712)] Error initializing NSS with a persistent database (sql:/home/jdevoo/.pki/nssdb): libsoftokn3.so: cannot open shared object file: No such file or directory
[14678:14713:0213/225852.535192:ERROR:nss_util.cc(201)] Error initializing NSS without a persistent database: NSS error code: -5925
[14678:14713:0213/225852.535199:FATAL:nss_util.cc(203)] nss_error=-5925, os_error=0
#0 0x7f15c378516e <unknown>
#1 0x7f15c37978ae <unknown>
#2 0x7f15c3f542da <unknown>
#3 0x7f15c3f546e0 <unknown>
#4 0x7f15c3e82dc5 <unknown>
#5 0x7f15c3d6f7e7 <unknown>
#6 0x7f15c3d3aad7 <unknown>
#7 0x7f15c2ed189a <unknown>
#8 0x7f15c2ed2e06 <unknown>
#9 0x7f15c2ed4dd7 <unknown>
#10 0x7f15c30ad857 <unknown>
#11 0x7f15c33e40b0 <unknown>
#12 0x7f15c37fac59 <unknown>
#13 0x7f15c379fff0 <unknown>
#14 0x7f15c37a1cbd <unknown>
#15 0x7f15c37a2178 <unknown>
#16 0x7f15c37a3610 <unknown>
#17 0x7f15c379f095 <unknown>
#18 0x7f15c37bbbba <unknown>
#19 0x7f15c30e6a68 <unknown>
#20 0x7f15c30e6c4b <unknown>
#21 0x7f15c37d3890 <unknown>
#22 0x7f15c37cf96d <unknown>
#23 0x7f15c20836db start_thread
#24 0x7f15c8f0088f clone

[1:1:0100/000000.744412:ERROR:broker_posix.cc(41)] Invalid node channel message
Aborted (core dumped)

The following issue on another repo lead me to explore the files under lib.

For version 2.1.7

libicudata.so.55  libQt5Network.so.5       libQt5Sql.so.5
libicui18n.so.55  libQt5OpenGL.so.5        libQt5Svg.so.5
libicuuc.so.55    libQt5Positioning.so.5   libQt5WebKit.so.5
libQt5Core.so.5   libQt5PrintSupport.so.5  libQt5WebKitWidgets.so.5
libQt5DBus.so.5   libQt5Qml.so.5           libQt5Widgets.so.5
libQt5Gui.so.5    libQt5Quick.so.5         libQt5XcbQpa.so.5

For version 2.2.3

libavahi-client.so.3  libQt5Core.so.5              libxcb-keysyms.so.1
libavahi-common.so.3  libQt5DBus.so.5              libxcb-present.so.0
libcups.so.2          libQt5Gui.so.5               libxcb-randr.so.0
libdbus-1.so.3        libQt5Network.so.5           libxcb-render.so.0
libffi.so.6           libQt5Positioning.so.5       libxcb-render-util.so.0
libgcrypt.so.20       libQt5PrintSupport.so.5      libxcb-shape.so.0
libgmp.so.10          libQt5Qml.so.5               libxcb-shm.so.0
libgnutls.so.30       libQt5Quick.so.5             libxcb-sync.so.1
libgraphite2.so.3     libQt5QuickWidgets.so.5      libxcb-util.so.1
libgssapi_krb5.so.2   libQt5WebChannel.so.5        libxcb-xfixes.so.0
libhogweed.so.4       libQt5WebEngineCore.so.5     libxcb-xinerama.so.0
libicudata.so.55      libQt5WebEngineWidgets.so.5  libxcb-xkb.so.1
libicui18n.so.55      libQt5Widgets.so.5           libXcomposite.so.1
libicuuc.so.55        libQt5XcbQpa.so.5            libXcursor.so.1
libidn.so.11          libselinux.so.1              libXdamage.so.1
libk5crypto.so.3      libsmime3.so                 libXdmcp.so.6
libkrb5.so.3          libsnappy.so.1               libXext.so.6
libkrb5support.so.0   libsystemd.so.0              libXfixes.so.3
liblzma.so.5          libtasn1.so.6                libXi.so.6
libnettle.so.6        libwebpdemux.so.1            libxkbcommon.so.0
libnspr4.so           libwebp.so.5                 libxkbcommon-x11.so.0
libnss3.so            libX11-xcb.so.1              libxml2.so.2
libnssutil3.so        libXau.so.6                  libXrender.so.1
libopus.so.0          libxcb-dri2.so.0             libxshmfence.so.1
libpcre.so.3          libxcb-dri3.so.0             libxslt.so.1
libplc4.so            libxcb-glx.so.0              libXss.so.1
libplds4.so           libxcb-icccm.so.4            libXtst.so.6
libpng12.so.0         libxcb-image.so.0            libXxf86vm.so.1

Based on the error libsoftokn3.so: cannot open shared object file: No such file or directory Notice libsoftokn3.so is missing and not present on the LD_LIBRARY_PATH for my host. I was able to successfully run the visualization using the following command which fetches the needed files from the firefox directory LD_PRELOAD=/usr/lib/firefox/libnss3.so:/usr/lib/firefox/libnssutil3.so:/usr/lib/firefox/libsoftokn3.so:/usr/lib/firefox/libmozsqlite3.so ./MiniZincIDE.sh

It seems therefore to me that there is a bundling issue with MiniZinc.

guidotack commented 5 years ago

Thanks, we will look into fixing this for the bundle of the next version.

Dekker1 commented 5 years ago

This issue is caused by the following issue in the linuxqtdeploy packaging script: https://github.com/probonopd/linuxdeployqt/issues/35

A workaround has been added to ensure the libraries of nss-softokn are packaged until the issue has been resolved upstream.