Hi,
after upgrading to Fedora 26 I cannot run a shiny app any more: On "run app", rstudio crashes with
QSslSocket: cannot resolve CRYPTO_num_locks
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve ERR_free_strings
QSslSocket: cannot resolve sk_new_null
QSslSocket: cannot resolve sk_push
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSLv2_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv2_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot resolve SSLeay_version
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
Segmentation fault (core dumped)
I've tried reinstalling the openssl package, but it didn't help.
Would you happen to have an idea what to do? Any help greatly appreciated :-)
Cheers,
Sigrid
Exactly same issue here, on a fresh install of Fedora 26.
Rstudio crashes whenever a ShinyApp is launched. Starting Rstudio from terminal I get the same output as above.
This is the content of the relevant rstudio-backtrace.txt file
RStudio Version: 1.0.143
print(sessionInfo())
R version 3.4.0 (2017-04-21)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Fedora 26 (Workstation Edition)Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.solocale:
[1] LC_CTYPE=en_IE.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_IE.UTF-8 LC_COLLATE=en_IE.UTF-8
[5] LC_MONETARY=en_IE.UTF-8 LC_MESSAGES=en_IE.UTF-8
[7] LC_PAPER=en_IE.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_IE.UTF-8 LC_IDENTIFICATION=Cattached base packages:
[1] stats graphics grDevices utils datasets methods baseloaded via a namespace (and not attached):
[1] compiler_3.4.0
I have also installed some key dependencies
sud dnf install R-core zlib-devel openssl-devel R-devel libcurl-devel R-XML cairo-devel libxml2-devel libXt-devel
I installed Cairo from within R (all packages have been built with R 3.4)
For good measure, I have also installed the packages mentioned here:
https://raw.githubusercontent.com/rstudio/rstudio/master/dependencies/linux/install-dependencies-yum
Ultimately, I'd assume this is a qt-related issue, as starting an app from inside an R session in the terminal works fine.
installing possibly related qt libraries (e.g. qt5-qtwebview qt5-qtwebengine) did not help.
Same problem both in Xorg and Wayland session.
@kevinushey @jmcphers Do you guys know anything about crashes with Fedora 26? (looks like it was just released about a week ago?)
@skeydan @giocomai In the meantime you may want to try a daily build of RStudio: https://dailies.rstudio.com
This is the first I'm hearing about this at least, but it looks like the issue almost certainly stems from a newer version of OpenSSL / system crypto libraries in the latest Fedora release. (I imagine we've seen the same / similar issues with the Debian Stretch upgrade)
@jmcphers, does that sound like the right diagnosis here? I know you did a bunch of work to get RStudio working with Debian Stretch; will those efforts also transfer easily here?
This does look like a libssl compatibility issue. @skeydan What version of the libssl/openssl package do you have installed on your Fedora system? Can you objdump -p
your copy of libssl.so?
Hi, thx for your answers :-)
I see I have many more libssl.so's (and symlinks and hidden files???) than I'd ever have imagined ;-)
Here's a list and the objdump info:
-rwxr-xr-x. 1 root root 319144 May 10 13:35 libssl3.so
lrwxrwxrwx. 1 root root 16 Jun 23 17:11 libssl.so -> libssl.so.1.1.0f
lrwxrwxrwx. 1 root root 16 Jul 13 22:16 libssl.so.10 -> libssl.so.1.0.2j
-rwxr-xr-x. 1 root root 448536 Feb 10 14:54 libssl.so.1.0.2j
-rw-r--r--. 1 root root 65 Feb 10 14:54 .libssl.so.1.0.2j.hmac
lrwxrwxrwx. 1 root root 22 Feb 10 14:54 .libssl.so.10.hmac -> .libssl.so.1.0.2j.hmac
lrwxrwxrwx. 1 root root 16 Jun 23 17:11 libssl.so.1.1 -> libssl.so.1.1.0f
-rwxr-xr-x. 1 root root 451176 Jun 23 17:11 libssl.so.1.1.0f
-rw-r--r--. 1 root root 65 Jun 23 17:11 .libssl.so.1.1.0f.hmac
lrwxrwxrwx. 1 root root 22 Jun 23 17:11 .libssl.so.1.1.hmac -> .libssl.so.1.1.0f.hmac
[key@key lib64]$ objdump -p libssl.so.1.1.0f
libssl.so.1.1.0f: file format elf64-x86-64
Program Header:
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 221
filesz 0x0000000000061efc memsz 0x0000000000061efc flags r-x
LOAD off 0x0000000000062470 vaddr 0x0000000000262470 paddr 0x0000000000262470 align 221
filesz 0x00000000000095f8 memsz 0x00000000000097e8 flags rw-
DYNAMIC off 0x0000000000065d40 vaddr 0x0000000000265d40 paddr 0x0000000000265d40 align 23
filesz 0x0000000000000250 memsz 0x0000000000000250 flags rw-
NOTE off 0x00000000000001c8 vaddr 0x00000000000001c8 paddr 0x00000000000001c8 align 22
filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
EH_FRAME off 0x0000000000056c50 vaddr 0x0000000000056c50 paddr 0x0000000000056c50 align 22
filesz 0x0000000000001bf4 memsz 0x0000000000001bf4 flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 24
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
RELRO off 0x0000000000062470 vaddr 0x0000000000262470 paddr 0x0000000000262470 align 2**0
filesz 0x0000000000003b90 memsz 0x0000000000003b90 flags r--
Dynamic Section:
NEEDED libcrypto.so.1.1
NEEDED libz.so.1
NEEDED libdl.so.2
NEEDED libpthread.so.0
NEEDED libc.so.6
SONAME libssl.so.1.1
SYMBOLIC 0x0000000000000000
INIT 0x0000000000016790
FINI 0x0000000000050058
INIT_ARRAY 0x0000000000262470
INIT_ARRAYSZ 0x0000000000000008
FINI_ARRAY 0x0000000000262478
FINI_ARRAYSZ 0x0000000000000008
GNU_HASH 0x00000000000001f0
STRTAB 0x0000000000005f00
SYMTAB 0x0000000000000e78
STRSZ 0x000000000000410c
SYMENT 0x0000000000000018
PLTGOT 0x0000000000266000
PLTRELSZ 0x0000000000002898
PLTREL 0x0000000000000007
JMPREL 0x0000000000013ef8
RELA 0x000000000000a7d8
RELASZ 0x0000000000009720
RELAENT 0x0000000000000018
VERDEF 0x000000000000a6c8
VERDEFNUM 0x0000000000000003
FLAGS_1 0x0000000000000008
VERNEED 0x000000000000a728
VERNEEDNUM 0x0000000000000003
VERSYM 0x000000000000a00c
RELACOUNT 0x000000000000062d
Version definitions:
1 0x01 0x0779bbb1 libssl.so.1.1
2 0x00 0x066d1f10 OPENSSL_1_1_0
3 0x00 0x06d1f104 OPENSSL_1_1_0d
OPENSSL_1_1_0
Version References:
required from libpthread.so.0:
0x09691a75 0x00 08 GLIBC_2.2.5
required from libc.so.6:
0x06969194 0x00 11 GLIBC_2.14
0x0d696914 0x00 09 GLIBC_2.4
0x09691974 0x00 06 GLIBC_2.3.4
0x09691a75 0x00 05 GLIBC_2.2.5
required from libcrypto.so.1.1:
0x06d1f104 0x00 10 OPENSSL_1_1_0d
0x06d1f106 0x00 07 OPENSSL_1_1_0f
0x066d1f10 0x00 04 OPENSSL_1_1_0
[key@key lib64]$ objdump -p libssl.so.1.0.2j
libssl.so.1.0.2j: file format elf64-x86-64
Program Header:
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 221
filesz 0x00000000000619dc memsz 0x00000000000619dc flags r-x
LOAD off 0x00000000000623f0 vaddr 0x00000000002623f0 paddr 0x00000000002623f0 align 221
filesz 0x00000000000099f0 memsz 0x0000000000009ae0 flags rw-
DYNAMIC off 0x0000000000065d68 vaddr 0x0000000000265d68 paddr 0x0000000000265d68 align 23
filesz 0x0000000000000230 memsz 0x0000000000000230 flags rw-
NOTE off 0x00000000000001c8 vaddr 0x00000000000001c8 paddr 0x00000000000001c8 align 22
filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
EH_FRAME off 0x0000000000058c60 vaddr 0x0000000000058c60 paddr 0x0000000000058c60 align 22
filesz 0x00000000000014ac memsz 0x00000000000014ac flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 24
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
RELRO off 0x00000000000623f0 vaddr 0x00000000002623f0 paddr 0x00000000002623f0 align 2**0
filesz 0x0000000000003c10 memsz 0x0000000000003c10 flags r--
Dynamic Section:
NEEDED libcrypto.so.10
NEEDED libdl.so.2
NEEDED libz.so.1
NEEDED libc.so.6
SONAME libssl.so.10
SYMBOLIC 0x0000000000000000
INIT 0x0000000000017ae8
FINI 0x0000000000052360
INIT_ARRAY 0x00000000002623f0
INIT_ARRAYSZ 0x0000000000000008
FINI_ARRAY 0x00000000002623f8
FINI_ARRAYSZ 0x0000000000000008
GNU_HASH 0x00000000000001f0
STRTAB 0x0000000000007090
SYMTAB 0x0000000000001540
STRSZ 0x000000000000474d
SYMENT 0x0000000000000018
PLTGOT 0x0000000000266000
PLTRELSZ 0x0000000000002370
PLTREL 0x0000000000000007
JMPREL 0x0000000000015778
RELA 0x000000000000c0a0
RELASZ 0x00000000000096d8
RELAENT 0x0000000000000018
VERDEF 0x000000000000bf80
VERDEFNUM 0x0000000000000005
VERNEED 0x000000000000c010
VERNEEDNUM 0x0000000000000002
VERSYM 0x000000000000b7de
RELACOUNT 0x000000000000063c
Version definitions:
1 0x01 0x0a779bd0 libssl.so.10
2 0x00 0x0a779bd0 libssl.so.10
3 0x00 0x066a2b21 OPENSSL_1.0.1
4 0x00 0x02b21533 OPENSSL_1.0.1_EC
5 0x00 0x066a2b22 OPENSSL_1.0.2
OPENSSL_1.0.1
Version References:
required from libc.so.6:
0x06969194 0x00 12 GLIBC_2.14
0x0d696914 0x00 11 GLIBC_2.4
0x06969197 0x00 10 GLIBC_2.17
0x09691974 0x00 09 GLIBC_2.3.4
0x09691a75 0x00 08 GLIBC_2.2.5
required from libcrypto.so.10:
0x02b21533 0x00 07 OPENSSL_1.0.1_EC
0x0af47420 0x00 06 libcrypto.so.10
Looking at the dates, the only thing that's from the upgrade is
lrwxrwxrwx. 1 root root 16 Jul 13 22:16 libssl.so.10 -> libssl.so.1.0.2j
but libssl.so itself is linked to
lrwxrwxrwx. 1 root root 16 Jun 23 17:11 libssl.so -> libssl.so.1.1.0f
which has been there since Jun 23:
-rwxr-xr-x. 1 root root 451176 Jun 23 17:11 libssl.so.1.1.0f
Thanks, that's very helpful. I suspect the problem is that RStudio for Fedora is built on machines with older libssl, and the symlinks/objdump above suggest that Fedora 26's libssl isn't compatible with the one they were built against.
As @kevinushey mentioned we've started adding separate binary releases for some of the newer distributions which are shipping incompatible libssl (we just added a separate .deb for Debian Stretch, for example), but maybe we can get away with some symlinks in this case. We'll take a look on our end and update this issue when we have more info.
@fereshtehRS Sounds like we need to add Fedora 26 to the test matrix for our other server products as well?
Hi, thanks! Just tell me if there's anything I can do.
Hello @skeydan and @giocomai ,
I was not able to reproduce your error on a fresh install of Fedora 26 with RStudio version 1.0.143. Can you please provide the output of running ldd /usr/lib/rstudio/bin/rstudio
so we can see what libraries are being loaded?
Hi,
that's strange... Here it is:
[key@key deeplearning_online]$ ldd /usr/lib/rstudio/bin/rstudio
linux-vdso.so.1 (0x00007fff55d5a000)
libQt5Core.so.5 => /usr/lib/rstudio/bin/libQt5Core.so.5 (0x00007efc15455000)
libQt5Widgets.so.5 => /usr/lib/rstudio/bin/libQt5Widgets.so.5 (0x00007efc14bd1000)
libQt5Gui.so.5 => /usr/lib/rstudio/bin/libQt5Gui.so.5 (0x00007efc14450000)
libQt5Network.so.5 => /usr/lib/rstudio/bin/libQt5Network.so.5 (0x00007efc140eb000)
libQt5WebKit.so.5 => /usr/lib/rstudio/bin/libQt5WebKit.so.5 (0x00007efc11b1d000)
libQt5WebKitWidgets.so.5 => /usr/lib/rstudio/bin/libQt5WebKitWidgets.so.5 (0x00007efc118d8000)
libQt5PrintSupport.so.5 => /usr/lib/rstudio/bin/libQt5PrintSupport.so.5 (0x00007efc11668000)
libQt5Quick.so.5 => /usr/lib/rstudio/bin/libQt5Quick.so.5 (0x00007efc1108d000)
libQt5Positioning.so.5 => /usr/lib/rstudio/bin/libQt5Positioning.so.5 (0x00007efc10e4e000)
libQt5Sensors.so.5 => /usr/lib/rstudio/bin/libQt5Sensors.so.5 (0x00007efc10c0e000)
libQt5Svg.so.5 => /usr/lib/rstudio/bin/libQt5Svg.so.5 (0x00007efc109b5000)
libQt5Xml.so.5 => /usr/lib/rstudio/bin/libQt5Xml.so.5 (0x00007efc10775000)
libQt5XmlPatterns.so.5 => /usr/lib/rstudio/bin/libQt5XmlPatterns.so.5 (0x00007efc10138000)
libQt5Qml.so.5 => /usr/lib/rstudio/bin/libQt5Qml.so.5 (0x00007efc0fb23000)
libQt5Sql.so.5 => /usr/lib/rstudio/bin/libQt5Sql.so.5 (0x00007efc0f8e3000)
libQt5OpenGL.so.5 => /usr/lib/rstudio/bin/libQt5OpenGL.so.5 (0x00007efc0f68b000)
libQt5DBus.so.5 => /usr/lib/rstudio/bin/libQt5DBus.so.5 (0x00007efc0f408000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007efc0f1c5000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007efc0efc2000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007efc0edbd000)
librt.so.1 => /lib64/librt.so.1 (0x00007efc0ebb5000)
libz.so.1 => /lib64/libz.so.1 (0x00007efc0e99e000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007efc0e616000)
libm.so.6 => /lib64/libm.so.6 (0x00007efc0e2fe000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007efc0e0e7000)
libc.so.6 => /lib64/libc.so.6 (0x00007efc0dd16000)
libicui18n.so.53 => /usr/lib/rstudio/bin/libicui18n.so.53 (0x00007efc0d8ca000)
libicuuc.so.53 => /usr/lib/rstudio/bin/libicuuc.so.53 (0x00007efc0d53f000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007efc0d33b000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007efc0d137000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007efc0ce24000)
/lib64/ld-linux-x86-64.so.2 (0x0000564214031000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007efc0cbd2000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007efc0c894000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007efc0c608000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007efc0c3fc000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007efc0c1f9000)
libxslt.so.1 => /lib64/libxslt.so.1 (0x00007efc0bfb9000)
libxml2.so.2 => /lib64/libxml2.so.2 (0x00007efc0bc51000)
libgstreamer-0.10.so.0 => /lib64/libgstreamer-0.10.so.0 (0x00007efc0b963000)
libgstapp-0.10.so.0 => /lib64/libgstapp-0.10.so.0 (0x00007efc0b756000)
libgstbase-0.10.so.0 => /lib64/libgstbase-0.10.so.0 (0x00007efc0b4fb000)
libgstinterfaces-0.10.so.0 => /lib64/libgstinterfaces-0.10.so.0 (0x00007efc0b2e9000)
libgstpbutils-0.10.so.0 => /lib64/libgstpbutils-0.10.so.0 (0x00007efc0b0c5000)
libgstvideo-0.10.so.0 => /lib64/libgstvideo-0.10.so.0 (0x00007efc0aea8000)
libQt5WebChannel.so.5 => /usr/lib/rstudio/bin/libQt5WebChannel.so.5 (0x00007efc0ac8b000)
libicudata.so.53 => /usr/lib/rstudio/bin/libicudata.so.53 (0x00007efc09601000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007efc0938e000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007efc09186000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007efc08f5e000)
libGLX.so.0 => /lib64/libGLX.so.0 (0x00007efc08d2d000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007efc08b19000)
libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007efc08863000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007efc0863d000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007efc08439000)
liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x00007efc081bc000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007efc07fb6000)
[key@key deeplearning_online]$
Cheers,
Sigrid
@skeydan Your ldd output looks good. Does this error reproduce when you try to run a brand new shiny app (from file -> new)? Or does this only occur with certain shiny apps?
If it only occurs with a certain shiny app, could you send me a small sample which reproduces the issue?
From my side, on a fresh install of Fedora 26, I can confirm this happens also with the most basic shiny app, such as the one created from file-> new (and even if I remove the plot from that one)
ldd /usr/lib/rstudio/bin/rstudio
looks pretty much like the above
Same for me, it also occurs with a basic app from the menu.
I also gave it a try with the latest daily build (Version 1.1.308), but with the same result. I understand this is to be fixed along the lines suggested by @jmcphers above.
@skeydan @giocomai I used strace on my machine to verify that the correct version of libssl was being loaded by QT. Can you try this as well? Please run rstudio under strace, attempt to run the shiny application, capture all of the output, and find all instances of libssl so we can see which library is being loaded.
strace rstudio &> strace.out
Reproduce the crash within rstudio
grep libssl strace.out
On my machine, it produces:
stat("/lib64/libssl.so.10", {st_mode=S_IFREG|0755, st_size=448536, ...}) = 0
stat("/lib64/libssl.so.1.1", {st_mode=S_IFREG|0755, st_size=451176, ...}) = 0
stat("/usr/lib64/libssl.so.10", {st_mode=S_IFREG|0755, st_size=448536, ...}) = 0
stat("/usr/lib64/libssl.so.1.1", {st_mode=S_IFREG|0755, st_size=451176, ...}) = 0
stat("/lib64/libssl.so.10", {st_mode=S_IFREG|0755, st_size=448536, ...}) = 0
stat("/lib64/libssl.so.1.1", {st_mode=S_IFREG|0755, st_size=451176, ...}) = 0
stat("/usr/lib64/libssl.so.10", {st_mode=S_IFREG|0755, st_size=448536, ...}) = 0
stat("/usr/lib64/libssl.so.1.1", {st_mode=S_IFREG|0755, st_size=451176, ...}) = 0
open("/lib64/libssl.so.10", O_RDONLY|O_CLOEXEC) = 29
Then run grep libcrypto strace.out
, which for me produces:
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/libcrypto.so.10", {st_mode=S_IFREG|0755, st_size=2512696, ...}) = 0
stat("/lib64/libcrypto.so.1.1", {st_mode=S_IFREG|0755, st_size=2693688, ...}) = 0
stat("/usr/lib64/libcrypto.so.10", {st_mode=S_IFREG|0755, st_size=2512696, ...}) = 0
stat("/usr/lib64/libcrypto.so.1.1", {st_mode=S_IFREG|0755, st_size=2693688, ...}) = 0
stat("/lib64/libcrypto.so.10", {st_mode=S_IFREG|0755, st_size=2512696, ...}) = 0
stat("/lib64/libcrypto.so.1.1", {st_mode=S_IFREG|0755, st_size=2693688, ...}) = 0
stat("/usr/lib64/libcrypto.so.10", {st_mode=S_IFREG|0755, st_size=2512696, ...}) = 0
stat("/usr/lib64/libcrypto.so.1.1", {st_mode=S_IFREG|0755, st_size=2693688, ...}) = 0
open("/lib64/libcrypto.so.10", O_RDONLY|O_CLOEXEC) = 29
At this point I'm fairly confident that QT on your machines is picking up the wrong crypto/ssl libraries, but we need to make sure. If it is picking up the wrong library, try adding a symlink to the correct library in your rstudio installation directory, like so:
ln -s /lib64/libcrypto.so.10 /usr/lib/rstudio/bin/libcrypto.so.1.0.0
ln -s /lib64/libssl.so.10 /usr/lib/rstudio/bin/libssl.so.1.0.0
This should cause QT to immediately find the correct library to load, as can be seen on my system after adding links and rerunning the strace and grep commands:
grep libssl strace2.out
open("/usr/lib/rstudio/bin/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = 29
grep libcrypto strace2.out
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = 29
Once we can confirm this fixes your issue, I can take a look at fixing the build.
Wow :-) That was amazing :-)
Works like a charm.
Here's the before - after excerpts from strace:
* grep libssl, before *
open("/usr/lib/rstudio/bin/libssl.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libssl.so.10", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/rstudio/bin/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libssl.so", O_RDONLY|O_CLOEXEC) = 33
* grep libcrypto, before *
open("/usr/lib/rstudio/bin/libcrypto.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so.10", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/x86_64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/x86_64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/libcrypto", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/rstudio/bin/libcrypto.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so", O_RDONLY|O_CLOEXEC) = 33
* grep libssl, after *
open("/usr/lib/rstudio/bin/libssl.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libssl.so.10", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/rstudio/bin/libssl.so.1.0.0", O_RDONLY|O_CLOEXEC) = 33
* grep libcrypto, after *
open("/usr/lib/rstudio/bin/libcrypto.so.10", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libcrypto.so.10", O_RDONLY|O_CLOEXEC) = 11
open("/usr/lib/rstudio/bin/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = 33
libcrypto.new (END)
@skeydan Glad to hear that fixed your issue. Assuming it worked for @giocomai as well, we'll try to target this build fix (which will automatically set the symlinks) for the upcoming RStudio 1.1 release.
Great, thanks @kfeinauer!
this is just to confirm that adding the two symlinks fixes the issue for me as well: Rstudio does not crash and the Shiny app starts as usual.
Again, if anyone encounters this issue until the new build is out, this (with sudo) is all that needs to be done on Fedora 26:
ln -s /lib64/libcrypto.so.10 /usr/lib/rstudio/bin/libcrypto.so.1.0.0
ln -s /lib64/libssl.so.10 /usr/lib/rstudio/bin/libssl.so.1.0.0
i can't get rid of the crashed on fedora 27. the ln -s plus even a third one, so in the end I ran:
ln -s /usr/lib64/libcrypto.so.10 libcrypto.so
ln -s /usr/lib64/libgcrypt.so.20 libgcrypt.so
ln -s /usr/lib64/libssl.so.10 libssl.so
running that in my rstudio install folder (bin subfolder) doesn't help (I've installed through the targz, not the installer, maybe it's connected to that)?
:~# minergate-cli -user [email protected] -bcn 2
[14.05.2018 11:42:01] [ info] MinerGate starting...
QSslSocket: cannot resolve CRYPTO_num_locks
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve ERR_free_strings
QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
QSslSocket: cannot resolve EVP_CIPHER_CTX_init
QSslSocket: cannot resolve sk_new_null
QSslSocket: cannot resolve sk_push
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSL_get_ex_new_index
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv3_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot resolve SSLeay_version
QSslSocket: cannot call unresolved function SSLeay
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_library_init
network error
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function ERR_free_strings
Dev.
thanx advance
Most helpful comment
this is just to confirm that adding the two symlinks fixes the issue for me as well: Rstudio does not crash and the Shiny app starts as usual.
Again, if anyone encounters this issue until the new build is out, this (with sudo) is all that needs to be done on Fedora 26: