I've been doing a load of additional research on this bug because it's
causing me daily annoyance...

In response to Sandy Knight: This issue will not corrupt your profile.

I've hooked up gdb to thunderbird and in combination with the source
code and a bit of a crash course in reading c++ I feel I know much more
about the problem...

1) If my interpretation of RFC2396 is correct, then although a string
like "GMT+00:00" looks obviously like a Time Zone and not a URI, it does
actually match the regex for a URI schema, which is why a call is made
to gconf to look for a handler.

2) GConf does not accept '+' in the names of keys or directories. This
means that gconf is technically unsuitable for mapping URI handlers,
except that I can find no examples of a real-world URI

3) Since at least Thunderbird 10.0.1 (and I believe much older),
"GMT+00:00" would be parsed as a URI and checked with gconf. The error
message "Bad key or directory name: "/desktop/gnome/url-
handlers/GMT+02/command": `+' is an invalid character in key/directory
names" has been around/happening for a very long time.

4) Important difference:
- The x86_x64 binary release of Thunderbird 14.0 ( 
ftp://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/14.0/linux-x86_64/ ) 
does not show popup a dialog when the error occurs
- The Ubuntu 'thunderbird_14.0+build1-0ubuntu0.10.04.1' package *does* show a 
popup when the error occurrs.

5) I tried diff'ing the source trees of the Ubuntu TB 14.0 source and
the Mozilla TB 14.0 source and I can find no significant differences. So
I think the problem is introduced dependant on how the package gets
built.

6) The error message "An error occurred while loading or saving
configuration information for %s. Some of your configuration settings
may not work properly." is generated by the gconf global default error
handler defined in libgnomeui/gnome-gconf-ui.c

**AFTER** Typing all the stuff above I decided to try diffing an 'lsof' of good 
and bad examples of thunderbird running. One significant difference I noticed 
is that the Ubuntu package is using GIO libraries whereas the Mozilla package 
is not. 
In the config help the default is GIO-disabled:
 "--enable-gio            Enable GIO support (default: disabled)"

I can now see that in fact when thunderbird triggers a pop up it is when
it is using GIO and not GConf. I got confused for quite a while until I
looked at the implementation of g_app_info_get_default_for_uri_scheme
which ultimately uses GConf to obtain the information.

Right now I'm taking a guess that the reason this error appears as a
popup in the GIO implementation is because it does not catch and return
the error unlike the gconf implementation in Thunderbird.  The default
error_mode is GCONF_CLIENT_HANDLE_UNRETURNED, which I'm now taking to
mean "Only use the default handler for errors which haven't been
returned" (thus a pop-up as defined in libgnomeui).

I'll keep looking at this when I have time...


Possible Workarounds:
-----------------------
To avoid the problem (at least on a Ubuntu host,) you can use the Thunderbird 
binaries supplied by Mozilla
Or
You could rename/move the /usr/lib/gio/modules/libgiogconf.so file so that 
Thunderbird can't find it. WARNING: I don't know if this is critical to other 
applications - rename it at your own risk and be prepared for other 
applications to break.

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to thunderbird in Ubuntu.
https://bugs.launchpad.net/bugs/411358

Title:
  Thunderbird2 gconf gmt problem 'Bad key or directory name' because of
  plus symbol (+)

Status in Mozilla Thunderbird Mail and News:
  Confirmed
Status in “thunderbird” package in Ubuntu:
  Confirmed

Bug description:
  Here is an error message for Thunderbird 2 in Jaunty

  gnubyexample@k8amd:~$ thunderbird
  GConf Error: Bad key or directory name: 
"/desktop/gnome/url-handlers/GMT+02/command": `+' is an invalid character in 
key/directory names
  gnubyexample@k8amd:~$ date;uname -a;cat /etc/*version*;dpkg -l | grep 
underbird
  Sun Aug  9 14:48:37 BST 2009                                                  
              
  Linux k8amd 2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 00:28:35 UTC 2009 
i686 GNU/Linux    
  5.0                                                                           
              
  ii  enigmail                                   2:0.95.7-1ubuntu2              
                            Enigmail - GPG support for Thunderbird
  ii  thunderbird                                
2.0.0.22+build1+nobinonly-0ubuntu0.9.04.1                  mail/news client 
with RSS and integrated spam filter support                                     
                                                                                
                                             
  ii  thunderbird-locale-en-gb                   1:2.0.0.14+1-0ubuntu2          
                            Thunderbird English language/region package  

  From reading this extract ( 
http://osdir.com/ml/os.solaris.opensolaris.desktop/2008-03/msg00020.html ):
    Subject:    Re: GConf/Thunderbird error on Solaris Nevada

    "Hi Mats,I believe you download the contribute builds of Thunderbird 2, and 
run
  it on snv_70.

  For some reason, the fix is upstreamed to Thunderbird 3 alpha, but not
  community version of Thunderbird 2.
  Fixed in snv_68 means the fix was integrated to Thunderbird bundled
  with snv_68."

  
  ...it seems that the fix for this in thunderbird2 might require some manual 
intervention as although the problem is well know, the fix was only 
incorporated in the newer thunderbird3.

  Have just checked the Karmic version at:
    http://packages.ubuntu.com/karmic/thunderbird
  which currently shows that version 2 of thunderbird is planned for Karmic 
release.

  As thunderbird3 is at Beta 3 right now I can perhaps see why debian and 
ubuntu are sticking with Thunderbird2 just now.
    http://www.mozillamessaging.com/en-US/about/press/archive/2009-07-21-01

  However it does seem a shame to ship a new release with this known
  gconf issue unpatched.

To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/411358/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to