Pardus 25 Gnome de geliştirdiğim ptyhon pyqt5 ile yazılmış medya player uygulaması var . Uygulama tamamen bitti fakat bir sorunu bir türlü aşamadım . Uygulama tam ekrandan çıkış yapınca yada sürükliyerek dosya eklerken Gnome-Shell çöküyor ve oturum kapanıyor . Bu Sorun X11 de yaşanmıyor Sadece wayland oturumu açınca yaşanıyor . Yapay zeka desteği ile Sorunu araştırdım . Loglardan anlaşılan Waylandaki bir bug sebep oluyormuş .
Yapay zeka cevabı (Hata loglarından elde edilen verilere göre):
Pardus 25 Gnome Wayland oturumunda XWayland üzerinde çalışan bir uygulama kapatılırken veya dosya sürüklenirken Gnome Shell SEGV ile çöküyor ve oturum tamamen kapanıyor.
Sistem bilgileri:
Pardus 25 Gnome Wayland oturumu
libmutter-16: 48.7-0+deb13u1
xwayland: 2:24.1.6-1
Hata logu:
org.gnome.Shell@wayland.service: Main process exited, code=killed, status=11/SEGV
XWayland üzerinde çalışan uygulama kapanırken meta_selection_unset_owner fonksiyonunda null pointer hatası oluşuyor ve Gnome Shell tamamen çöküyor. Bu Mutter’ın XWayland selection yönetiminde bilinen bir bug.
Bu sorun için bir güncelleme planlanıyor mu? Bir çözüm var mı? 1 ayı geçik test ediyorum saç baş yoldurdu artık . PyQt5’ten PyQt6’ya geçiş yaptım bir bunda deniyorum şuan . Çökme olacakmı artık kontrol ediyorum Wayland da .
Uygulamanız ek Thread kullanıyor mu? Thread kullanımlarında senkronizasyon ve erişim problemlerine de dikkat etmeniz gerekiyor. Crashi tetikleyen kodu direkt görseydik iyi olabilirdi.
Bir de Qt6 için Qt’nin kendi kütüphanesini kullanmayı deneyebilirsiniz: PySide6 · PyPI
Qt’nin Wayland desteği var aslında, XWayland kullanmaması lazım.
Açık kaynak olarak github.com veya gitlab.org gibi bir sitede projenizi paylaşabilirsiniz isterseniz.
Debian tarafındaki paketlerin sorunlarıyla alakalı hata bildirimi için reportbug paketi var onu kullanabilirsiniz:
sudo apt install reportbug
Sonra da
reportbug
Size bug ile alakalı sorular soracak.
Hatayı mail olarak göndereceği için mail ayarlamaları da yapmanız gerekiyor. Örneğin gmail için mail ayarlarınızdan smtp izinlerini verip ilgili adresleri bu programa girmelisiniz.
YZ’den destek alırsanız 1-2 günde değiştirebilirsiniz. Ama uyarıyorum: YZ’ye güvenmeyin ve hep yedek alın.
Değişiklik sonrası şununla kesinlikle karşılaşırsınız: Qt’nin multimedia kütüphaneleriyle bir video ya da ses oynatacağınız zaman, play’a ilk bastığınızda bazen birkaç saniye bekletiyor ve geç başlıyor. Qt5’de bununla karşılaşmıştım, ama Qt6’da düzeltmişler mi diye hiç denemedim. Bunun dışına hiçbir sorun yok, güzel çalışıyor.
Konuyla ilgili mi, sorunu çözer mi bilmiyorum. Ben kodumun başına hep şunu yapıştırıyorum (import satırlarının bittiği yere, ilk class satırının üstüne):
Geçenlerde bir uygulamamda YZ şunu kullanmamı önerdi:
# Wayland ve modern masaüstü ortamları için uyumluluk ayarları
if "GNOME" in os.environ.get("XDG_CURRENT_DESKTOP", ""):
os.environ["QT_QPA_PLATFORM"] = "wayland;xcb"
Çok bildiğimden değil. Eğer uygulamıyorsanız bir deneyin diye yazdım.
Media Player’ınızda sadece ses oynatacaksanız pygame de deneyebilirsiniz. (bağımlılık boyutunu büyütür).
Geçmişte libvlc kütüphanelerini de test ettim, iyi çalışıyordu ama şimdi hatırlayamadığım sorunlar yüzünden kullanmadım.
Sorunun neyin sebep olduğunu çözdüm . Çalma listesine dosya sürükliyerek medyaları ekleyip .Sonra çalma listesindeki medyaların yerini fare ile değiştirip sliderı sona kadar sarıp medya geçişi yaptırıp uygulama penceresinin X işaretinden çıkış yapınca istisnasız Gnome-Shell çöküğünü çözdüm . Aylardır denediğim halde çözememiştim tam olarak ne yapınca çöktüğünü . Sorun nokta atışı olunca çözüm de nokta atışı oldu . Şuan uygulama sorunsuz deneme aşamasında halen. Yanlız bu sıkıntı yinede uygulamadaki kod hatası değil . Gnome nin işleri düzgün yürütememesinden kaynaklı .