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

Curl error(query): Problem with the SSL CA cert @ v0.0.13-11300-f1c65dce #8039

Closed
shenada opened this issue Apr 15, 2020 · 30 comments
Closed

Comments

@shenada
Copy link

shenada commented Apr 15, 2020

How to reproduce:
0. run AppImage

  1. "Check Update"
  2. "Download Compatibility Database"

Expected:
GUI works as its design.

  1. "Check Update" -> Check update.
  2. "Download Compatibility Database" -> Update database.

Result:

  1. "Check Update" ->
    Do nothing. Error message as below.
    E UPDATER: Curl error(query): Problem with the SSL CA cert (path? access rights?)

  2. "Download Compatibility Database" ->
    Do nothing. Error message as below. Then Segfault.
    E UPDATER: Curl error(query): Problem with the SSL CA cert (path? access rights?)
    Segfault reading location 00007fe6b4000080 at 00007fe6b4000080.
    Thread id = 140632403251456.

@shenada
Copy link
Author

shenada commented Apr 15, 2020

There is no way LD_PRELOAD libcurl for more test due libcurl is statically link.

@AniLeo
Copy link
Member

AniLeo commented Apr 15, 2020

Cannot reproduce
You'll have to provide more details than that and a backtrace from gdb

@shenada
Copy link
Author

shenada commented Apr 15, 2020

Cannot reproduce
You'll have to provide more details than that and a backtrace from gdb

Thread 1 "rpcs3" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
Missing separate debuginfos, use: dnf debuginfo-install bzip2-libs-1.0.8-2.fc32.x86_64 elfutils-libelf-0.179-1.fc32.x86_64 expat-2.2.8-2.fc32.x86_64 fontconfig-2.13.92-8.fc32.x86_64 freetype-2.10.1-2.fc32.x86_64 libICE-1.0.10-3.fc32.x86_64 libSM-1.2.3-5.fc32.x86_64 libXcursor-1.2.0-2.fc32.x86_64 libXfixes-5.0.3-11.fc32.x86_64 libXrender-0.9.10-11.fc32.x86_64 libdrm-2.4.100-2.fc32.x86_64 libedit-3.1-32.20191231cvs.fc32.x86_64 libffi-3.1-24.fc32.x86_64 libpng-1.6.37-3.fc32.x86_64 libwayland-client-1.18.0-1.fc32.x86_64 llvm-libs-10.0.0-1.fc32.x86_64 mesa-vulkan-drivers-20.0.4-1.fc32.x86_64 nss-mdns-0.14.1-7.fc32.x86_64 xcb-util-0.4.0-14.fc32.x86_64 xcb-util-image-0.4.0-14.fc32.x86_64 xcb-util-renderutil-0.3.9-15.fc32.x86_64 xcb-util-wm-0.4.1-17.fc32.x86_64
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff5b1db8e in QPainter::setCompositionMode(QPainter::CompositionMode) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Gui.so.5
#2 0x00007ffff622337b in QWidgetPrivate::paintBackground(QPainter*, QRegion const&, QFlagsQWidgetPrivate::DrawWidgetFlag) const () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#3 0x00007ffff6226368 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlagsQWidgetPrivate::DrawWidgetFlag, QPainter*, QWidgetRepaintManager*) ()
from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#4 0x00007ffff61fcbf0 in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#5 0x00007ffff61fd330 in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#6 0x00007ffff6226f8f in QWidgetPrivate::syncBackingStore() () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#7 0x00007ffff622d4c8 in QWidget::event(QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#8 0x00007ffff641a671 in QMessageBox::event(QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#9 0x00007ffff61ebf8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#10 0x00007ffff61f3460 in QApplication::notify(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#11 0x00007ffff4d60648 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#12 0x00007ffff61fe21e in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#13 0x00007ffff6201a0e in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#14 0x00007ffff6216055 in QWidget::repaint(QRect const&) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#15 0x00007ffff62160a3 in QWidget::repaint() () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#16 0x00007ffff62de2b4 in QAbstractButton::mousePressEvent(QMouseEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#17 0x00007ffff622d37f in QWidget::event(QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#18 0x00007ffff61ebf8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#19 0x00007ffff61f40eb in QApplication::notify(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#20 0x00007ffff4d60648 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#21 0x00007ffff61f2932 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool, bool) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#22 0x00007ffff6247282 in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#23 0x00007ffff624a013 in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#24 0x00007ffff61ebf8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#25 0x00007ffff61f3460 in QApplication::notify(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5
#26 0x00007ffff4d60648 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#27 0x00007ffff58a9365 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Gui.so.5
#28 0x00007ffff58aa8f5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Gui.so.5
#29 0x00007ffff588573b in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Gui.so.5
#30 0x00007fffec4f6a1a in ?? () from /home/shenada/GameConsole/PS3/squashfs-root/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#31 0x00007ffff31e27cf in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#32 0x00007ffff31e2b58 in g_main_context_iterate.constprop () from /usr/lib64/libglib-2.0.so.0
#33 0x00007ffff31e2c23 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#34 0x00007ffff4dbc7cc in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#35 0x00007ffff4d5eed2 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#36 0x00007ffff4d685d4 in QCoreApplication::exec() () from /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5
#37 0x0000000000460be4 in main ()
(gdb)

@shenada
Copy link
Author

shenada commented Apr 15, 2020

Screenshot from 2020-04-15 19-16-07
Screenshot from 2020-04-15 19-16-52

@shenada
Copy link
Author

shenada commented Apr 15, 2020

How should I rebuild rpcs3 for debug and develop ?

rpcs3/.ci/build-linux.sh or
rpcs3/BUILDING.md and build mock Env. on fedora 32 ?

=========================
BTW, ldd usr/bin/rpcs3 result as below.
[shenada@dsdell squashfs-root]$ ldd usr/bin/rpcs3
linux-vdso.so.1 (0x00007ffca3794000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007f38db606000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f38db4bf000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f38db4b8000)
libevdev.so.2 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libevdev.so.2 (0x00007f38db29e000)
libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f38db19e000)
libpulse-simple.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libpulse-simple.so.0 (0x00007f38daf99000)
libpulse.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libpulse.so.0 (0x00007f38dad47000)
libSDL2-2.0.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libSDL2-2.0.so.0 (0x00007f38da9f6000)
libopenal.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libopenal.so.1 (0x00007f38da784000)
libatomic.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libatomic.so.1 (0x00007f38da57b000)
libtinfo.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libtinfo.so.5 (0x00007f38da351000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f38da32f000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f38da2a5000)
libvulkan.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libvulkan.so.1 (0x00007f38da04b000)
libGLEW.so.2.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libGLEW.so.2.1 (0x00007f38d9f86000)
libQt5Widgets.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Widgets.so.5 (0x00007f38d9703000)
libQt5Gui.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Gui.so.5 (0x00007f38d8dfb000)
libQt5DBus.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5DBus.so.5 (0x00007f38d8b6b000)
libQt5Concurrent.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Concurrent.so.5 (0x00007f38d8962000)
libQt5Core.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libQt5Core.so.5 (0x00007f38d8133000)
libudev.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libudev.so.1 (0x00007f38d8111000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007f38d80f7000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f38d7fb1000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f38d7dc1000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f38d7da4000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f38d7bda000)
/lib64/ld-linux-x86-64.so.2 (0x00007f38db644000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f38d7bae000)
libpulsecommon-8.0.so => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libpulsecommon-8.0.so (0x00007f38d792d000)
libjson-c.so.2 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libjson-c.so.2 (0x00007f38d7721000)
libdbus-1.so.3 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libdbus-1.so.3 (0x00007f38d74cf000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f38d749b000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f38d7486000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f38d73cd000)
libpng12.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libpng12.so.0 (0x00007f38d71a6000)
libicui18n.so.55 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libicui18n.so.55 (0x00007f38d6ce8000)
libicuuc.so.55 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libicuuc.so.55 (0x00007f38d6935000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f38d680a000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f38d6804000)
libsystemd.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libsystemd.so.0 (0x00007f38d677b000)
libwrap.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libwrap.so.0 (0x00007f38d656e000)
libsndfile.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libsndfile.so.1 (0x00007f38d6303000)
libasyncns.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libasyncns.so.0 (0x00007f38d60fc000)
libicudata.so.55 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libicudata.so.55 (0x00007f38d4644000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f38d45cb000)
libselinux.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libselinux.so.1 (0x00007f38d43a5000)
liblzma.so.5 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/liblzma.so.5 (0x00007f38d4182000)
libgcrypt.so.20 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libgcrypt.so.20 (0x00007f38d3e9f000)
libnsl.so.1 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libnsl.so.1 (0x00007f38d3c86000)
libFLAC.so.8 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libFLAC.so.8 (0x00007f38d3a0d000)
libvorbisenc.so.2 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libvorbisenc.so.2 (0x00007f38d3761000)
libresolv.so.2 => /usr/lib64/libresolv.so.2 (0x00007f38d3747000)
libpcre.so.3 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libpcre.so.3 (0x00007f38d34d6000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f38d34b2000)
libogg.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libogg.so.0 (0x00007f38d32a8000)
libvorbis.so.0 => /home/shenada/GameConsole/PS3/squashfs-root/usr/bin/../lib/libvorbis.so.0 (0x00007f38d307a000)

@duracellh
Copy link

duracellh commented Jun 13, 2020

Same bug seen here as of RPCS3 Version: 0.0.10-10494-e485c9c7 Alpha , also on Fedora 32.

@ghost
Copy link

ghost commented Jul 10, 2020

I have the same bug too, RPCS3 Version is 0.0.11-10645-282b0067 Alpha. Distro is Fedora 32.

@Sinihopea
Copy link

I encountered this bug as well. RPCS3 version is 0.0.11-10808-af9e217f Alpha. Distro is Fedora 32.

@shenada
Copy link
Author

shenada commented Nov 9, 2020

Cannot reproduce
You'll have to provide more details than that and a backtrace from gdb

Found the root cause !!!

Rpcs3 Appimage built-in libcurl(libcurl-gnutls.so) is using gnutls back-end which is not libcurl build system default SSL back-end.

Most of Linux distribution use openssl as default back-end because its:

  1. more secure: With most of elliptic curves support and much larger community.
  2. much faster: With ASM support and hardware acceleration(AES, SHA, RNG, RSA) support(~10x faster comparison with SW only).
  3. more protocol compatible
  4. security industry golden standard

Other then code size there is no reason using gnutls instead of openssl.
So. my suggestions are:
using system libcurl(Other then windows all other OS come with libcurl).
or
compile build-in libcurl with both back-end support.
or
compile build-in libcurl back-end with using system ssl library(gnutls).
or
just compile build-in libcurl with curl default back-end(openssl)

@shenada
Copy link
Author

shenada commented Nov 9, 2020

Workaround:

./rpcs3-xxxx.AppImage --appimage-extract
cd squashfs-root/usr/lib; ln -sf /usr/lib64/libcurl.so.4 libcurl-gnutls.so.4; cd -
cd squashfs-root; ./AppRun

@shenada shenada changed the title Curl error(query): Problem with the SSL CA cert then Segfault @ build 10214 Curl error(query): Problem with the SSL CA cert then Segfault @ 0.0.13-11205-8a508806 Nov 11, 2020
@shenada shenada changed the title Curl error(query): Problem with the SSL CA cert then Segfault @ 0.0.13-11205-8a508806 Curl error(query): Problem with the SSL CA cert @ 0.0.13-11205-8a508806 Nov 11, 2020
@perrsona1234
Copy link

I have also encountered this bug on openSUSE Tumbleweed with AppImage build 0.0.13-11287.

@perrsona1234
Copy link

I just now tested flatpak build and it doesn't have this error. You can use that for now folks.

@shenada
Copy link
Author

shenada commented Nov 23, 2020

I just now tested flatpak build and it doesn't have this error. You can use that for now folks.

Still happens on 0.0.13-11300-f1c65dce.
Be clear, It won't crashed as April's but curl related function still useless.

==============================================
On startup:
===========
RPCS3 v0.0.13-11300-f1c65dce Alpha | HEAD | Firmware version: 4.85
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz | 12 Threads | 31.11 GiB RAM | TSC: 2.592GHz | AVX+ | FMA3 | TSX-FA
Operating system: POSIX, Name: Linux, Release: 5.9.8-200.fc33.x86_64, Version: #1 SMP Tue Nov 10 21:58:19 UTC 2020
RSX: Found vulkan-compatible GPU: 'Quadro P2000' running on driver 455.45.1.0
RSX: Found vulkan-compatible GPU: 'Intel(R) UHD Graphics 630 (CFL GT2)' running on driver 20.2.2
RSX: Found vulkan-compatible GPU: 'Quadro P2000' running on driver 455.45.1.0
E NETWORK: Curl error: Problem with the SSL CA cert (path? access rights?)
==============================================
Auto-updater:
===========
An error occurred during the auto-updating process.
Check the log for more information.
==============================================
Download database:
===========
Failed to retrieve the online compatibility database!
Falling back to local database.

Curl error: Problem with the SSL CA cert (path? access rights?)
==============================================

The easiest way to fix this issue without touch build configuration which are distribute CA file within App Image or link libcurl to system.

@shenada shenada changed the title Curl error(query): Problem with the SSL CA cert @ 0.0.13-11205-8a508806 Curl error(query): Problem with the SSL CA cert @ v0.0.13-11300-f1c65dce Nov 23, 2020
@hcorion
Copy link
Member

hcorion commented Jan 8, 2021

Please retest with latest AppImage

@whp199
Copy link

whp199 commented Jan 9, 2021

Still not working on latest appimage.:

RPCS3 v0.0.14-11531-a36f25c7 Alpha | HEAD | Firmware version: 4.86
Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz | 4 Threads | 15.40 GiB RAM | TSC: 2.904GHz | AVX+ | FMA3
Operating system: POSIX, Name: Linux, Release: 5.9.16-200.fc33.x86_64, Version: #1 SMP Mon Dec 21 14:08:22 UTC 2020
RSX: Found vulkan-compatible GPU: 'Intel(R) HD Graphics 620 (KBL GT2)' running on driver 20.2.6
RSX: Found vulkan-compatible GPU: 'GeForce 940MX' running on driver 455.45.1.0
E NETWORK: Curl error: Problem with the SSL CA cert (path? access rights?)

@minionprocyk
Copy link

Still an issue as of 0.0.15-12056. Il try and draft a PR. it's just annoying and doesn't really prevent you from using the goodies.

@minionprocyk
Copy link

scratch that. i just built from master and its working just fine. Cool!

@hcorion
Copy link
Member

hcorion commented Apr 29, 2021

Please retest with latest AppImage

@mihawk90
Copy link

Still the same (F33):

- RPCS3 v0.0.15-12170-5724d2d4 Alpha | HEAD
- AMD Ryzen 7 2700X Eight-Core Processor | 16 Threads | 15.64 GiB RAM | TSC: 3.700GHz | AVX+ | FMA3
- Operating system: POSIX, Name: Linux, Release: 5.11.16-200.fc33.x86_64, Version: #1 SMP Wed Apr 21 16:08:37 UTC 2021
- RSX: Found vulkan-compatible GPU: 'AMD RADV VEGA10 (ACO)' running on driver 20.3.5
- RSX: Found vulkan-compatible GPU: 'llvmpipe (LLVM 11.0.0, 256 bits)' running on driver 0.0.1
- SYS: Firmware version: 4.87
E NETWORK: Curl error: Problem with the SSL CA cert (path? access rights?) x2

@ghost
Copy link

ghost commented May 3, 2021

Hello everyone, after digging around I have finally pinpoint the cause and come up with a solution. The problem lies in the fact that different distros have different paths for the certificate file that curl uses to verify HTTPS connection. In Debian and Ubuntu based distros, this file is /etc/ssl/certs/ca-certificates.crt. In RHEL, CentOS and Fedora distros however, this file has a different name, which is /etc/pki/tls/certs/ca-bundle.crt. The curl library in RPCS3 probably targets Debian, so it couldn't find the certificate file it needed in other distros.
So what you want to do is find the location of this certificate file in your distro, then create a symlink in /etc/ssl/certs/ with the name ca-certificates.crt and make it point to the location of the real cert file in your distro.
For RHEL, CentOS and Fedora distros, the command would be:
sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt

@mihawk90
Copy link

mihawk90 commented May 3, 2021

Thanks for that, I thought that was fairly common knowledge though, which is why I didn't mention it.

Of course this can be fixed client-side, but the whole point of AppImages is that they are supposed to be portable regardless of Distro and without modifying the user system ;)

@hcorion
Copy link
Member

hcorion commented May 3, 2021

My ideal fix for this is building our own version of Qt for our AppImage builds and using WolfSSL instead of OpenSSL, but it's something I haven't had the time to experiment with yet.

@perrsona1234
Copy link

perrsona1234 commented May 23, 2021

For RHEL, CentOS and Fedora distros, the command would be:
sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt

Just wanted to mention, that in openSUSE the command is:
sudo ln -s /etc/ssl/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

@shenada
Copy link
Author

shenada commented May 23, 2021 via email

@oltolm
Copy link
Contributor

oltolm commented Jul 13, 2023

I'm curious if this still happens with the latest version.

@shenada
Copy link
Author

shenada commented Jul 14, 2023 via email

@mihawk90
Copy link

mihawk90 commented Jul 21, 2023

Cannot reproduce on v0.0.28-15372- 38a5313

That said, I also cannot reproduce this on v0.0.15-12170- 5724d2d anymore so it's likely this got fixed on my end (Fedora 37 as of this writing).

@Mrlinkwii
Copy link
Contributor

Cannot reproduce on v0.0.29-15827- 8b6fa32
Download Compatibility Database and Check Update works as intended
on ubuntu 22.04 with the appimage

@RipleyTom
Copy link
Contributor

Closing as it's seemingly fixed.

@tcorral
Copy link

tcorral commented Sep 10, 2024

I got this error on trying to update rpcs3. I am on a macbook pro m3 silicon chip. What else do you need to know to reproduce it?

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

No branches or pull requests