How do I get rid of "Pango-CRITICAL" errors when running "hammer" commands?

Question: How do I get rid of "Pango-CRITICAL" errors when running "hammer" commands?

Pango-CRITICAL errors
[jenkins@ttb ~]$ hammer show version
Using /opt/datical/DaticalDB/repl/../jre/bin/java
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0

(Hammer-bin:23487): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(Hammer-bin:23487): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

(Hammer-bin:23487): GLib-GObject-WARNING **: value "TRUE" of type `gboolean' is invalid or out of range for property `visible' of type `gboolean'

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

(Hammer-bin:23487): Gtk-WARNING **: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window

(Hammer-bin:23487): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_alignment: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_icon_theme_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_icon_size_lookup_for_settings: assertion `GTK_IS_SETTINGS (settings)' failed

(Hammer-bin:23487): Gtk-WARNING **: Invalid icon size 6


(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_icon_theme_load_icon: assertion `GTK_IS_ICON_THEME (icon_theme)' failed

(Hammer-bin:23487): Gtk-WARNING **: Error loading theme icon 'gtk-dialog-error' for stock:

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_icon_size_lookup_for_settings: assertion `GTK_IS_SETTINGS (settings)' failed

(Hammer-bin:23487): Gtk-WARNING **: gtkstyle.c:2355: invalid icon size '6'

(Hammer-bin:23487): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(Hammer-bin:23487): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(Hammer-bin:23487): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_alignment: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_wrap: assertion `PANGO_IS_LAYOUT (layout)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(Hammer-bin:23487): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(Hammer-bin:23487): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(Hammer-bin:23487): Gdk-CRITICAL **: IA__gdk_screen_get_width: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Gdk-CRITICAL **: IA__gdk_screen_get_width: assertion `GDK_IS_SCREEN (screen)' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(Hammer-bin:23487): Pango-CRITICAL **: pango_layout_get_line_count: assertion `layout != NULL' failed
/opt/datical/DaticalDB/repl/hammer: line 98: 23487 Floating point exception"${INSTALL_DIR}"/hammer-bin --launcher.appendVmargs "$@" -vm "${JAVA_EXEC}" -vmargs ${VMARGS} ${debug}
[jenkins@ttb ~]$


Answer: The error is indicating that it is trying to display a message to screen but there is no DISPLAY variable setup. If you are running X Windows, you can set the DISPLAY environment variable as 

export DISPLAY=:0.0

Run the "hammer" command again and the error will be displayed in a pop-up window.

Most likely cause of this error is that you ran "hammer" command as a different user (or ran it as a "root" user). Now you are trying to run the same command as different user with lower set of permissions (e.g., "jenkins" user). 

When you run "hammer" as higher privileged user, such as "root" user, Datical creates files which are owned by that user. When you later run "hammer" as lower privileged user, Datical wants to modify files created by higher-privileged user and fails. 

The fix requires you to log into the server as the higher-privileged user and remove "org.eclipse.osgi" directory from <DaticalDB_install_directory>/repl/configuration directory. See steps below:


[root@ttb ~]#
[root@ttb ~]# cd /opt/datical/DaticalDB/repl/configuration/
[root@ttb configuration]# ls -alh
total 36K
drwxrwxr-x 6 jenkins jenkins 4.0K Mar  2 12:46 .
drwxrwxr-x 8 jenkins jenkins 4.0K Mar  2 12:39 ..
-rw-rw-r-- 1 jenkins jenkins 8.7K Feb 14 15:50 config.ini
drwxrwxr-x 3 jenkins jenkins 4.0K Mar  2 12:39 org.eclipse.core.runtime
drwxrwxr-x 3 jenkins jenkins 4.0K Feb 14 15:47 org.eclipse.equinox.app
drwxr-xr-x 4 root    root    4.0K Mar  2 12:39 org.eclipse.osgi
drwxrwxr-x 2 jenkins jenkins 4.0K Feb 14 15:46 org.eclipse.update
[root@ttb configuration]# rm -rf org.eclipse.osgi
[root@ttb configuration]# ls -alh
total 32K
drwxrwxr-x 5 jenkins jenkins 4.0K Mar  2 12:46 .
drwxrwxr-x 8 jenkins jenkins 4.0K Mar  2 12:39 ..
-rw-rw-r-- 1 jenkins jenkins 8.7K Feb 14 15:50 config.ini
drwxrwxr-x 3 jenkins jenkins 4.0K Mar  2 12:39 org.eclipse.core.runtime
drwxrwxr-x 3 jenkins jenkins 4.0K Feb 14 15:47 org.eclipse.equinox.app
drwxrwxr-x 2 jenkins jenkins 4.0K Feb 14 15:46 org.eclipse.update
[root@ttb configuration]#


Copyright © Datical 2012-2020 - Proprietary and Confidential