GNOME Bugzilla – Bug 86736
panel does not start on Linux if previous run on Solaris
Last modified: 2004-12-22 21:47:04 UTC
Package: gnome-panel Severity: normal Version: 2.0.1.0.200206210447 Synopsis: panel does not start on Linux if previous run on Solaris Bugzilla-Product: gnome-panel Bugzilla-Component: Panel Description: My first experience with GNOME 2 was on a Solaris 9 machine running Sun's GNOME 2 beta 1. I logged in, noticed that one of the menu items was CDE menus. How cool, I thought. I then installed Ximian's GNOME 2 preview. Upon logging in I had no panels. A look at .gnomerc-errors revealed that it was unable to load lib<something>cde<something>.so. I killed gconfd-2, then did "find .gconf* -type f | xargs grep -i cde" and found one file, which I removed. After logging out and logging back in, the panels started properly. In case it is not obvious, my home directory is shared via NFS to both machines. ------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-06-28 11:10 ------- Unknown version 1.0.x in product gnome-panel. Setting version to the default, "unspecified". Reassigning to the default owner of the component, gnome-panel-maint@bugzilla.gnome.org.
Mark: I don't know if this is a scenario Sun cares to support or not? Probably up to you if it should be high or not. Ideally, I guess, the failure mode (at least) should be better...
Why ask Sun if they want to support the problem? The problem is being created on a Sun system, but is only noticable on a Linux system after running on a Sun system. What incentive does Sun have to deal with a problem that only affects non-Solaris platforms?
Because Sun may (probably does) commercially support mixed X environments. And because one of their employees currently maintain the panel. And because they provided the patches that added the CDE support in the first place. Finally, because (frankly) if it were a regular community member 'judging' this bug, the answer would most definitely be that this is not high priority- as you yourself point out, you're an edge case. So my 'community' judgement is that this is at best a 'normal' priority; Sun can feel free to elevate it (and fix it) if they want, but otherwise it's my judgement that it isn't particularly important in the grand scheme of gnome-panel bugs. You're certainly welcome to disagree and explain why I'm wrong- I'll definitely listen.
Sorry... I didn't mean to be so inflammatory. My experience is that vendors care a lot more about things working on their own platform than they do others. A common response that I have received to other cross platform bugs is to blame the other vendor for not handling the error condition correctly. Then again, that level of expectation came from the pre-unix-companies-love-open-source days. If Sun doesn't find them time to fix it, I will look into it. If there are any nudges in the right direction that you know of, feel free to let me know.
I'm sure everyone involved would love to see a patch, one way or the other :) Mark or others may be able to provide code pointers; I definitely can't.
Stephen: could you take a look at this? One thing that strikes me is that we shouldn't have cdemenu in default-modules.conf unless we're actually installing the cdemenu method. And I'm totally confused as to why the panel would be trying to load the cde menu when /var/sadm/pkg/SUNWdtcor could exist. And why would a gconf setting affect this ? hmmm Luis: whether 'Sun' see this as high priority or not should not affect the bugzilla priority. And of course we'd want this fixed :-)
So here is how it works. The panel decides to include the cde menu or not by testing for the existance of the file /var/sadm/pkg/SUNWdtcor (see gnome-panel/gnome-panel/distribution.c) If it is there then it loads the menu via gnome-vfs (which loads the libcdemenu-desktop.so module to do the actual work) This vfs module is only built and installed on Solaris machines so you would not have this module on your linux system. Now this file should only exist on a Solaris system that has CDE installed. I can't understand why the panel would be trying to load the CDE menu on a linux system which obviously would not have this Solaris package entry in the Solaris system package registry. As for gconf, well gconf has nothing to do with it! There is no gconf setting controlling this. "find .gconf* -type f | xargs grep -i cde" returns nothing or me on my Solaris box. I suspect Mike that your mention of "cde" refered to something else. It would have been nice to know which file it was you deleted. Mark is right in that the gnome-vfs default-modules.conf file shouldn't contain a binding to a module that may not be installed. I'm attaching a patch to move the cdemenu binding from default to a file of its own (which is only installed if the module is) This still doesn't explain why the panel on linux is trying to load a menu from cdemenu:/ i.e. when SUNWdtcor does not exist. Okay well to try and be more robust here I am attaching a patch to change the file test from SUNWdtcor to libcdemenu-desktop.so That way if the module is not installed the panel will not try to load it. That makes more sense right. Mike can youu try these two patches out and let me know if they solve your problem?
Created attachment 10615 [details] [review] gnome-vfs patch to move cdemenu: module binding out of default-modules.conf and into its own conditionally installed file
Created attachment 10616 [details] [review] gnome-panel patch to use libcdemenu-desktop.so instead of SUNWdtcor to detect if panel should load CDE menu
I must not write patches at 7 in the morning I must not write patches at 7 in the morning I must not write patches at 7 in the morning I must not write patches at 7 in the morning I must not write patches at 7 in the morning I must not write patches at 7 in the morning ...... ...... I will upload working patches for this when I get back to the office tomorrow, where I can actually test it on a Solaris machine
Created attachment 10879 [details] [review] gnome-vfs patch
Created attachment 10880 [details] [review] gnome-panel patch
Okay, I'm moving this to gnome-vfs - you'll have to get someone there to approve the default-modules.conf stuff ... as for using libcdemenu-blah as the file to check to see if we want the cde menu, I don't think that's such a good idea. Whether we want to try and display the menu is dependant on whether CDE is installed not on whether the cdemenu method is installed. If its not installed we should fail gracefully ...
Fixed in HEAD and gnome-2-0 branch.