libcanberra-gtk i segfaulty aplikacji GTK

Jacek Konieczny jajcus w jajcus.net
Sob, 14 Lut 2009, 20:15:59 CET


On Sat, Feb 14, 2009 at 06:58:41PM +0100, Marcin Banasiak wrote:
> Osobiście nie spotkałem się z opisanym problemem, ani nie udało mi się
> go powtórzyć pomimo usilnych prób. Jednak zważywszy na fakt, że
> mieliśmy dość starą wersję tej biblioteki to wszystko jest możliwe.

[...]

> Może coś się poprawiło, o ile powodem opisanych problemów była właśnie
> ta biblioteka...

Z nową wersją biblioteki, po jej włączeniu (GTK_MODULES=canberra-gtk-module)
miałem dokładnie to samo: poklikać trochę w menu i aplikacja GTK się
wywala. Teraz jednak więcej poeksperymentowałem. Okazało się, że
zainstalowanie pulseaudio  pomogło. Już się nic nie wywala, a nawet
jakiś dźwięk z GUI zagra. Tyle, że to paskudztwo blokuje mi dźwięki 
z innych źródeł na parę sekund po każdym evencie GUI. Bardzo mi się to
nie podoba. I nie, nie mam zamiaru innych aplikacji do Pulseaudio
kierować, na cholerę mi tam jeszcze jakiś demon po środku? Cieszyłem
się, że czasy artsd/esd minęły...

Porównałem jakie biblioteki są wlinkowane do programów GTK w jednym i
drugim przypadku. Okazało się, że gdy mam zainstalowane pulseaudio, to
załadowane jest libcanberra-pulse.so, a gdy pulseaudio nie mam w
systemie, to nawet libcanberra-alsa.so nie jest załadowane --
najwyraźniej żaden sterownik do libcanberra nie jest załadowany.
Innych sterowników nie chciało mi się już testować.

To jest IMHO dość poważny błąd w libcanberra. I nawet nie chodzi o to, 
że nie użyło ALSA, jak bym się spodziewał. Nawet jak nie może załadować
żadnego sterownika, to powinno po powinno to po prostu nic nie robić, a
nie wywalać aplikację.

Pozdrowienia,
        Jacek


Więcej informacji o liście dyskusyjnej pld-devel-pl