Icedove - somehow lost my account and messages

I’d had Icedove running very smoothly for a couple of days, but today when I tried to launch it, I got this “Set Up Your Existing Email Address” dialogue, as though this was the first time I’d launched the programme after installing it in Haiku.

Any ideas about what I might try to get Icedove to find my 2 user profiles and downloaded messages which are still in my /home/config/settings folder along with my profiles.ini file which looks like this? Thanks!

[Profile1]
Name=default
IsRelative=1
Path=l2g15rxm.default
Default=1

[Profile0]
Name=default-default
IsRelative=1
Path=oqdaaw2g.default-default

[General]
StartWithLastProfile=1
Version=2

[InstallBA13F1BDEFEC378B]
Default=l2g15rxm.default
Locked=1

The path to he ini file you posted was “/boot/home/config/settings/Thunderbird/profiles.ini”, yes?

Did you do anything odd like change the name of the “0” user in /etc/password?

(Haiku will let you do some odd things like that that can violate more-Unix-ey software’s expectations.)

I’m curious, how is renaming that user bad? FreeBSD has two users with that id, wouldn’t that violate the expectation more? :slight_smile:

Not saying it’s bad. :slight_smile:

It could confuse something that expects 0 to be a static thing, though.

I changed “user” to “root” on my Haiku install, and I haven’t had any problems with that, but since the post is about IceDove not realizing it had been configured before it makes sense to look at things that could make it not find its files from the old config.

And files seeming to have changed ownership is the kind of thing that can confuse a Unix-ey thing into not realizing it already has a config.

It’s a weird enough problem that it’s almost certainly gonna have a weird cause. :slight_smile:

More productively, though, @chaplintokyo should probably try running Icedove from the Terminal (“/boot/system/apps/Icedove/Icedove”); I just tried that and it does output errors there.

I just realized I didn’t actually give an example.

One I have seen (on Linux, and not on the 0 user) was an app that when first run looked up the user’s name from the UID and stored that in a prefs file found with “~/”. But to find its data directory, it started by looking up the home directory by searching for that user name in /etc/passwd.

This is not the best way to do this, of course, but it works almost all the time; presumably, it never occurred to the developer that someone might change the name associated with that UID.

It obviously broke when I changed that user’s login name, though.

That seems like bad design to me, ouch. Atleast we have finddir so it is clearly wrong :wink:

1 Like

I’ve not changed the user name or anything like that. But the strange thing is, if I search for profiles.ini in Tracker, there is another profiles.ini for Thunderbird at /boot/home/haiku ssd backups/home/config/settings/Thunderbird/ .

This ‘backup’ profiles ini looks like this:

[Profile1]
Name=default
IsRelative=1
Path=yo9wv15c.default
Default=1

[Profile0]
Name=default-default
IsRelative=1
Path=k79uuv7b.default-default

[General]
StartWithLastProfile=1
Version=2

[InstallBA13F1BDEFEC378B]
Default=k79uuv7b.default-default
Locked=1

Then I tried running Icedove from Terminal, which did give me quite a lot of error messages after which Icedove launched with teh set up your account dialogue. I suppose I could always try uninstalling Icedove, delete all the downloaded messages and account set up information etc and then re-install from scratch. The two email accounts I currently have set up are both IMAP I think so I think I don’t think I’ll lose anything.

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
user@shredder ~# /boot/system/apps/Icedove/Icedove
wl_ips_client_connected
display: 0xb973253d20
client: 0xb973251300
[13641, Main Thread] WARNING: Failed to create file monitor for /boot/home/config/settings/glib-2.0/settings/keyfile: Unable to find default local file monitor type:
'glib warning', file /sources/thunderbird-146.0.1/toolkit/xre/nsSigHandlers.cpp:203

(thunderbird-default:13641): GLib-GIO-WARNING **: 09:46:04.529: Failed to create file monitor for /boot/home/config/settings/glib-2.0/settings/keyfile: Unable to find
default local file monitor type
[Parent 13641, Main Thread] WARNING: Failed to create DBus proxy for org.a11y.Bus: Cannot spawn a message bus when AT_SECURE is set
: 'glib warning', file /sources/thunderbird-146.0.1/toolkit/xre/nsSigHandlers.cpp:203

** (thunderbird-default:13641): WARNING**: 09:46:06.011: Failed to create DBus proxy for org.a11y.Bus: Cannot spawn a message bus when AT_SECURE is set

wl_ips_client_connected
display: 0x80aa54ba80
client: 0x80aa549180
Error parsing B_ARGV_RECEIVED message. Message:
BMessage('_ARG') {
argc = int32(0x17 or 23)
argv[0] = string("/boot/system/apps/Icedove/Icedove", 34 bytes)
argv[1] = string("-contentproc", 13 bytes)
argv[2] = string("-greomni", 9 bytes)
argv[3] = string("/boot/system/apps/Icedove/omni.ja", 34 bytes)
argv[4] = string("1", 2 bytes)
argv[5] = string("tab", 4 bytes)
cwd = string("/boot/home", 11 bytes)
}
[Child 13743, Main Thread] WARNING: Failed to create file monitor for /boot/home/config/settings/glib-2.0/settings/keyfile: Unable to find default local file monitor
type: 'glib warning', file /sources/thunderbird-146.0.1/toolkit/xre/nsSigHandlers.cpp:203

(/boot/system/apps/Icedove/Icedove:13743): GLib-GIO-WARNING**: 09:46:09.263: Failed to create file monitor for /boot/home/config/settings/glib-2.0/settings/keyfile:
Unable to find default local file monitor type
JavaScript error: , line 0: uncaught exception: undefined
console.error: "TelemetryScheduler.shutdown - Already shut down"
WARNING: A blocker encountered an error while we were waiting.
Blocker: TelemetryController: shutting down
Phase: IOUtils: waiting for sendTelemetry IO to complete
State: {"initialized":false,"initStarted":false,"haveDelayedInitTask":false,"shutdownBarrier":"Not started","connectionsBarrier":"Not started","sendModule":
{"sendingEnabled":false,"pendingPingRequestCount":0,"pendingPingActivityCount":0,"unpersistedPingCount":0,"persistedPingCount":0,"schedulerState":{"shutdown":true,"ha
sSendTask":false,"sendsFailed":false,"sendTaskState":"bail out - no pings to send","backoffDelay":60000}},"haveDelayedNewProfileTask":false}
WARNING: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsITelemetry.msSinceProcessStartIncludingSuspend]" nsresult: "0x8004011
1 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: resource://gre/modules/TelemetrySession.sys.mjs :: getSessionPayload :: line 745" data: no]
WARNING: getSessionPayload@resource://gre/modules/TelemetrySession.sys.mjs:745:28
saveShutdownPings@resource://gre/modules/TelemetrySession.sys.mjs:952:34
shutdownChromeProcess/cleanup/<@resource://gre/modules/TelemetrySession.sys.mjs:1230:20
cleanup@resource://gre/modules/TelemetrySession.sys.mjs:1237:9
shutdownChromeProcess@resource://gre/modules/TelemetrySession.sys.mjs:1254:14
shutdown@resource://gre/modules/TelemetrySession.sys.mjs:236:17
_cleanupOnShutdown@resource://gre/modules/TelemetryControllerParent.sys.mjs:899:35
observe@resource://gre/modules/AsyncShutdown.sys.mjs:569:17

JavaScript error: resource://gre/modules/TelemetrySession.sys.mjs, line 745: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILAB
LE) [nsITelemetry.msSinceProcessStartIncludingSuspend]
JavaScript error: resource://gre/modules/TelemetrySession.sys.mjs, line 745: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILAB
LE) [nsITelemetry.msSinceProcessStartIncludingSuspend]
user@shredder ~#

Bummer; most of those errors also show up on mine. The “local file monitor” and BMessage parse errors in particular.

I can’t think of anything more to try before just re-installing, since as you say IMAP shouldn‘t lose any data.

Hmmm…are the original files when you first installed and set up still at ~/config/settings/Thunderbird/profiles/xxxxxxxxx/Mail and other subdirectories?

If so, I seem to remember that you can bypass the setup page and point it back to the original settings directory in your ~/config/….

You could use ‘strace’ to start it. This way you’d see which files it accesses on startup. The output can get very long, so you might want to redirect it to a file for further inspection.

The downloaded IMAP mail data (and the downloaded POP mail data too as it turns out) are still there in the profile oqdaaw2g.default-default in my case. There is a way to get Thunderbird to start up at a “Choose user profile” dialogue by booting from the command line with the -p option. In my case this actually showed that for some reason the programme was pointing at the “default” profile (which in my case is the l2g15rxm.default, which doesn’t have a Mail folder in it).

/boot/system/apps/Icedove/Icedove -p

So I selected the default-default profile here, and clicked the “Start Icedove” button. I hoped that this would get my installed Icedove with all the mail server settings and the downloaded messages to magically appear… but no such luck! I got the Set Up your Existing Email Address dialogue again, and even if I dismissed that there was no sign of my server settings or downloaded messages. Hmmm. It’s a strange one.

Here’s what strace on Icedove spat out:

https://user.fm/files/v2-850830e684f5c796a7f4638804a07515/output.txt

It’s too long and complicated to really know what’s going wrong with Icedove, but it does seem that at least some files that it’s looking for aren’t being found:

[ 20743] read_stat(0xffffff9c, “/boot/system/apps/Icedove/lib/libgtk-3.so.0”, false, 0x80) = 0x80006003 No such file or directory () (6 us)
[ 20743] read_stat(0xffffff9c, “/boot/home/config/non-packaged/lib/libgtk-3.so.0”, false, 0x80) = 0x80006003 No such file or directory () (7 us)
[ 20743] read_stat(0xffffff9c, “/boot/home/config/lib/libgtk-3.so.0”, false, 0x80) = 0x80006003 No such file or directory () (4 us)