Kompilieren von Thunar wegen permanenter Crashes

Hallo zusammen,

da mir die ständigen Crashes (seit Wochen/Monaten, auch mit 1.8.8 - BTW in der Hilfe steht noch 1.8.4) von Thunar auf den Zeiger gehen, benötige ich kompetente Hilfe bei der eigenen Kompilierung incl. Debuggen, damit ich die Bug Reports melden kann.

Ich bin kein Anfänger, hab das aber bisher erst nur ein, zwei Mal gemacht und irgendwie mag das bei Thunarnicht klappen.
Ausführliche Anleitung bzw. Hilfe auf Nachfragen also dringend benötigt.

Wer mag und traut sich das zu?

Vielen Dank schonmal im voraus.
LAZA

Zieh dir einfach die PKGBUILD von
https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/thunar
und starte makepkg -s
(Vorausgesetzt du willst das Vanilla Thunar von Arch)

Was meinst du mit Debuggen?
Eventuell müsstest Du hier noch einige Optionen aktivieren.
In diesem Fall mindestens --disable-debug aus der PKGBUILD streichen.

Danke für deine Hilfe! <3

" Zieh dir einfach die PKGBUILD von
https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/thunar
und starte makepkg -s"

Da gehts schon los, ich erhalte immer html-Dateien. :frowning:

Ich hab mir einfach die Plain Datei kopiert und PKGBUILD genannt...

Ah ja, sorry, hier der direkte Link zur Plaintext-Datei:
https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/thunar

Sieht soweit gut aus, ist mit --enable-debug bis auf ein paar Warnungen durchgelaufen.

Und jetzt hab ich wohl Thunar in ~/PKGBUILD/pkg/thunar/usr/ - richtig?

Weiss ich ehrlich gesagt nicht :slight_smile: das hängt von deiner Konfiguration in /etc/makepkg.conf ab (dort kannst du einstellen wo die Pakete landen).

Das fertige Paket dann einfach mit pacman -U installieren.

Hat auch geklappt.

Thunar startet wie gewohnt übers Menü.
Aber ich will das Ganze ja nun mit gdb machen, richtig?

Für Manjaro haben wir die PKGBUILD in unserem gitlab.

Gerne auch Deine Erkenntnisse mit uns teilen.

1 Like

Du könntest zunächst mal Thunar aus der Kommandozeile starten, mit aktiviertem Debug dürften da sicherlich ein paar Meldungen auftauchen.

Okay, das mach ich.

Da ich den Thunar ca. 5 Mal offen hab wirds sicherlich bald knallen.

Reports an
https://bugzilla.xfce.org/
nehme ich an.

Ich weiss jetzt nicht ob Debugging-Symbole dabei sind, wurden wahrscheinlich (per Default) gestrippt.

Mit GDB kenne ich mich nicht so aus, aber grundsätzlich kannst Du es starten mit
gdb thunar
gefolgt von dem Befehl start

1 Like

Danke mal für deine Hilfe @torvic und den Tip @philm.

Ich melde mich wieder, wenns was Neues oder Probleme gibt. :smile:

Das ging schnell:

$ gdb thunar
GNU gdb (GDB) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from thunar...
(gdb) start
Temporary breakpoint 1 at 0x27980: file main.c, line 117.
Starting program: /usr/local/bin/thunar 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffe068) at main.c:117
117	main.c: Datei oder Verzeichnis nicht gefunden.
(gdb) 

Ein Problem beim Kompilieren, Installieren oder der Quelle?

Tippe noch bt im GDB ein, dann gibt es vielleicht ein Backtrace.

Nicht wirklich viel:

$ gdb thunar
GNU gdb (GDB) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from thunar...
(gdb) start
Temporary breakpoint 1 at 0x27980: file main.c, line 117.
Starting program: /usr/local/bin/thunar 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffe068) at main.c:117
117	main.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x000055555557b980 in main (argc=1, argv=0x7fffffffe068) at main.c:117
(gdb) bt full
#0  0x000055555557b980 in main (argc=1, argv=0x7fffffffe068) at main.c:117
        application = <optimized out>
        error = 0x0

Die Ausgabe von makepkg -s liegt hier:
https://filehorst.de/d/czEACpCo


Ich hab mittlerweile rausgefunden, daß man mit

gdb thunar
r

startet - dann läufts auch ohne Probleme.

Liegt wohl daran dass ein Breakpoint gesetzt wurde - da wird die Ausführung angehalten.

Das heißt für mich?

BTW:
Ich habe eben nochmals frisch kompiliert mit

 options=('!strip')

Gibt es irgendeinen besonderen Grund warum du ein Thunar Binary im /usr/local/bin/ Ordner hast?

Wenn du mit makepkg und dann mit pacman das Thunar Paket installiert hast, befindet sich das Thunar Binary in /usr/bin/ . Außer natürlich du hast es explicit nochmal dort hin kopiert, aber warum?

Selbst wenn du ein AUR Paket von Thunar installierst, wäre in /usr/local/bin/ nichts. Da sind eigentlich nur Binarys die man selbst dort hin kopiert hat oder wenn man beim ./configure keinen Präfix ( --prefix= ) setzt. Das kommt bei Paketen aus dem Repo aber eigentlich nicht vor.

Wenn du mal selbst im Dateisystem rum gefummelt hast, könnte das auch erklären warum bei dir in der Hilfe noch 1.8.4 angezeigt wird. Denn das passiert bei mir weder bei Manjaros Thunar ( thunar-gtk3 ) noch bei dem originalen Arch Thunar ( thunar )

2 Likes

Soweit ich weiss kann man in diesen Ordner Symlinks zu Firejail anlegen, so dass das Programm automatisch mit Firejail startet.
Weiss aber nicht ob das bei LAZA der Fall ist.

1 Like

Das stimmt natürlich, an Firejail hatte ich nicht gedacht.