KDAB / hotspot

The Linux perf GUI for performance analysis.
4.09k stars 252 forks source link

appimage broken on RHEL7 #288

Closed GitMensch closed 3 years ago

GitMensch commented 3 years ago

Describe the bug The old one works, the new one pops up shortly then exits with a return code of 1.

To Reproduce on this specific RHEL7 here Older one works, the newer one not.

#> DISPLAY=10.98.17.55:463 /home/me/hotspot-v1.3.0-x86_64-NoRustDemanglingForCentOS7.AppImage
failed to get the current screen resources
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
Qt: Failed to create XKB context!
Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ .
feature not properly read PerfHeader::Feature(MEM_TOPOLOGY) 80 0
feature not properly read PerfHeader::Feature(CPU_TOPOLOGY) 1160 1096
feature not properly read PerfHeader::Feature(SAMPLE_TIME) 16 0
feature not properly read PerfHeader::Feature(CACHE) 7048 0
unhandled event type 79   PERF_RECORD_TIME_CONV
unhandled event type 73   PERF_RECORD_THREAD_MAP
unhandled event type 74   PERF_RECORD_CPU_MAP
FINISHED_ROUND detected. Switching to automatic buffering
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
QXcbConnection: XCB error: 170 (Unknown), sequence: 173, resource id: 90, major code: 146 (Unknown), minor code: 20

#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#> DISPLAY=10.98.17.55:463 /home/me/hotspot-v1.3.0-99-gdf39e78-x86_64.AppImage
qt.qpa.xcb: X server does not support XInput 2
failed to get the current screen resources
feature not properly read PerfHeader::MEM_TOPOLOGY 80 0
feature not properly read PerfHeader::CPU_TOPOLOGY 1160 1096
feature not properly read PerfHeader::CACHE 7048 0
feature not properly read PerfHeader::SAMPLE_TIME 16 0
unhandled event type 79   PERF_RECORD_TIME_CONV
unhandled event type 73   PERF_RECORD_THREAD_MAP
unhandled event type 74   PERF_RECORD_CPU_MAP
FINISHED_ROUND detected. Switching to automatic buffering
failed to load rustc_demangle library, rust demangling support is not available. "Cannot load library rustc_demangle: (rustc_demangle: cannot open shared object file: No such file or directory)"
qt.qpa.xcb: QXcbConnection: XCB error: 1 (BadRequest), sequence: 161, resource id: 0, major code: 130 (Unknown), minor code: 47
qt.qpa.xcb: QXcbConnection: XCB error: 170 (Unknown), sequence: 176, resource id: 90, major code: 146 (Unknown), minor code: 20
The X11 connection broke (error 1). Did the X11 server die?

Note: after the message "Did the X11 server die?" I can start the older one, so the answer to that question is "no".

milianw commented 3 years ago

Nasty, can you try to run the appimage with --appimage-extract, then edit the AppRun script to start the bundled application in gdb and see if you can get a backtrace to where it crashes?

GitMensch commented 3 years ago

Looks like I made it but actually there is no "chrash" directly, the application just exits with code 1. Not sure if this debug session helps...

(gdb) start
(gdb) b exit
Breakpoint 1 at 0x7fffe421ba90 (11 locations)
(gdb) run
Starting program: /tmp/squashfs-root/usr/bin/hotspot
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
qt.qpa.xcb: X server does not support XInput 2
[New Thread 0x7fffe2535700 (LWP 833)]
failed to get the current screen resources
warning: the debug information found in "/tmp/squashfs-root/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so.debug" does not match "/tmp/squashfs-root/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_ani.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_ani.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_eps.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_eps.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_hdr.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_hdr.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_pcx.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_pcx.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_pic.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_pic.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_psd.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_psd.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_ras.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_ras.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_rgb.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_rgb.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_tga.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_tga.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/kimg_xcf.so.sym" does not match "/tmp/squashfs-root/usr/plugins/imageformats/kimg_xcf.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/libqgif.so.debug" does not match "/tmp/squashfs-root/usr/plugins/imageformats/libqgif.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/libqico.so.debug" does not match "/tmp/squashfs-root/usr/plugins/imageformats/libqico.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/libqjpeg.so.debug" does not match "/tmp/squashfs-root/usr/plugins/imageformats/libqjpeg.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/libqpdf.so.debug" does not match "/tmp/squashfs-root/usr/plugins/imageformats/libqpdf.so" (CRC mismatch).

warning: the debug information found in "/tmp/squashfs-root/usr/plugins/imageformats/libqsvg.so.debug" does not match "/tmp/squashfs-root/usr/plugins/imageformats/libqsvg.so" (CRC mismatch).

[New Thread 0x7fffdbdfd700 (LWP 834)]
[New Thread 0x7fffdb5fc700 (LWP 835)]
[New Thread 0x7fffdadfb700 (LWP 836)]
[New Thread 0x7fffda5fa700 (LWP 837)]
[New Thread 0x7fffd9df9700 (LWP 838)]
[New Thread 0x7fffd95f8700 (LWP 839)]
[New Thread 0x7fffd8df7700 (LWP 840)]
[New Thread 0x7fffc3fff700 (LWP 841)]
[New Thread 0x7fffc37fe700 (LWP 842)]
[Detaching after fork from child process 843]
[Detaching after fork from child process 862]
qt.qpa.xcb: QXcbConnection: XCB error: 1 (BadRequest), sequence: 161, resource id: 0, major code: 130 (Unknown), minor code: 47
qt.qpa.xcb: QXcbConnection: XCB error: 170 (Unknown), sequence: 176, resource id: 90, major code: 146 (Unknown), minor code: 20
The X11 connection broke (error 1). Did the X11 server die?
[Thread 0x7fffe2535700 (LWP 833) exited]

Thread 1 "hotspot" hit Breakpoint 1, 0x00007ffff5066d20 in exit () from /usr/lib64/libc.so.6
(gdb) bt
#0  0x00007ffff5066d20 in exit () from /usr/lib64/libc.so.6
#1  0x00007fffe421e301 in ?? () from /tmp/squashfs-root//usr/lib/libQt5XcbQpa.so.5
#2  0x00007fffe424db63 in ?? () from /tmp/squashfs-root//usr/lib/libQt5XcbQpa.so.5
#3  0x00007ffff04c8099 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#4  0x00007ffff04c83f8 in g_main_context_iterate.isra () from /usr/lib64/libglib-2.0.so.0
#5  0x00007ffff04c84ac in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#6  0x00007ffff5f2460e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /tmp/squashfs-root//usr/lib/libQt5Core.so.5
#7  0x00007ffff5ecd55b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /tmp/squashfs-root//usr/lib/libQt5Core.so.5
#8  0x00007ffff5ed4f6c in QCoreApplication::exec() () from /tmp/squashfs-root//usr/lib/libQt5Core.so.5
#9  0x0000000000424815 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:203
(gdb)
milianw commented 3 years ago

I guess that would be this one here:

    int connection_error = xcb_connection_has_error(xcb_connection());
    if (connection_error) {
        qWarning("The X11 connection broke (error %d). Did the X11 server die?", connection_error);
        exit(1);
    }

oh boy I wonder how to resolve that then ;-)

GitMensch commented 3 years ago

Hm,, the question would be: what has changed since hotspot-v1.3.0-x86_64-NoRustDemanglingForCentOS7.AppImage?

I guess one of those must be true and may be tweaked.

milianw commented 3 years ago

the previous appimage was compiled on an older ubuntu that is now EOL. the new appimage is build using centos7 which is a completely new setup and thus a different set of libs get merged. one would have to find the time to investigate and debug that, I don't have the time for that right now (esp. considering that the appimage seems to work on other distros).

GitMensch commented 3 years ago

Tested on a different RHEL7:

worked out of the box:

had the same issues:

issues:

As the last issue (which also was the initial one) is solved by replacing XMing (old Public Domain version) by VcXsrv (also removing the warning messages "X server does not support XInput 2" and "failed to get the current screen resources") I declare that this isn't an RHEL7 or Hotspot issue but an issue with the X-Server. Thanks for all the help.