komodo-wallet-desktop
komodo-wallet-desktop copied to clipboard
[BUG]: Could not initialize GLX (AppImage)
Describe the bug
Does not start (crashes on every attempt)
To Reproduce
See log below.
Expected behavior
I expect the application to run. :)
Screenshots
See log below.
Desktop (please complete the following information):
- OS: Linux (obviously, when running an AppImage :) )
- Browser: Not Applicable
- Version: 0.5.4-beta
Additional context
$ /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
[2022-02-06 08:28:14.206] [info] [main.prerequisites.hpp:337] Installing qt_message_handler
[2022-02-06 08:28:14.231] [info] [main.prerequisites.hpp:342] SSL: true OpenSSL 1.1.1g 21 Apr 2020 OpenSSL 1.1.1l 24 Aug 2021
[08:28:14] [info] [global.utilities.cpp:256] [24938]: Logger successfully initialized
[08:28:14] [info] [main.prerequisites.hpp:222] [24938]: Init timezone db
[08:28:14] [info] [main.prerequisites.hpp:145] [24938]: wally successfully initialized
[08:28:14] [info] [main.prerequisites.hpp:154] [24938]: libsodium successfully initialized
[08:28:14] [info] [main.prerequisites.hpp:160] [24938]: cleaning previous mm2 instance
mm2: no process found
[08:28:14] [info] [main.prerequisites.hpp:245] [24938]: Checking for setup default themes - theme_path: /home/user/.atomic_qt/themes original_theme_path: /tmp/.mount_atomicv1MOga/usr/share/assets/themes
[08:28:14] [info] [main.prerequisites.hpp:246] [24938]: copying default themes into directory: /home/user/.atomic_qt/themes
[08:28:14] [info] [main.prerequisites.hpp:261] [24938]: Checking for setup default logo - logo_path: /home/user/.atomic_qt/logo original_logo_path: /tmp/.mount_atomicv1MOga/usr/share/assets/logo
[08:28:14] [info] [main.prerequisites.hpp:264] [24938]: copying default logo into directory: /home/user/.atomic_qt/logo
[08:28:14] [info] [main.prerequisites.hpp:275] [24938]: Checking for settings ini reconfiguration
[08:28:14] [info] [main.prerequisites.hpp:297] [24938]: reconfiguration for settings finished
[08:28:14] [info] [main.prerequisites.hpp:180] [24938]: initializing high dpi support
[08:28:14] [warning] [main.prerequisites.hpp:92] [24938]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-user'
[08:28:14] [warning] [main.prerequisites.hpp:92] [24938]: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
[08:28:14] [warning] [main.prerequisites.hpp:92] [24938]: qglx_findConfig: Failed to finding matching FBConfig for QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize -1, redBufferSize 1, greenBufferSize 1, blueBufferSize 1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::SingleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
[08:28:14] [error] [main.prerequisites.hpp:98] [24938]: Could not initialize GLX
[08:28:14] [error] [main.prerequisites.hpp:106] [24938]: sigabort received, cleaning mm2
mm2: no process found
[08:28:14] [error] [main.prerequisites.hpp:112] [24938]: stacktrace: 0# 0x000000000045DFA3 in /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
1# 0x00007F99D880A280 in /lib64/libc.so.6
2# gsignal in /lib64/libc.so.6
3# abort in /lib64/libc.so.6
4# 0x000000000045DE81 in /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
5# 0x00007F99D9C9FFE0 in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Core.so.5
6# QMessageLogger::fatal(char const*, ...) const in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Core.so.5
7# 0x00007F99B4F80BFF in /tmp/.mount_atomicv1MOga/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
8# 0x00007F99B4F7E167 in /tmp/.mount_atomicv1MOga/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so
9# QXcbIntegration::createPlatformOpenGLContext(QOpenGLContext*) const in /tmp/.mount_atomicv1MOga/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5
10# QOpenGLContext::create() in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Gui.so.5
11# QtWebEngineCore::initialize() in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5WebEngineCore.so.5
12# QCoreApplicationPrivate::init() in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Core.so.5
13# QGuiApplicationPrivate::init() in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Gui.so.5
14# QApplicationPrivate::init() in /tmp/.mount_atomicv1MOga/usr/bin/../lib/libQt5Widgets.so.5
15# 0x00000000004600BB in /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
16# 0x000000000045D9E3 in /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
17# __libc_start_main in /lib64/libc.so.6
18# 0x0000000000437D0A in /tmp/atomicdex-desktop-0.5.4-beta-linux.AppImage
A couple of side comments:
-
Zipping the AppImage (in the releases) seems silly (it saves almost no space).
-
The level of logging impressed me (more detailed than most AppImages). I hope that it helps you track down the problem.
Hello @2011, thank you for the issue opening
On what Linux distro/version did you get this startup crash?
On what Linux distro/version did you get this startup crash?
Gentoo.
I have done a little tracing (and asking in the forums). The system does not have libGLX_indirect.so.0 on it (which an update to mesa removed about two years ago with the installation of libglvnd), and the AppImage dynamically links to it. To quote the developer "libGLX_indirect is a normally unused fallback that can't pick the vendor and so isn't installed anymore." Apparently, conflicts existed in the past (both mesa and nvidia-drivers installed that file), but my machine has Intel graphics, and thus has no copies of libGLX_indirect at all.
@smk762 could you please spin gentoo VM to try create an environment with this pb reproduction? (it'll be easier to find workaround if we'll have an env where it reproducing)
@2011 according to forums export QT_XCB_GL_INTEGRATION=none
env set might help. Could you please try that meanwhile?
Also just wondering - is there is the same problem on your side with portable version?
@2011 according to forums
export QT_XCB_GL_INTEGRATION=none
env set might help. Could you please try that meanwhile?
That did do something. :) The application started (and ran), but with a couple of issues. First of all, I run my monitor in portrait mode (1080x1920), so the window did not fit on my desktop (and apparently, I can't shrink it), and while I could move it to accomplish most things, some (such as settings) I couldn't get to work at all because clicking at the top to move the window made the settings options go away.
Second, some components just didn't show up. I lacked window controls (minimize, close), although if I clicked in the right locations, the program performed the correct actions. I found a dark mode control (that I could never see), and I would guess that each asset has some kind of graph in its line (those didn't show up at all).
I had a fairly positive impression overall, although concerns about the lack of some of the most popular assets, as well as the number of assets on other chains (sometimes the main chain didn't seem completely clear to me, and the sheer number of chains for some assets obviously increases the possibility for doing something unwanted).
Also just wondering - is there is the same problem on your side with portable version?
I will test that out and let you know.
@2011 according to forums
export QT_XCB_GL_INTEGRATION=none
env set might help. Could you please try that meanwhile?That did do something. :) The application started (and ran), but with a couple of issues. First of all, I run my monitor in portrait mode (1080x1920), so the window did not fit on my desktop (and apparently, I can't shrink it), and while I could move it to accomplish most things, some (such as settings) I couldn't get to work at all because clicking at the top to move the window made the settings options go away.
Second, some components just didn't show up. I lacked window controls (minimize, close), although if I clicked in the right locations, the program performed the correct actions. I found a dark mode control (that I could never see), and I would guess that each asset has some kind of graph in its line (those didn't show up at all).
I had a fairly positive impression overall, although concerns about the lack of some of the most popular assets, as well as the number of assets on other chains (sometimes the main chain didn't seem completely clear to me, and the sheer number of chains for some assets obviously increases the possibility for doing something unwanted).
Also just wondering - is there is the same problem on your side with portable version?
I will test that out and let you know.
Gentoo is the most complex linux distribution which target only expert and highly recommend manual builds. Maybe you should just build the app manually?
Gentoo appeals to Linux users who want full control of the software that is installed and running on their computer.
Gentoo is the most complex linux distribution which target only expert and highly recommend manual builds.
I would dispute that. Gentoo's customizability ranks as its most attractive feature (to me). I actually have a very simple system - no polkit, no pam, no pulseaudio and no systemd (the latter two falling into the category of "lennartware," of which I simply refuse to install any).
Some of the build requirements just don't translate well. I have never heard of icccm4, but have every available xcb package installed. The main libxcb package seems to have installed the xinerama libraries.
$ qlist -Iv xcb
x11-base/xcb-proto-1.14.1
x11-libs/libxcb-1.14
x11-libs/xcb-util-0.4.0-r2
x11-libs/xcb-util-cursor-0.1.3-r3
x11-libs/xcb-util-image-0.4.0-r2
x11-libs/xcb-util-keysyms-0.4.0-r2
x11-libs/xcb-util-renderutil-0.3.9-r3
x11-libs/xcb-util-wm-0.4.1-r3
$ locate icccm4
$ locate xinerama
/usr/include/xcb/xinerama.h
/usr/lib64/libxcb-xinerama.so
/usr/lib64/libxcb-xinerama.so.0
/usr/lib64/libxcb-xinerama.so.0.0.0
/usr/lib64/pkgconfig/xcb-xinerama.pc
/usr/lib64/pkgconfig/xinerama.pc
/usr/share/pkgconfig/xineramaproto.pc
/usr/share/xcb/xinerama.xml
/var/db/repos/gentoo/x11-apps/xdm/files/xdm-1.1.12-make-xinerama-optional.patch
I don't have much enthusiasm for installing llvm, either. The last time I compiled it (on a different machine - I don't have it on the one I want to run atomic-DEX on), it took over 13:50 (meaning 13 hours and 50 minutes, not 13 minutes and 50 seconds).
I have about a half-dozen other AppImages (mostly things I just don't want to build), and all of them run perfectly (including LibreOffice, a very complex piece of software, needless to say).
Maybe you should just build the app manually?
I would definitely prefer a fully-functional AppImage.
Gentoo is the most complex linux distribution which target only expert and highly recommend manual builds.
I would dispute that. Gentoo's customizability ranks as its most attractive feature (to me). I actually have a very simple system - no polkit, no pam, no pulseaudio and no systemd (the latter two falling into the category of "lennartware," of which I simply refuse to install any).
Some of the build requirements just don't translate well. I have never heard of icccm4, but have every available xcb package installed. The main libxcb package seems to have installed the xinerama libraries.
$ qlist -Iv xcb x11-base/xcb-proto-1.14.1 x11-libs/libxcb-1.14 x11-libs/xcb-util-0.4.0-r2 x11-libs/xcb-util-cursor-0.1.3-r3 x11-libs/xcb-util-image-0.4.0-r2 x11-libs/xcb-util-keysyms-0.4.0-r2 x11-libs/xcb-util-renderutil-0.3.9-r3 x11-libs/xcb-util-wm-0.4.1-r3 $ locate icccm4 $ locate xinerama /usr/include/xcb/xinerama.h /usr/lib64/libxcb-xinerama.so /usr/lib64/libxcb-xinerama.so.0 /usr/lib64/libxcb-xinerama.so.0.0.0 /usr/lib64/pkgconfig/xcb-xinerama.pc /usr/lib64/pkgconfig/xinerama.pc /usr/share/pkgconfig/xineramaproto.pc /usr/share/xcb/xinerama.xml /var/db/repos/gentoo/x11-apps/xdm/files/xdm-1.1.12-make-xinerama-optional.patch
I don't have much enthusiasm for installing llvm, either. The last time I compiled it (on a different machine - I don't have it on the one I want to run atomic-DEX on), it took over 13:50 (meaning 13 hours and 50 minutes, not 13 minutes and 50 seconds).
I have about a half-dozen other AppImages (mostly things I just don't want to build), and all of them run perfectly (including LibreOffice, a very complex piece of software, needless to say).
Maybe you should just build the app manually?
I would definitely prefer a fully-functional AppImage.
The appimage generation is done by https://github.com/probonopd/linuxdeployqt and there is many things that are non-standard inside, that's why I'm suggesting to build manually.
I would install llvm through https://packages.gentoo.org/packages/sys-devel/llvm and then build each dependencies of atomicdex desktop manually.
As far as I know, libreoffice is not a Qt project, Qt have some weird dependencies, especially for the web views.
for ref we just call linuxdeployqt here:
PS: I do not disbute gentoo for being great or not, I just assume thats a distribution that doesn't target beginner and appeal for manual builds in general. I would also love to have a fully functional appimage, but it's quite complex due to the blacklist logic of linuxdeployqt
is there is the same problem on your side with portable version?
Actually, something different (and worse). It basically kept crashing (as soon as I entered the wallet password).
LD_LIBRARY_PATH=/tmp/AntaraAtomicDexAppDir/usr/lib/ QT_XCB_GL_INTEGRATION=none /tmp/AntaraAtomicDexAppDir/AppRun
[... to the moment I hit connect after entering the password]]
[16:59:04] [info] [qt.wallet.manager.cpp:271] [23999]: qt_wallet_manager::login
[16:59:04] [info] [qt.wallet.manager.cpp:183] [23999]: Loading wallet configuration: 0
[16:59:04] [debug] [security.utilities.cpp:53] [23999]: derive_password l53 f[security.utilities.cpp]
[16:59:04] [info] [security.utilities.cpp:68] [23999]: Key generated successfully
[16:59:04] [debug] [security.utilities.cpp:103] [23999]: decrypt l103 f[security.utilities.cpp]
[16:59:04] [info] [qt.wallet.manager.cpp:53] [23999]: new wallet name: 0
[16:59:04] [info] [qt.wallet.manager.cpp:341] [23999]: Set status: initializing_mm2
[16:59:04] [info] [qt.wallet.manager.cpp:143] [23999]: Retrieve wallet name: 0
[16:59:04] [debug] [mm2.service.cpp:969] [23999]: spawn_mm2_instance l969 f[mm2.service.cpp]
[16:59:04] [debug] [mm2.service.cpp:207] [23999]: retrieve_coins_informations
[16:59:04] [debug] [mm2.service.cpp:51] [23999]: checking for reconfiguration
[16:59:04] [debug] [mm2.service.cpp:968] [23999]: balance factor is: 1
[16:59:04] [info] [mm2.service.cpp:215] [23999]: Retrieving Wallet information of /home/user/.atomic_qt/config/0.5.4-coins.0.json
[16:59:04] [info] [coins.cfg.cpp:69] [23999]: coin: LTC support segwit with current_segwit mode: false
[16:59:04] [info] [qt.global.coins.cfg.model.cpp:204] [23999]: Initializing global coin cfg model with size 494
[16:59:04] [info] [global.provider.cpp:433] [23999]: Forcing update providers
[16:59:04] [error] [mm2.service.cpp:1000] [23999]: Couldn't start mm2
The appimage generation is done by https://github.com/probonopd/linuxdeployqt and there is many things that are non-standard inside, that's why I'm suggesting to build manually.
Not familiar with that tool, but I have complained to the maintainer of those repositories about the continued use of fuse2 in AppImage. :)
I would install llvm through https://packages.gentoo.org/packages/sys-devel/llvm and then build each dependencies of atomicdex desktop manually.
Gentoo installs all packages (with the exception of closed source binaries, a few project provided binaries, and just a handful of others) by compiling them from source. The package manager scripts automate most of this, but it requires time to compile. As I mentioned before, llvm took almost 14 hours to compile on a different machine. And I notice that atomicDEX requires the monstrosity known as libQt5WebEngineCore.so.5. I just read a forum post where a Gentoo user claimed that it literally took him (on an older, slower machine) two months (from 0801 to 1001 last year) to compile qtwebengine (running 24/7). That requirement (qtwebengine) usually represents a deciding factor for me as to whether I want to install a package from source or just run a pre-built binary.
As far as I know, libreoffice is not a Qt project, Qt have some weird dependencies, especially for the web views.
LibreOffice uses its own toolkit, but can hook into both GTK+ and Qt for drawing native controls.
https://ask.libreoffice.org/t/which-gui-toolkit-is-used-by-lo/61
PS: I do not disbute gentoo for being great or not, I just assume thats a distribution that doesn't target beginner and appeal for manual builds in general.
A lot of people don't like Gentoo, but many of those simply don't understand it. It takes a bit of knowledge about how Linux work to wander away from the defaults (I frequently get annoyed with both Gentoo developers and and upstream developers, and just want to do things my own way), but anyone able to install Windows (most people don't, of course), meaning partitioning the hard drive and such, shouldn't have too much trouble getting Gentoo running. In most cases, a user just selects the packages to install, and the package manager will download and compile them with reasonable options selected.
Some packages have become so large in recent years (let me include rust, any modern browser, and LibreOffice in addition to those previously mentioned) that the resources required to compile them has made Gentoo less attractive as the choice for a desktop operating system.
And I notice that atomicDEX requires the monstrosity known as libQt5WebEngineCore.so.5
Yes unfortunately it's the only to communicate with webview with Qt at the moment, and it's quite big since it's include chromium libraries.
LibreOffice uses its own toolkit, but can hook into both GTK+ and Qt for drawing native controls.
Yeah as I thought they do use native os widgets, we use QML which have also a bunch of different libraries.
Actually, something different (and worse). It basically kept crashing (as soon as I entered the wallet password).
In the logs folder (~/atomic_qt/logs) you should have access to a file named .mm2.log
which can explains why MM2 didn't start correctly
Yes unfortunately it's the only to communicate with webview with Qt at the moment, and it's quite big since it's include chromium libraries.
I understand that. It makes development (espescially cross-platform) much easier, but it doesn't win any points for efficient use of resources.
In the logs folder (~/atomic_qt/logs) you should have access to a file named
.mm2.log
which can explains why MM2 didn't start correctly
It really doesn't say much of anything except for "Couldn't start mm2."
I previously posted the screen log, but the file log looks similar (just tried again):
[21:02:30] [info] [qt.wallet.manager.cpp:271] [31966]: qt_wallet_manager::login
[21:02:30] [info] [qt.wallet.manager.cpp:183] [31966]: Loading wallet configuration: 0
[21:02:30] [debug] [security.utilities.cpp:53] [31966]: derive_password l53 f[security.utilities.cpp]
[21:02:30] [info] [security.utilities.cpp:68] [31966]: Key generated successfully
[21:02:30] [debug] [security.utilities.cpp:103] [31966]: decrypt l103 f[security.utilities.cpp]
[21:02:30] [info] [qt.wallet.manager.cpp:53] [31966]: new wallet name: 0
[21:02:30] [info] [qt.wallet.manager.cpp:341] [31966]: Set status: initializing_mm2
[21:02:30] [info] [qt.wallet.manager.cpp:143] [31966]: Retrieve wallet name: 0
[21:02:30] [debug] [mm2.service.cpp:968] [31966]: balance factor is: 1
[21:02:30] [debug] [mm2.service.cpp:969] [31966]: spawn_mm2_instance l969 f[mm2.service.cpp]
[21:02:30] [debug] [mm2.service.cpp:207] [31966]: retrieve_coins_informations
[21:02:30] [debug] [mm2.service.cpp:51] [31966]: checking for reconfiguration
[21:02:30] [info] [mm2.service.cpp:215] [31966]: Retrieving Wallet information of /home/user/.atomic_qt/config/0.5.4-coins.0.json
[21:02:30] [info] [coins.cfg.cpp:69] [31966]: coin: LTC support segwit with current_segwit mode: false
[21:02:30] [info] [qt.global.coins.cfg.model.cpp:204] [31966]: Initializing global coin cfg model with size 494
[21:02:30] [info] [global.provider.cpp:433] [31966]: Forcing update providers
[21:02:30] [error] [mm2.service.cpp:1000] [31966]: Couldn't start mm2