#806955 icedove: fails to start with "Failed to read the config file"

#806955#5
Date:
2015-12-03 12:05:42 UTC
From:
To:
Dear Maintainer,

this security update of icedove no longer starts. I get
a message window with "Failed to read the configuration file."
I started "icedove --ProfileManager" and created a new profile.
Attempts to start the new profile give the same error.
Downgrading icedove helped. So it seems not to be a  problem
with the config files.

#806955#10
Date:
2015-12-03 13:19:36 UTC
From:
To:
Hello Meik,

please try to start without any extensions and plugins first.

  $ icedove -safe-mode

If Icedove is starting again you have a not suitable plugin somewere.
Probably in the profile folder.
A next step could be to move the old profile folder out of the way if
Icedove even wont start.

 $ mv $HOME/.icedove $HOME/.icedove.bkp

Now starting Icedove should bring you the setup assistant in front to
you. If Icedove isn't starting at all you to figure oput please there
Icedove is having trouble.
Please read the instructions for this on the Debian Wiki.

https://wiki.debian.org/Icedove#Debugging_of_file_system_activity

I don't think there is something big broken. I expect a plugin that's
installed from Mozilla or some old config files that are broken.

Regards
Carsten

#806955#15
Date:
2015-12-03 13:19:36 UTC
From:
To:
Hello Meik,

please try to start without any extensions and plugins first.

  $ icedove -safe-mode

If Icedove is starting again you have a not suitable plugin somewere.
Probably in the profile folder.
A next step could be to move the old profile folder out of the way if
Icedove even wont start.

 $ mv $HOME/.icedove $HOME/.icedove.bkp

Now starting Icedove should bring you the setup assistant in front to
you. If Icedove isn't starting at all you to figure oput please there
Icedove is having trouble.
Please read the instructions for this on the Debian Wiki.

https://wiki.debian.org/Icedove#Debugging_of_file_system_activity

I don't think there is something big broken. I expect a plugin that's
installed from Mozilla or some old config files that are broken.

Regards
Carsten

#806955#20
Date:
2015-12-03 16:46:46 UTC
From:
To:
Hello Carsten,

My problem was the handling of config files in /etc/icedove/pref/
We have an "mathmail.cfg" file there and
an "autoconf.js" file with the lines:
    pref("general.config.obscure_value", 0);
    pref('general.config.filename', 'defaults/syspref/mathmail.cfg');
      /* path is relative to /usr/lib/icedove;
         defaults/syspref/ there is a symlink to /etc/icedove/pref/   */

This no longer works with icedove 38. Now it seems that the 'general.config.filename'
parameter accepts neither relative nor absolute paths. It only accepts a filename and
this file has to be in /usr/lib/icedove/ .
After moving our "mathmail.cfg" to /usr/lib/icedove/ and changing the line
in /etc/idedoce/pref/autoconf.js to
    pref('general.config.filename', 'mathmail.cfg');
everything works again.

A local config file below /usr/lib/ is not that nice.
Is there an alternative?

best regards, Meik

#806955#25
Date:
2015-12-05 09:50:03 UTC
From:
To:
Hello Meik,

You trying to keep specific Icedove settings modified by a extra file in

  /etc/icedove/pref/

with a locking preference.

http://kb.mozillazine.org/Locking_preferences

I'm not sure if that is what you are really wanted to do.
And yes, exact this handling of the a additional default configuration
file has changed somewhere on the way to version 38.

With strace you will see that nevertheless you want to adjust a specific
path to the global configuration file Icedove will always search the
file in the main installation folder.

I don't know the content of your mathmail.cfg but if you want to set
some specific settings for all Icedove users then put all of them in the
file /etc/icedove/pref/icedove.js or a own file instead like intended
with the file autoconf.js.

Otherwise you have to symlink the file to /etc/icedove/pref/ every time
you update the installation, or rebuild own packages.

Regards
Carsten

#806955#30
Date:
2015-12-07 21:57:48 UTC
From:
To:
No, not really. All the preferences I use are defaultPrefs, not lockPrefs.

But as far as I understand it, there is a difference between a .js and a .cfg file.
.cfg files allow special commands to get config values from, e.g., an LDAP database
(called the  "Pref API" according to
http://web.mit.edu/~thunderbird/www/maintainers/autoconfig.html )

This seems to be quite poorly documented.
All I know about it is from web sites like
http://web.mit.edu/~thunderbird/www/maintainers/autoconfig.html
https://developer.mozilla.org/en-US/docs/MCD%2C_Mission_Control_Desktop_AKA_AutoConfig
https://github.com/interlegis/puppet-thunderbird/tree/master/templates
But it is quite useful in a centrally administrated environment.
You can get our mathmail.cfg file for the next few days from
http://www.math.uni-leipzig.de/~hellmund/mathmail.cfg
It takes the userid from the environment, makes a LDAP lookup
of the full name and the mail address for this userid and configures
the mail  account. It works fine, new users on our Institute's network of
debian machines only have to enter their password at the first start of icedove and
everything works.
so that the path is replaced/amended by /etc/icedove/pref/ ?

I did an "apt-get source icedove" and poked into it, but this is well over my
head. Too much levels of complexity...

I tried putting all the stuff from my .cfg file to icedove.js It doesn't work.

I wonder if a
     dpkg-divert /usr/lib/icedove/mathmail.cfg
is enough to protect the file.

Regards, Meik

#806955#35
Date:
2015-12-08 18:56:10 UTC
From:
To:
Hello Meik,

On Mon, Dec 07, 2015 at 10:57:48PM +0100, Meik Hellmund wrote:
[...]

o.k. now I understand partially what you want to do. Unfortunately I've
got quite zero experience on that global controlled configuration
stuff. But it's also possible that there is really something broken
upstream.

But if you have some time I will ask Christoph who can potentially can
say something useful on that. But currently he is on vacation. So he
will probably answer in the new year.

Regards
Carsten

#806955#40
Date:
2015-12-09 11:55:18 UTC
From:
To:
Hello Carsten,

Everything works fine with the .cfg file
in /usr/lib/icedove .
So there is no time pressure.
Perhaps move this bug to status: wishlist,
"allow system-wide cfg files outside /usr/lib/icedove"
Anyway, it's only a small point about a seldom used feature.

best wishes,
Meik