Selur's Little Message Board

Full Version: Crash an unterschiedlichen Stellen (2023.01.22.1)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hybrid 2023.01.22.1 by Selur

Hybrid crasht mit:

double free or corruption (!prev)
[1]    4272 IOT instruction  ./Hybrid

Debug Log wird beim Crash leider nicht erzeugt.

Hybrid crasht z. B. nach Auswahl einer DVD Quelle oder oder bei Auswahl einer Option im Programm.

Ich habe gdb benutzt um eine Info zum Fehler und eine Debug Ausgabe zu bekommen.

Code:
[New Thread 0x7fffc49fe6c0 (LWP 3963)]
[Thread 0x7fffc49fe6c0 (LWP 3963) exited]
double free or corruption (!prev)

Thread 1 "Hybrid" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44    ./nptl/pthread_kill.c: Datei oder Verzeichnis nicht gefunden.
(gdb) backtrace
#0  __pthread_kill_implementation (threadid=<optimized out>,
    signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff66a9d2f in __pthread_kill_internal (signo=6,
    threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff665aef2 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/posix/raise.c:26
#3  0x00007ffff6645472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007ffff669e2d0 in __libc_message (action=action@entry=do_abort,
    fmt=fmt@entry=0x7ffff67b8459 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#5  0x00007ffff66b364a in malloc_printerr (
    str=str@entry=0x7ffff67bb138 "double free or corruption (!prev)")
    at ./malloc/malloc.c:5660
#6  0x00007ffff66b56bc in _int_free (av=0x7ffff67f1c60 <main_arena>,
    p=0x555560164b20, have_lock=<optimized out>, have_lock@entry=0)
    at ./malloc/malloc.c:4587
#7  0x00007ffff66b7d2f in __GI___libc_free (mem=<optimized out>)
    at ./malloc/malloc.c:3385
#8  0x00007ffff714876a in QWindowPrivate::destroy() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#9  0x00007ffff798afbf in QWidgetPrivate::deleteTLSysExtra() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff79994f0 in QWidget::destroy(bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff79a07d2 in QWidget::~QWidget() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
--Type <RET> for more, q to quit, c to continue without paging--
 const&, QUrl const&, QFlags<QFileDialog::Option>, QStringList const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff7b816a4 in QFileDialog::getExistingDirectory(QWidget*, QString const&, QString const&, QFlags<QFileDialog::Option>) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x0000555557ba5bbd in ?? ()
#15 0x0000555557ba980c in ?? ()
#16 0x0000555557eb0223 in ?? ()
#17 0x00007ffff6ae8cba in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff7a54fc2 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff7a5522a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007ffff7a56db8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff7a56fd7 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff79a4db8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff7962fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff796b552 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff6ab16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff796965e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff79bdbd8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff79c0f60 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff7962fae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff6ab16f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007ffff713d3ed in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#32 0x00007ffff7111cac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#33 0x00007ffff28fbeba in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#34 0x00007ffff59d77a9 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff59d7a38 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff59d7acc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff6b09836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007ffff6ab017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007ffff6ab82d6 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x000055555697dd15 in main ()
Sieht aus, als ob ein Problem mit Qt an sich besteht.
Bzw. sieht aus als ob beim Killen eines Prozesses zu einem Fehler kommt.
Ohne genauere Informationen zu Deinem Setup: Keine Ahnung.

Cu Selur
Debian Linux sid/bookworm

Linux debian 6.1.0-2-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.7-1 (2023-01-18) x86_64 GNU/Linux

Ich habe aus der Download Sektion

Code:
Hybrid Linux64bit (with base tools and most dependencies): [url=https://www.selur.de/sites/default/files/hybrid_downloads/Hybrid_20230122_Linux.7z]Qt 5.15.3 (tools)[/url] (~110MB)***

installiert.

Die ältere Version Hybrid_20221128_Linux.7z crasht nicht.

Welche Angaben benötigst Du noch?

Anmerkung:

Nach einer Unterbrechung der lauffähigen Hybrid_20221128 Version

sieht das so aus:

bt


[Thread 0x7fffd27fc6c0 (LWP 5853) exited]
[Thread 0x7fffebbff6c0 (LWP 5852) exited]
[Thread 0x7fffe8ff96c0 (LWP 5854) exited]
[Thread 0x7fffeaffd6c0 (LWP 5851) exited]
Code:
^Z
Thread 1 "Hybrid" received signal SIGTSTP, Stopped (user).
0x00007ffff671b0af in __GI___poll (fds=0x55555df84a70, nfds=2, timeout=8488) at ../sysdeps/unix/sysv/linux/poll.c:29
29    ../sysdeps/unix/sysv/linux/poll.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x00007ffff671b0af in __GI___poll (fds=0x55555df84a70, nfds=2,
    timeout=8488) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff59d79ae in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff59d7acc in g_main_context_iteration ()
   from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff6b09836 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007ffff6ab017b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007ffff6ab82d6 in QCoreApplication::exec() ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x0000555555adda80 in main ()
(gdb)



Hilft das evtl. den Fehler einzugrenzen?
In der neueren Version wird ein neueres Qt (jetzt: 5.15.3, früher: 5.9.5) verwendet, vermute, die neuere Version ist irgendwie inkompatibel mit deinem Debian.
Keine Ahnung, woran es genau liegt.

Cu Selur
Es ist bei mir zusätzlich QT5 5.15.8 und QT6  6.4.2 installiert.
Qt 5.15.8 sollte eigentlich kompatible sein.
Debian sid&bookworm sind die unstable Repositories von Debian, oder?

Cu Selur
Ja. Ich hatte auch bisher damit keine Probleme.

Hybrid_20221128 mit QT 5.9.5 scheint sich daran auch nicht zu stören.

Ich nutze ja jeweils das Hybrid "Komplettpaket" mit den QT Runtimes.
Code:
../sysdeps/unix/sysv/linux/poll.c: Datei oder Verzeichnis nicht gefunden.
./nptl/pthread_kill.c: Datei oder Verzeichnis nicht gefunden.
liest sich als ob da was im System fehlt von dem Qt ausgeht, dass es da ist. Sad
Habe aber 0-Ahnung wo das Problem ist.
Fehlt eventuell "libc6" ?

Cu Selur
Das wäre schlecht! Dann würde Linux nicht funktionieren. libc6 ist eine wichtige Laufzeitbibliothek.

Code:
ii  libc6:amd64                                    2.36-8                             amd64        GNU C Library: Shared libraries
ii  libc6:i386                                     2.36-8                             i386         GNU C Library: Shared libraries
ii  libc6-dbg:amd64                                2.36-8                             amd64        GNU C Library: detached debugging symbols
ii  libc6-dev:amd64                                2.36-8                             amd64        GNU C Library: Development Libraries and Header Files
ii  libc6-i386                                     2.36-8                             amd64        GNU C Library: 32-bit shared libraries for AMD64

Neueste Erkenntnis:

Wenn ich Hybrid in der GUI starte (im Dateimanager Thunar / XFCE) lädt die App normal und stürzt nicht ab.

Sobald ich die App im Terminal ausführe passiert folgendes:

free(): invalid pointer

[1]    9956 IOT instruction  ./Hybrid

  no file '/home/user/Downloads/hybrid/misc.ini' found,..
 Detected '/home/user/.hybrid/misc.ini',...
free(): invalid pointer
[1]    10021 IOT instruction  ./Hybrid


(gdb) run
Starting program: /home/user/Downloads/hybrid/Hybrid
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
  no file '/home/user/Downloads/hybrid/misc.ini' found,..
 Detected '/home/user/.hybrid/misc.ini',...
[New Thread 0x7ffff21ff6c0 (LWP 10064)]
[New Thread 0x7ffff14fc6c0 (LWP 10065)]
[New Thread 0x7ffff0cfb6c0 (LWP 10066)]
[New Thread 0x7fffebfff6c0 (LWP 10067)]
[New Thread 0x7fffeb7fe6c0 (LWP 10068)]
[New Thread 0x7fffeaffd6c0 (LWP 10069)]
[New Thread 0x7fffea7fc6c0 (LWP 10070)]
[New Thread 0x7fffe9ffb6c0 (LWP 10071)]
[New Thread 0x7fffe97fa6c0 (LWP 10072)]
free(): invalid pointer

Thread 1 "Hybrid" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44    ./nptl/pthread_kill.c: Datei oder Verzeichnis nicht gefunden.


Code:
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
#1  0x00007ffff66a9d2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  0x00007ffff665aef2 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff6645472 in __GI_abort () at ./stdlib/abort.c:79
#4  0x00007ffff669e2d0 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff67b8459 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#5  0x00007ffff66b364a in malloc_printerr (str=str@entry=0x7ffff67b60b1 "free(): invalid pointer") at ./malloc/malloc.c:5660
#6  0x00007ffff66b53d4 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=have_lock@entry=0) at ./malloc/malloc.c:4435
#7  0x00007ffff66b7d2f in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3385
#8  0x00007fffc668ca33 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.520.56.06
#9  0x00007fffc66887d5 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.520.56.06
#10 0x00007fffc6685d2c in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.520.56.06
#11 0x00007fffc6681e36 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.520.56.06
#12 0x00007fffc66948f1 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.520.56.06
#13 0x00007fffe8c4bb99 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#14 0x00007fffe8cb1976 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#15 0x0000000000000008 in ?? ()
#16 0x000055555aa14d60 in ?? ()
#17 0x0000000000000001 in ?? ()
#18 0x00007fffe8c4b233 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#19 0x000055555aa14d60 in ?? ()
#20 0x00007ffff7fcfa79 in call_init (env=0x7fffffffdf58, argv=0x7fffffffdf48, argc=-14800, l=0x7fffe8f16f70) at ./elf/dl-init.c:56
#21 call_init (l=0x7fffe8f16f70, argc=-14800, argv=0x7fffffffdf48, env=0x7fffffffdf58) at ./elf/dl-init.c:26
#22 0x00007ffff7fcfba4 in _dl_init (main_map=0x55555aa14d60, argc=1, argv=0x7fffffffdf48, env=0x7fffffffdf58) at ./elf/dl-init.c:117
#23 0x00007ffff676def4 in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:182
#24 0x00007ffff7fd630e in dl_open_worker (a=a@entry=0x7fffffffc990) at ./elf/dl-open.c:808
#25 0x00007ffff676de9a in __GI__dl_catch_exception (exception=<optimized out>, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
#26 0x00007ffff7fd66a8 in _dl_open (file=0x55555aa13630 "libGLX_nvidia.so.0", mode=<optimized out>, caller_dlopen=0x7ffff5818d27, nsid=<optimized out>, argc=1, argv=0x7fffffffdf48,
    env=0x7fffffffdf58) at ./elf/dl-open.c:884
#27 0x00007ffff66a42d8 in dlopen_doit (a=a@entry=0x7fffffffcc00) at ./dlfcn/dlopen.c:56
#28 0x00007ffff676de9a in __GI__dl_catch_exception (exception=exception@entry=0x7fffffffcb60, operate=<optimized out>, args=<optimized out>) at ./elf/dl-error-skeleton.c:208
#29 0x00007ffff676df4f in __GI__dl_catch_error (objname=0x7fffffffcbb8, errstring=0x7fffffffcbc0, mallocedp=0x7fffffffcbb7, operate=<optimized out>, args=<optimized out>)
    at ./elf/dl-error-skeleton.c:227
#30 0x00007ffff66a3dc7 in _dlerror_run (operate=operate@entry=0x7ffff66a4280 <dlopen_doit>, args=args@entry=0x7fffffffcc00) at ./dlfcn/dlerror.c:138
#31 0x00007ffff66a4389 in dlopen_implementation (dl_caller=<optimized out>, mode=<optimized out>, file=<optimized out>) at ./dlfcn/dlopen.c:71
#32 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
#33 0x00007ffff5818d27 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX.so.0
#34 0x00007ffff581a335 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX.so.0
#35 0x00007ffff5813630 in glXQueryExtensionsString () from /usr/lib/x86_64-linux-gnu/libGLX.so.0
#36 0x00007ffff24e97d3 in ?? () from /home/user/Downloads/hybrid/plugins/xcbglintegrations/libqxcb-glx-integration.so
#37 0x00007ffff28ed515 in QXcbWindow::create() () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#38 0x00007ffff28d9eff in QXcbIntegration::createPlatformWindow(QWindow*) const () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#39 0x00007ffff71479e1 in QWindowPrivate::create(bool, unsigned long long) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
--Type <RET> for more, q to quit, c to continue without paging--c
#40 0x00007ffff79971c5 in QWidgetPrivate::create() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#41 0x00007ffff799781b in QWidget::create(unsigned long long, bool, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#42 0x00007ffff79a480a in QWidgetPrivate::setVisible(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#43 0x0000555557af2c5a in ?? ()
#44 0x000055555697d86f in main ()
Nach dem 3.ten oder  4.ten Versuch startet Hybrid dann ohne Fehler. Nach Auswahl der DVD-Quelle stürzt die GUI dann ab.

Das ganze passiert nur beim Aufruf via Terminal. Sehr seltsam.
Unter Ubuntu 22.04 lässt sich Hybrid auch aus dem Terminal starten.
Hmm, keine Ahnung was Debian da im Terminal an der Umgebung anders macht.