在Deepin V20系统中mega启动会有报错提示:11919 segmentation fault megasync等,以下带来报错的原因和解决方法。
报错内容 bash$ megasync QFileSystemWatcher::removePaths: list is empty QFileSystemWatcher::removePaths: list is empty Setting QT_SCREEN_SCALE_FACTORS= "eDP-1=1" [1] 11919 segmentation fault megasync 注:gdb调试显示原因是一个叫libdxcb.so qt运行库出了问题: bash[DISCUZ_CODE_123]nbsp; gdb megasync (gdb) r Starting program: /usr/bin/megasync [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff1491700 (LWP 21322)] [New Thread 0x7fffebe54700 (LWP 21323)] [Thread 0x7ffff1491700 (LWP 21322) exited] QFileSystemWatcher::removePaths: list is empty QFileSystemWatcher::removePaths: list is empty [New Thread 0x7ffff1491700 (LWP 21324)] Thread 1 "megasync" received signal SIGSEGV, Segmentation fault. 0x00007ffff1a53ab4 in deepin_platform_plugin::DXcbXSettings::setting(QByteArray const&) const () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libdxcb.so (gdb)
原因和解决方法 在Ubuntu虚拟机下安装megasync,并对比了/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/路径下库文件,发现虚拟机中并没有叫libdxcb.so的库,有一个名字很像的库叫ibqxcb.so。 于是将libqcb.so粘贴到相应路径下,启动mega,但是报同样的错。 在主机中备份ibdxcb.so为ibdxcb.so.old,删除ibdxcb.so,启动megasync,可以正常启动,但是终端依然有错误输出(qt相关,经过后续考证,应该是跟同步时在文件管理器中显示相关同步状态图标有关系)。 不过so far so good,可以用了,而且不在终端启动的时候一切正常。 遂进一步考证,删除了libqxcb.so这个库,终端启动megasync,再次无法启动。 于是初步判定,qt库文件出了问题,从可以启动的机子上拷贝来libqxcb.so替换libdxcb.so这个库,可以正常使用。 libqxcb.so下载地址为:https://bbs.deepin.org/forum.php?mod=viewthread&tid=193579。 不过建议其他有时间的同志们在Debain 10上安装megasync,到相应路径下查看并替换文中所说的qt运行库,毕竟Deepin V20基于Debain 10发行版。
megasync替换相应qt库后运行状态截图
相关主题 |