貌似最新的glib2.42会导致所有deepin的软件无法运行
Tofloor
poster avatar
dehavilland
deepin
2014-10-07 13:20
Author
使用的是archlinux,原来deepin music player用的好好的,突然不能运行了。输出如下:
  1. ** Message: pygobject_register_sinkfunc is deprecated (GstObject)
  2. INFO     Loading settings...
  3. INFO     Loading application theme...
  4. INFO     Loading MediaDB...
  5. INFO     Initialize Gui...
  6. Xlib.protocol.request.QueryExtension
  7. /usr/share/deepin-music/src/widget/lyrics.py:60: Warning: The property GtkWindow:allow-shrink is deprecated and shouldn't be used anymore. It will be removed in a future version.
  8.   self.set_property("allow-shrink", True)
  9. Error grabbing key 172, 0x1925120
  10. INFO     MMKeys mode: mmkeys
  11. Attempt to unlock mutex that was not locked
  12. 已放弃 (核心已转储)
Copy the Code

好像和pygtk有关的深度软件(深度音乐,深度终端,深度游戏中心)都遭殃了。因为是python所以不知道怎么debug,后来在网上查看了一下,是最新的glib2.42的问题...

在glib2.42源码中glib/gthread-posix.c约1320行处:
  1. static void __attribute__((noinline))
  2. g_mutex_unlock_slowpath (GMutex *mutex,
  3.                          guint   prev)
  4. {
  5.   /* We seem to get better code for the uncontended case by splitting
  6.    * this out...
  7.    */
  8.   if G_UNLIKELY (prev == 0)
  9.     {
  10.       fprintf (stderr, "Attempt to unlock mutex that was not locked\n");
  11.       abort ();
  12.     }
  13.   syscall (__NR_futex, &mutex->i[0], (gsize) FUTEX_WAKE, (gsize) 1, NULL);
  14. }
Copy the Code

把abort();注释掉,重新编译glib,安装,深度音乐等就又可以正常运行了。
Reply Favorite View the author
All Replies
cxbii
deepin
2014-10-08 18:01
#1
建议楼主去给python报bug啦。
我还没去过python的bug上报页面,哈哈
Reply View the author