Brave Browser Crash bei boot mit default Kernels

# rpm -V glibc
# 

Ja, das wurde hier auch nicht.

# zypper in -f glibc brave-browser 
Repository-Daten werden geladen... 
Installierte Pakete werden gelesen... 
Installation von 'brave-browser-1.74.48-1.x86_64' aus Repository 'Brave Browser' wird erzwungen. 
Installation von 'glibc-2.40-2.2.x86_64' aus Repository 'openSUSE-Tumbleweed-Oss' wird erzwungen. 
Paketabhängigkeiten werden aufgelöst... 

Die folgenden 2 Pakete werden erneut installiert: 
 brave-browser glibc 

2 zu installierende Pakete. 

Größe des Pakets zum Herunterladen:   118,3 MiB 

Änderung der Installationsgröße des Pakets: 
           |     375,0 MiB  erforderlich für Pakete, die installiert werden sollen 
      0 B  |  -  375,0 MiB  freigegeben von Paketen, die entfernt werden sollen

Ich habe dann auch nochmal den Brave-Browser hinzugenommen, obwohl der schon reinstalliert wurde.
Leider weiterhin kein Erfolg.

Ok das ist also schon etwas ungewöhnliches. Was passiert denn wenn man brave mit

LD_PRELAOD=/lib64/libdl.so.2  brave-browser 

startet ? Ist da eventuell SELinux aktiv ?

Das hier wäre eine Ausgabe eines Befehls, den du dann auch vorher nicht mehr in einem extra Code zitieren musst.
Man sieht hier alles:

linux64:/home/stephan # zypper in -f glibc
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Installation von 'glibc-2.38-150600.14.20.3.x86_64' aus Repository 'Update repository with updates from SUSE Linux Enterprise 15' wird erzwungen.
Paketabhängigkeiten werden aufgelöst...

Das folgende Paket wird erneut installiert:
  glibc

1 zu installierendes Paket.

Größe des Pakets zum Herunterladen:     1,9 MiB

Änderung der Installationsgröße des Pakets:
            |       6,5 MiB  erforderlich für Pakete, die installiert werden sollen
       0 B  |  -    6,5 MiB  freigegeben von Paketen, die entfernt werden sollen

Backend:  classic_rpmtrans
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): 
Abrufen: glibc-2.38-150600.14.20.3.x86_64 (Update repository with updates from SUSE Linux Enterprise 15)                                                                                      (1/1),   1,9 MiB    
Abrufen: glibc-2.38-150600.14.20.3.x86_64.rpm ................................................................................................................................................[fertig (5,9 MiB/s)]

Überprüfung auf Dateikonflikte läuft: ....................................................................................................................................................................[fertig]
(1/1) Installieren: glibc-2.38-150600.14.20.3.x86_64 .....................................................................................................................................................[fertig]
linux64:/home/stephan # 

LD_PRELAOD=/lib64/libdl.so.2  brave-browser
/opt/brave.com/brave/brave: error while loading shared libraries: libdl.so.2: cannot open shared object file: Permission denied

[quote="rawar, post:42, topic:181907"]
Ist da eventuell SELinux aktiv ?
[/quote]

In Yast Software sind  4 Dateien bzw. Libraries  als installiert gelistet:

libselinux1 SELinux runtime library
libsemanage-conf Configuration for the SELinux policy management library
libsemanage2 SELinux policy management library
libsepol2 SELinux binary policy manipulation library

Ich nutze SELinux nicht bzw. habe keine Erfahrung damit.

[quote="Sauerland, post:43, topic:181907"]
Das hier wäre eine Ausgabe eines Befehls, den du dann auch vorher nicht mehr in einem extra Code zitieren musst.
Man sieht hier alles:
[/quote]
Tja, sieht deutlich anders aus als bei mir. Wie ist das zu deuten - tiefergehender Fehler im System?
Zumal ich ja wie oben kurz angedeutet auch einige Errormeldungen angezeigt bekomme, wenn ich über  Yast Administrator den Bootloader zu konfigurieren versuche. Aus Gründen der Übersichtlichkeit wollte ich dies nun nicht in diesen Thread einbeziehen sondern das Ausgangsthema strikt einhalten.
Gibt es noch Hoffnung irgendwie die Fehlerursache zu finden?
Oder muss ich mit dem Gedanken "snapper rollback" tragen in der Hoffnung, dass in einem früheren Backup der Fehler noch nicht enthalten ist.

Bitte nie in ein Zitat/Code antworten.
Immer erst das Zitat/Code schließen, dann antworten, dann das nächste Zitat/Code, dann antworten.
Wird sonst viel zu unübersichtlicht.

Tja, sieht deutlich anders aus als bei mir. Wie ist das zu deuten - tiefergehender Fehler im System?
Zumal ich ja wie oben kurz angedeutet auch einige Errormeldungen angezeigt bekomme, wenn ich über Yast Administrator den Bootloader zu konfigurieren versuche. Aus Gründen der Übersichtlichkeit wollte ich dies nun nicht in diesen Thread einbeziehen sondern das Ausgangsthema strikt einhalten.
Gibt es noch Hoffnung irgendwie die Fehlerursache zu finden?
Oder muss ich mit dem Gedanken “snapper rollback” tragen in der Hoffnung, dass in einem früheren Backup der Fehler noch nicht enthalten ist.

Dies Zitat war in einem Code-Block eingebunden, bitte nicht wieder.
Antwort:
Poste einfach die komplette Ausgabe incl. der kompletten!!! Eingabezeile und der kompletten Zeile nach der Ausgabe bzw. der Installation:
Als root:
zypper in -f glibc

grub2-mkconfig -o /boot/grub2/grub.cfg

dracut -f

Sorry, das habe ich leider zu spät gesehen.

localhost:~> su
Passwort: 
localhost:/home/surfer # zypper in -f glibc
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...
Installation von 'glibc-2.40-2.2.x86_64' aus Repository 'openSUSE-Tumbleweed-Oss' wird erzwungen.
Paketabhängigkeiten werden aufgelöst...

Das folgende Paket wird erneut installiert:
  glibc

1 zu installierendes Paket.

Größe des Pakets zum Herunterladen:     2,0 MiB

Änderung der Installationsgröße des Pakets:
            |       6,8 MiB  erforderlich für Pakete, die installiert werden sollen
       0 B  |  -    6,8 MiB  freigegeben von Paketen, die entfernt werden sollen

Backend:  classic_rpmtrans
Fortfahren? [j/n/v/...? zeigt alle Optionen] (j): j
Abrufen: glibc-2.40-2.2.x86_64 (openSUSE-Tumbleweed-Oss)                                                                                                                                                                                                  (1/1),   2,0 MiB    
Abrufen: glibc-2.40-2.2.x86_64.rpm .......................................................................................................................................................................................................................[fertig (4,1 MiB/s)]

Überprüfung auf Dateikonflikte läuft: ................................................................................................................................................................................................................................[fertig]
(1/1) Installieren: glibc-2.40-2.2.x86_64 ............................................................................................................................................................................................................................[fertig]
Nach-Transaktions-Skripte werden ausgeführt ..........................................................................................................................................................................................................................[fertig]
localhost:/home/surfer # grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found theme: /boot/grub2/themes/openSUSE/theme.txt
Found linux image: /boot/vmlinuz-6.12.9-1-default
Found initrd image: /boot/initrd-6.12.9-1-default
Found linux image: /boot/vmlinuz-6.12.8-2-default
Found initrd image: /boot/initrd-6.12.8-2-default
Found linux image: /boot/vmlinuz-6.6.71-1-longterm
Found initrd image: /boot/initrd-6.6.71-1-longterm
Found linux image: /boot/vmlinuz-6.6.69-1-longterm
Found initrd image: /boot/initrd-6.6.69-1-longterm
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
245.005718 | DM multipath kernel driver not loaded
Found MX 23.5 Libretto (23.5) on /dev/nvme0n1p2
Adding boot menu entry for UEFI Firmware Settings ...
done
localhost:/home/surfer # dracut -f
dracut[I]: Executing: /usr/bin/dracut -f
dracut[I]: Module 'systemd-networkd' will not be installed, because command 'networkctl' could not be found!
dracut[I]: Module 'systemd-networkd' will not be installed, because command '/usr/lib/systemd/systemd-networkd' could not be found!
dracut[I]: Module 'systemd-networkd' will not be installed, because command '/usr/lib/systemd/systemd-networkd-wait-online' could not be found!
dracut[I]: Module 'systemd-pcrphase' will not be installed, because command '/usr/lib/systemd/systemd-pcrextend' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command 'portablectl' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command '/usr/lib/systemd/systemd-portabled' could not be found!
dracut[I]: Module 'systemd-resolved' will not be installed, because command 'resolvectl' could not be found!
dracut[I]: Module 'systemd-resolved' will not be installed, because command '/usr/lib/systemd/systemd-resolved' could not be found!
dracut[I]: Module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmanctl' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand-wait-online' could not be found!
dracut[I]: 35network-legacy: Could not find any command of 'dhclient wicked'!
dracut[I]: Module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut[I]: Module 'nvmf' will not be installed, because command 'jq' could not be found!
dracut[I]: Module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut[I]: Module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut[I]: memstrack is not available
dracut[I]: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut[I]: Module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut[I]: Module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut[I]: Module 'systemd-pcrphase' will not be installed, because command '/usr/lib/systemd/systemd-pcrextend' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command 'portablectl' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command '/usr/lib/systemd/systemd-portabled' could not be found!
dracut[I]: Module 'systemd-resolved' will not be installed, because command 'resolvectl' could not be found!
dracut[I]: Module 'systemd-resolved' will not be installed, because command '/usr/lib/systemd/systemd-resolved' could not be found!
dracut[I]: Module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmanctl' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand-wait-online' could not be found!
dracut[I]: 35network-legacy: Could not find any command of 'dhclient wicked'!
dracut[I]: Module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsi-iname' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsiadm' could not be found!
dracut[I]: Module 'iscsi' will not be installed, because command 'iscsid' could not be found!
dracut[I]: Module 'nvmf' will not be installed, because command 'jq' could not be found!
dracut[I]: Module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut[I]: memstrack is not available
dracut[I]: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut[I]: Module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut[I]: Module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: i18n ***
dracut[I]: *** Including module: drm ***
dracut[I]: *** Including module: plymouth ***
dracut[I]: *** Including module: btrfs ***
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: resume ***
dracut[I]: *** Including module: rootfs-block ***
dracut[I]: *** Including module: suse-btrfs ***
dracut[I]: *** Including module: suse-xfs ***
dracut[I]: *** Including module: terminfo ***
dracut[I]: *** Including module: udev-rules ***
dracut[I]: *** Including module: dracut-systemd ***
dracut[I]: *** Including module: ostree ***
dracut[I]: *** Including module: usrmount ***
dracut[I]: *** Including module: base ***
dracut[I]: *** Including module: fs-lib ***
dracut[I]: *** Including module: shutdown ***
dracut[I]: *** Including module: suse ***
dracut[I]: *** Including module: suse-initrd ***
dracut[I]: *** Including modules done ***
dracut[I]: *** Installing kernel module dependencies ***
dracut[I]: *** Installing kernel module dependencies done ***
dracut[I]: *** Resolving executable dependencies ***
dracut[I]: *** Resolving executable dependencies done ***
dracut[I]: *** Hardlinking files ***
dracut[I]: *** Hardlinking files done ***
dracut[I]: *** Generating early-microcode cpio image ***
dracut[I]: *** Store current command line parameters ***
dracut[I]: Stored kernel commandline:
dracut[I]:  rd.driver.pre=btrfs
dracut[I]:  resume=UUID=318aeeb4-64ef-40b3-8f0b-11bdfeb30cf0
dracut[I]:  root=UUID=3a83e5b7-04f7-4ba3-8ca4-61658e4db8df rootfstype=btrfs rootflags=rw,relatime,ssd,discard=async,space_cache=v2,subvolid=603,subvol=/@/.snapshots/337/snapshot,subvol=@/.snapshots/337/snapshot
dracut[I]: *** Stripping files ***
dracut[I]: *** Stripping files done ***
dracut[I]: *** Creating image file '/boot/initrd-6.6.71-1-longterm' ***
dracut[I]: *** Creating initramfs image file '/boot/initrd-6.6.71-1-longterm' done ***

Passt das so? Oder muss der Default Kernel hierfür gebootet sein?

Ist da ein anderes Linux installiert?
Wenn ja, benutzen beide zusammen nur ein /home?

Ja, das hatte ich ursprünglich genutzt. Wollte dann Tumbleweed kennelernen und habe es aber auf gesonderten Partitionen installiert.
Ein gemeinsames /home wird nicht benutzt.
Es gibt also ein eingenständiges homeMX und rootMX23.

Vielleicht ist es in dem nun recht langen Thread “untergegangen”.
Ursprünglich gab es das Problem ja nicht, und Brave-Browser lief problemlos auch
nach booten eines Default Kernels.
An der Konfiguration der Partitionen wurde dazwischen nichts verändert - jedenfalls nicht wissentlich.

Kannst Du dich denn noch erinnern, bis zu welchem Default-Kernel es funktionierte? Dann könnte man nach Änderungen in den Kernel-Versionen suchen. Andererseits: Bei mir funktioniert es mit dem aktuellen Kernel 6.12.9-1.

Ich meinte eigentlich ob es für Tumbleweed und MX eine gemeinsame /home Partition gibt?

Nein, die gibt es wie angedeutet nicht.

Nur zur Info den Default Boot Kernel per Yast setzen funktioniert eigentlich auch mit Tumbleweed. Habe damit mal einen Test mit kernel 6.12.8-2-default gemacht und der brave-browser startet hier ohne Problem. Auf einer zweiten Tumbleweed VM mit aktiven SELinux und Kernel 6.12.9 funktionierte ein temporär installierter brave-browser auch ohne Problem.

AppArmor sollte ja eigentlich den brave-browser nicht groß beeinflussen aber man könnte als root hiermit

grep -i apparmor /var/log/audit/audit.log |grep -E "REJECT|DENIED" 

prüfen ob nicht doch was abgelehnt wurde warum auch immer.

Habe ich gemacht und hier gepostet:

https://paste.opensuse.org/pastes/350b4a848b9f

Sehr schön wenn ich mir diese Zeile so ansehe:

type=AVC msg=audit(1737393595.145:307): apparmor="DENIED" operation="open" class="file" profile="brave" name="/usr/lib64/libdl.so.2" pid=2457 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
type=AVC msg=audit(1737393595.145:311): apparmor="DENIED" operation="open" class="file" profile="brave" name="/usr/lib64/libdl.so.2" pid=2457 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
type=AVC msg=audit(1737399467.520:409): apparmor="DENIED" operation="open" class="file" profile="brave" name="/usr/lib64/libdl.so.2" pid=11762 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
type=AVC msg=audit(1737399467.520:413): apparmor="DENIED" operation="open" class="file" profile="brave" name="/usr/lib64/libdl.so.2" pid=11762 comm="brave" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

dann ist das doch genau das Problem das öffnen der libdl.so.2 wird von Apparmor gesperrt. Das geschieht auf meinem System definitiv nicht.
Ich habe leider keine große Apparmor Expertise aber man könnte das mal temporär dekativieren also z.B. als root

aa-teardown

und dann testen ob brave startet.

Dein Post hat mich veranlasst nochmal bei Apparmor weiter nachzuschauen.
Denn mein längerer Post auf susepaste war unter dem Longtermkernel erstellt worden.
Allerdings hatte ich das mit den Meldungen beim Default Kernel abgeglichen und keine eindeutigen Unterschiede erkennen können.
Daher habe ich - ehe ich deinen geposteten Command anwenden wollte - vorher nochmal

sudo aa-status

überprüft
Da fiel auf , dass unter dem Longterm-Kernel

brave unconfined

war, nach booten mit dem Default Kernel jedoch

brave enforced

angezeigt wurde.

Beim Versuch brave bzw. opt.brave unter /etc/apparmor.d im CLI auf

aa-complain 

zu ändern, gab es Fehlermeldungen, dass diese nicht in

/etc/apparmor.d/tunables/confidential 

zu finden seien , wobei /…/confidential gar nicht angelegt war.
Da ich hier nicht weiter kam und mich in Apparmor noch weiter einlesen muss,
habe ich brave und opt.brave gelöscht.
Seitdem startet der Brave-Browser auch mit Default Kernel wieder, obwohl nach Eingabe von

grep -i apparmor /var/log/audit/audit.log |grep -E "REJECT|DENIED" 

weiterhin die selben Meldungen erscheinen, die du im Post zuvor aufgeführt hast.
Ich erinnere mich, dass ich mal versucht hatte, Brave von “unconfined” auf “enforced” zu setzen, vermutlich unter dem Default-Kernel, wäre aber nie auf den Gedanken gekommen, dass das im Default-und Longterm-Kernel unterschiedlich behandelt wird.
Erst dein Post brachte mich wie geschrieben darauf, hier nochmal nachzuschauen.
Tja, vielleicht hat jemand eine Erklärung wie das zustande kommt?
Wäre interessant, das besser nachvollziehen zu können.

Damit ist dieses Problem wohl gelöst, wenn auch wie gesagt für mich ursächlich nicht völlig geklärt.

Ich möchte mich sehr bei allen bedanken, die mir geantwortet haben, davon einige mit viel Geduld sich immer wieder mit weiteren Lösungsvorschlägen bzw. Korrekturen zugeschaltet haben.
Das fand ich echt beeindruckend!

Ok das akute Problem ist damit behoben. Ich habe gerade nochmal einen Test mit den letzten beiden Default Kernel und dem Longterm Kernel gemacht und wenn ich dabei brave in den enforced Mode versetze zeigen alle 3 das libdl Problem. Wenn dann erneut complain bzw. unconfined gesetzt ist funktionieren das wie eigentlich zu erwarten mit jedem der 3 Kernel. Die Ursache für das doch ziemlich irritierende Verhalten deiner Installation liegt also nicht zwangsläufig bei den jeweiligen Kernel an sich.
Ich vermute mal das an den jeweiligen Kernel Parametern von dir nichts geändert wurde.

Ja, das vermutest du richtig. Wissentlich wurde nichts verändert.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.