ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Manjaro下‘GTK_IS_STYLE_PROVIDER_PRIVATE (provider)‘ failed解决方案

2022-01-13 23:34:12  阅读:241  来源: 互联网

标签:Manjaro STYLE gzclient GTK so.0 provider 2.0 gui libgobject


问题描述

本人在Manjaro下运行ROS机器人的仿真Gazebo,但是发现Gazebo无法启动GUI,而且有以下的报错:

[gzclient   -2] 
[gzclient   -2] (process:9324): Gtk-CRITICAL **: 22:09:14.280: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
[gzclient   -2] 
[gzclient   -2] (process:9324): Gtk-CRITICAL **: 22:09:14.280: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
[gzclient   -2] 
[gzclient   -2] (process:9324): Gtk-CRITICAL **: 22:09:14.280: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
[ERROR] [gzclient   -2]: process has died [pid 9324, exit code -11, cmd 'gzclient   '].

Crash发生在gzclient线程下,这个问题一度卡了我好几个小时,差点就去调试Gazebo的代码了。

问题分析

首先,我们可以查看程序的调用栈:

journalctl

shift+G到最后,可以看到:

Stack trace of thread 10463:
             #0  0x00007fab2161799b g_logv (libglib-2.0.so.0 + 0x5c99b)
             #1  0x00007fab21617c70 g_log (libglib-2.0.so.0 + 0x5cc70)
             #2  0x00007faae1cf9b53 n/a (libgtk-3.so.0 + 0x290b53)
             #3  0x00007faae1b821e0 n/a (libgtk-3.so.0 + 0x1191e0)
             #4  0x00007faae1b97074 n/a (libgtk-3.so.0 + 0x12e074)
             #5  0x00007faae1b88f55 n/a (libgtk-3.so.0 + 0x11ff55)
             #6  0x00007fab1e9f0833 g_type_create_instance (libgobject-2.0.so.0 + 0x39833)
             #7  0x00007fab1e9d82f6 n/a (libgobject-2.0.so.0 + 0x212f6)
             #8  0x00007fab1e9d932d g_object_new_with_properties (libgobject-2.0.so.0 + 0x2232d)
             #9  0x00007fab1e9d9d12 g_object_new (libgobject-2.0.so.0 + 0x22d12)
             #10 0x00007faae1d92eff n/a (libgtk-3.so.0 + 0x329eff)
             #11 0x00007fab1e9f0833 g_type_create_instance (libgobject-2.0.so.0 + 0x39833)
             #12 0x00007fab1e9d82f6 n/a (libgobject-2.0.so.0 + 0x212f6)
             #13 0x00007fab1e9d978b g_object_new_valist (libgobject-2.0.so.0 + 0x2278b)
             #14 0x00007fab1e9d9cea g_object_new (libgobject-2.0.so.0 + 0x22cea)
             #15 0x00007faaf01c0f9c _ZN22QGtk3ColorDialogHelperC1Ev (libqgnomeplatformtheme.so + 0x18f9c)
             #16 0x00007faaf01be9e7 _ZNK19QGnomePlatformTheme26createPlatformDialogHelperEN14QPlatformTheme10DialogTypeE (libqgnomeplatformtheme.so + 0x169e7)
             #17 0x00007fab24fbc7a6 _ZNK14QDialogPrivate14platformHelperEv (libQt5Widgets.so.5 + 0x3567a6)
             #18 0x00007fab24fc2b2c _ZN12QColorDialogC1ERK6QColorP7QWidget (libQt5Widgets.so.5 + 0x35cb2c)
             #19 0x00007fab26953949 _ZN6gazebo3gui21BuildingEditorPaletteC2EP7QWidget (libgazebo_gui.so.11 + 0x2a5949)
             #20 0x00007fab2694d32a _ZN6gazebo3gui14BuildingEditorC1EPNS0_10MainWindowE (libgazebo_gui.so.11 + 0x29f32a)
             #21 0x00007fab268b2ca9 _ZN6gazebo3gui10MainWindow13CreateEditorsEv (libgazebo_gui.so.11 + 0x204ca9)
             #22 0x00007fab268bed30 _ZN6gazebo3gui10MainWindowC1Ev (libgazebo_gui.so.11 + 0x210d30)
             #23 0x00007fab2687ecab _ZN6gazebo3gui4loadEv (libgazebo_gui.so.11 + 0x1d0cab)
             #24 0x00007fab2687ee6d _ZN6gazebo3gui3runEiPPc (libgazebo_gui.so.11 + 0x1d0e6d)
             #25 0x000055b61493952c n/a (gzclient-11.9.1 + 0x552c)
             #26 0x00007fab2565cb25 __libc_start_main (libc.so.6 + 0x27b25)
             #27 0x000055b6149395ee n/a (gzclient-11.9.1 + 0x55ee)

我们可以看到,出现这个问题肯定不是Gazebo的锅,错误发生在libQt5Widgets向下调用gtk过程中。
所以,我在Google上尝试搜索libQt5WidgetsGTK_IS_STYLE_PROVIDER_PRIVATE两个关键词,好家伙,这个时候发现很多Manjaro用户在网上求助相同的问题。

问题解决

参考Manjaro论坛中的帖子
删除.config下的qt5ct文件夹

rm -rf ~/.config/qt5ct

问题便解决了,我的Gazebo也成功打开了:)
在这里插入图片描述

标签:Manjaro,STYLE,gzclient,GTK,so.0,provider,2.0,gui,libgobject
来源: https://blog.csdn.net/aabbfan/article/details/122484633

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有