Comment 6 for bug 213006

Revision history for this message
Derek White (d-man97) wrote :

I recently ran into this problem as well, where /usr/sbin/startupmanager is stalling on post-config.

System Monitor shows the following dependencies:
>gksu (gksu /usr/sbin/startupmanager)
->/usr/sbin/start (python /usr/sbin/startupmanager)
-->sh (sh -c /usr/sbin/update-grub)
--->frontend (/usr/bin/perl -w /usr/share/debconf/frontend /usr/sbin/update-grub)
---->update-grub (/bin/bash /usr/sbin/update-grub)
----->ucf (/bin/bash /usr/bin/ucf --debconf-ok --debconf-template grub/update_grub_changeprompt_threeway --three-way /tmp/file7lzQIC /var/run/grub/menu.lst)

Note: Yes, I changed the way startupmanager gets su privileges. I have had the same issue whether using my 'gksu /usr/sbin/startupmanager' or the default 'su-to-root -X -c /usr/sbin/startupmanager'. Also, the dependency list is mostly the same as expected. All programs are running as 'root' except gksu which is running under my user name.

This seems to be an issue with X(?) not activating the ucf window for me to decide to keep my menu.lst or switch to the new one created by the changes made in startupmanager.

When I try to 'End Process' on ucf, update-grub goes into Zombie mode since it doesn't know what to do next; I cant end or kill it. Next up: frontend. I can't reproduce this at the moment b/c a new problem just occurred...
.....
System-Monitor crashes while trying to restart itself as su to 'End Process' the root program ucf. "Starting Administrati..." shows up in the window-list applet, but then just goes away after a few seconds. This sys-mon crash happens anytime sys-mon tries to RESTART itself as su. It does not happen if I initiate sys-mon with gksu/sudo.

I will eventually look more into this and file it if needed. But for now, here is the command log output if you're interested:
derek@torproxy1000101:~$ gnome-system-monitor --sync

** (gnome-system-monitor:13032): WARNING **: SELinux was found but is not enabled.

The program 'gnome-system-monitor' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 78267 error_code 8 request_code 1 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

I must use gksu/sudo gnome-system-monitor for it to work properly. All-in-all, it seems like Ubuntu 8.04 has a serious problem with starting su tasks from non-su'd administrative programs and making them interact properly with the X desktop. (Although all my "Unlock" buttons work OK, i.e. Time/Network applets.)
.....
Anyways, had this new problem not shown up, I would 'end' ucf, ignore the Zombie'd update-grub, 'end' frontend, sh exits by itself immediately after frontend stops, then about 0.5 seconds later gksu & startupmanager exit on their own.

To redo these fracked up attempts. I re-open startupmanager, make a simple change, save/exit (Note: It never stalled on me when I was quick), re-open, undo the simple change, save/exit. My hope is that this "refreshes" the menu.lst and initramfs crap to what is should be.

CONCLUSION
-----------------

This problem is very confusing.
It may happen when I leave startupmanager inactive for a while, then close it after making changes. This would indicate that the program isn't holding onto its su status to make the post-config changes?

Other times, the ucf window comes up properly; I decide to use the new menu.lst that startupmanager created; and all is fine.

IMHO, using the new menu.lst should be default and ucf should not activate at all. There are grub options to keep any non-auto listings (i.e. XP/Vista installs) when the auto listings are refreshed. So, dual-boot can't be used as an excuse. Is there any reason why if you change something in startupmanager, you would not want those changes reflected and updated in menu.lst?

AFTER-THOUGHTS
-----------------------
When I update my kernel, or grub, or anything that runs update-grub, synaptic gives me a nice, pretty, window manager decorated diff window with click-able buttons etc. Why does startupmanager (when it works) give me a crappy, 8-bit, for-lack-of-a-better-word DOS window to work with?

-Derek