Closed Blaskyy closed 8 years ago
什么系统?这个问题在某些系统上一直存在,但在我这里都重现不了,告诉我你的发行版、Qt版本,我在虚拟机试一下
Linux 3.10.24-1-MANJARO, qt5-base 5.2.0-1, kdebase-runtime 4.11.4, 用yaourt装的qdoubanfm-git
唔?在Archlinux我用得很正常呀,不过我是Gnome
在KDE下试试?
终于装好了KDE,BUG已重现,正在看是什么造成的
辛苦了~Merry Christmas.
Debug的时候看到是在QMediaPlayer
的setPlaylist
方法出的异常
在Gitcafe上已经收到了多个类似的Issues
跟踪发现是调用libgstreamer
一直调用到libkdecore.so.5
出了错,里面全是汇编不知道代码的意义,在Gnome3.10下完全正常,在Mac OS X和Windows下测试也正常(仅为了粗略测试程序本身逻辑是否正确,不严谨),初步怀疑是KDE4.9与Qt5之间的Bug。
Gnome3.10和Qt5的Multimedia库之间配合也有Bug,但勉强可用。
我继续测试看看Bug出在什么地方。
在KDE4环境下,libproxy用dlopen打开自己链接到libkdecore.so的模块config_kde4.so,导致Qt4的KDE4库和Qt5的程序符号冲突(这里是QHash),所以segfault了。 https://code.google.com/p/libproxy/issues/detail?id=197
像gitcafe那提到的一样,把libproxy的kde4模块移除就行: https://gitcafe.com/zonyitoo/doubanfm-qt/tickets/12
最近openSUSE Factory的Yast2软件管理用Qt5后也是这个问题: https://bugzilla.novell.com/show_bug.cgi?id=866692
看来删掉它是唯一的处理方法了。非常感谢!
亲测 KDE 5 中已无该问题,readme 文档该更新一下了
Good, thanks!
➜ ~ doubanfm-qt "Qt Warning - invalid keysym: dead_actute" Switch to channel "华语" Received new playlist with 5 songs CurrentPlaying:
artist: "陈奕迅" title: "圣诞结" album: "七" publicTime: "2003" company: "英皇娱乐" kbps: 5 like: false sid: 507939 subType: "" [1] 9798 segmentation fault (core dumped) doubanfm-qt