达梦数据库DM8的DM管理工具manger命令行启动时出错Manager:10369的处理方法
系统环境
VM15.5+中标麒麟+DM8
错误提示
[[email protected] tool]$ ./manager
(Manager:10369): GLib-GObject-WARNING **: 18:44:34.490: invalid (NULL) pointer instance
(Manager:10369): GLib-GObject-CRITICAL **: 18:44:34.490: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(Manager:10369): Gtk-CRITICAL **: 18:44:34.491: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gtk-WARNING **: 18:44:34.498: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:10369): Gtk-WARNING **: 18:44:34.498: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_display_get_pointer: assertion 'GDK_IS_DISPLAY (display)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_monitor_at_point: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gtk-WARNING **: 18:44:34.498: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_n_monitors: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gtk-WARNING **: 18:44:34.498: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_monitor_geometry: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
(Manager:10369): Gdk-CRITICAL **: 18:44:34.498: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f016c3ea2c7, pid=10369, tid=139644245047040
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libgdk-x11-2.0.so.0+0x7b2c7] __float128+0x7
#
# An error report file with more information is saved as:
# /dm8/tool/hs_err_pid10369.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
./manager: 行 17: 10369 已放弃 (吐核)"$JAVA_HOME/bin/java" -XX:+PerfDisableSharedMem -DDM_HOME="$DM_HOME" -Djava.library.path="$DM_HOME/bin" -Ddameng.log.file="$TOOL_HOME/log4j.xml" -DeclipseHome="$TOOL_HOME" -Dosgi.nl="$INSTALL_LANGUAGE" -Ddameng.dts.explorer.root="$TOOL_HOME/workspace/local/dts" -Ddameng.isql.explorer.root="$TOOL_HOME/workspace/local/isql" -Duse_bak2=true -Dapp.name=manager -XX:MaxPermSize=256m -jar "$TOOL_HOME/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" -os linux -ws gtk -arch x86_64 -showsplash "$TOOL_HOME/manager.bmp" -data "$TOOL_HOME/workspace/manager" -product com.dameng.manager.product -name Manager
[[email protected] tool]$
解决方法
上述提示,是因为DISPLAY 变量导致。
1、root 账户下检查DISPLAY变量的值
[[email protected] tool]$ su - root
执行如下命令,查看变量:printenv
在上述信息中,没有列出DISPLAY的值。或者 执行如下:echo $DISPLAY
上面没有显示DISPLAY的值。
2、如果没有显示DISPLAY的值,则执行如下命令:export DISPLAY=:2
设定DISPLAY的值为2,设定之后再echo检查一下。
3、执行命令: xhost +
如果显示的是 xhost: unable to open display ":2",就再重新给DISPLAY赋值,直到出现“access control disabled, clients can connect from any host”的提示。下图是设置DISPLAY为0。
执行正常之后,结果显示如下:
4、切换账号:su - dmdba

5、检查DISPLAY的值:echo $DISPLAY
此处显示的值,如果和第2步设置的DISPLAY的值相同,则直接进入到第7步。
6、设置DISPLAY的值,此处要和root账号下的DISPLAY保持一致
export DISPLAY=:0

7、执行xhost +
执行正常时候,结果显示如下:
标志着可以进入到正常启动manger的阶段了。
8、进入到目标目录 /dm8/tool/执行命令./manger
当出现如下的图形化管理工具启动页面,就意味着成功了。
大功告成。