Bug 716663 - systemadm crashes if X11 display is unavailable
Summary: systemadm crashes if X11 display is unavailable
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: systemd
Version: 15
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Michal Schmidt
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-06-26 07:22 UTC by udo
Modified: 2011-07-15 01:23 UTC (History)
7 users (show)

Fixed In Version: systemd-26-8.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-15 01:23:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description udo 2011-06-26 07:22:35 UTC
Description of problem:
systemadm (from systemd-gtk, not in the selection list) crashes on startup

Version-Release number of selected component (if applicable):
# rpm -qf `which systemadm`
systemd-gtk-26-4.fc15.x86_64


How reproducible:
start it

Steps to Reproduce:
1. see below
2.
3.
  
Actual results:
see below

Expected results:
nice error about DISPLAY variable

Additional info:
# systemadm

(systemadm:12104): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(systemadm:12104): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed

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

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_attributes: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_alignment: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_icon_theme_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_icon_size_lookup_for_settings: assertion `GTK_IS_SETTINGS (settings)' failed

(systemadm:12104): Gtk-WARNING **: Invalid icon size 6


(systemadm:12104): Gtk-CRITICAL **: IA__gtk_icon_theme_load_icon: assertion `GTK_IS_ICON_THEME (icon_theme)' failed

(systemadm:12104): Gtk-WARNING **: Error loading theme icon 'dialog-error' for stock: 

(systemadm:12104): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(systemadm:12104): Gtk-CRITICAL **: gtk_default_render_icon: assertion `base_pixbuf != NULL' failed

(systemadm:12104): Gtk-CRITICAL **: IA__gtk_style_render_icon: assertion `pixbuf != NULL' failed

(systemadm:12104): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_alignment: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_wrap: assertion `PANGO_IS_LAYOUT (layout)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(systemadm:12104): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_screen_get_width: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed

(systemadm:12104): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed

(systemadm:12104): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -1532662 and height 0

(systemadm:12104): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -1532662 and height 1

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

(systemadm:12104): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault (core dumped)


This shows that the code quality is not on par with what one would expect, even for Fedora.
Please understand that we know that new technologies/tools come with new bugs.
But:
The amount of stuff taht I experienced from the introduction of systemd and gnome 3 is not what I would call a small thing.
Basic stuff that worked GREAT in all Fedora versions up until 14 started malfunctionign in 15:
- Encrypted swap is still not working (be it creation, activation, whatever)
- Output during boot is unreadable
- fsck progress is void: nothing (yes, it times out for swap and swap and fsck now; not good for a product that was intended to make the boot faster)
- Gnome 3: yes it works after getting used but why no decent message pointing in some direction when ACLs (!!!) for tmpfs are missing? As if one would need those on a daily basis before Gnome 3, gnome 2.x worked great without. Instead we get the fallback experience without the right explanation...!
- the /var/log/messaes logging issue that I see on three or four boxes here: basic stuff that of course has an obscure undocumented reason as does the tmpfs thing

So what did we gain so far?
- slower boot
- less readable bootup messages, harder to diagnose
- new interface to get used to
- messages log full of stuff that doesn;t belong there
- missing swap when we forget to manually fix that causing whatever things later

In that light Fedora 14 wasn't so bad.....! (and there's a number of F14 bugs on my frontpage still)

Comment 1 Michal Schmidt 2011-06-27 12:53:32 UTC
Reproducible with:
  DISPLAY=  systemadm

src/systemadm.vala should not attempt to report errors graphically (MessageDialog in the function show_error) when graphics is not available.

Comment 2 udo 2011-06-27 13:07:16 UTC
Not really.
I did not see a text-only approach yet.
So when no graphics/DISPLAY etc please error in a same and short manner.

And as this is so basic the urgency was about the code quality.

Everything looks rushed from here.
Really.

Comment 3 udo 2011-06-27 13:21:07 UTC
I meant:

So when no graphics/DISPLAY etc please error in a saNe and short manner.

Comment 5 Fedora Update System 2011-07-04 20:34:00 UTC
systemd-26-6.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/systemd-26-6.fc15

Comment 6 udo 2011-07-05 04:55:18 UTC
# systemadm 
Cannot open display: 
#

So that's a lot better!

Comment 7 Fedora Update System 2011-07-06 21:39:36 UTC
Package systemd-26-7.fc15:
* should fix your issue,
* was pushed to the Fedora 15 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-26-7.fc15'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/systemd-26-7.fc15
then log in and leave karma (feedback).

Comment 8 Fedora Update System 2011-07-12 05:05:09 UTC
Package systemd-26-8.fc15:
* should fix your issue,
* was pushed to the Fedora 15 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing systemd-26-8.fc15'
as soon as you are able to, then reboot.
Please go to the following url:
https://admin.fedoraproject.org/updates/systemd-26-8.fc15
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2011-07-15 01:22:47 UTC
systemd-26-8.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.