[Evolution] evolution failing to generate the ..maildir++ or "your folder is now named ._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F2Efolder"
- From: Ángel González <angel 16bits net>
- To: evolution-list gnome org
- Subject: [Evolution] evolution failing to generate the ..maildir++ or "your folder is now named ._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F2Efolder"
- Date: Tue, 30 Sep 2014 23:28:02 +0200
evolution seems to be stuck trying to migrate a maildir account on each restart.
I created an account of type «Maildir-format mail directories»
(I think I did so by pointing it to an existing folder)
Steps:
Create a folder named foo. [it creates a folder named .foo]
Close evolution (just closing the shell is enough)
Reopen
The folder is now named .foo (._2Efoo on disk)
Close. Reopen.
The folder is now named ._2Efoo (._2E_5F2Efoo on disk)
And it goes on, creating things like:
._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F2Efoo
evolution version is 3.12.5
There are some related console messages, but most seem a consequence of
the bug rather than the cause (as the folder moves, the metadata file is
missing).
The most interesting are:
Failed to save the maildir version in ?thefolder/..maildir++?.
(it should have succeeded)
and
The overwriting error message was: database or disk is full
(however there's enough space available on this fs)
Running strace -f -eopen,openat,stat,rename,readdir,close evolution (below) it
doesn't even seem to attempt creating ..maildir++
Manually creating the correct ..maildir++ stops this loops (restarts
if deleted) but that's a manual fix.
Any idea why is evolution failing to generate the ..maildir++ ?
Is it possible that error is NULL?
that would mean that maildir_store_get_folder_info_sync was called with a null error:
camel-maildir-store.c:
1299: if (!g_file_set_contents (meta_path, MAILDIR_CONTENT_VERSION_STR, -1, error)) {
661: maildir_migrate_hierarchy ((CamelMaildirStore *) store, maildir_version, cancellable, error);
785: if (scan_dirs (store, flags, TRUE, &fi, cancellable, error) == -1)
And in the preamble of g_file_set_contents (at gfileutils.c:1172)
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
https://git.gnome.org/browse/glib/tree/glib/gfileutils.c?h=glib-2-40#n1172
But this has been there forever:
https://git.gnome.org/browse/glib/commit/glib/gfileutils.c?id=331548d91ce48f4d1b41fb147179c7680394cb5e
So if that's the case the change would need to be on evolution side.
Cheers
Console output:
(evolution:4897): camel-CRITICAL **: network_service_connect_sync:
assertion 'connectable != NULL' failed
(evolution:4897): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: Could not rename '.': No such file
or directory
(evolution:4897): GLib-CRITICAL **: g_file_set_contents: assertion
'error == NULL || *error == NULL' failed
(evolution:4897): camel-local-provider-WARNING **: Failed to save the
maildir version in ?thefolder/..maildir++?.
** (evolution:4897): WARNING **:
(mail-folder-cache.c:1778):mail_folder_cache_note_store_thread:
runtime check failed: (async_context->info == NULL)
(evolution:4897): evolution-mail-WARNING **:
receive_update_got_folderinfo: You must be working online to complete
this operation
(evolution:4897): evolution-mail-WARNING **:
receive_update_got_folderinfo: Could not rename folder thefolder/. to
thefolder/._2E: Device or resource busy
(evolution:4897): camel-CRITICAL **: network_service_connect_sync:
assertion 'connectable != NULL' failed
(evolution:4897): camel-CRITICAL **: network_service_connect_sync:
assertion 'connectable != NULL' failed
(evolution:4897): evolution-mail-WARNING **:
receive_update_got_folderinfo: You must be working online to complete
this operation
(evolution:4897): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: database or disk is full
(evolution:4897): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: no such table:
mem.._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F2Ebar
(evolution:4897): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: database or disk is full
(evolution:4897): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: no such table: mem.._2Efoo
******
strace:
[pid 5275] openat(AT_FDCWD, "thefolder/.foo", O_RDONLY|O_NONBLOCK|
O_DIRECTORY|O_CLOEXEC) = 24
[pid 5275] close(24) = 0
[pid 5275]
rename("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.ibex.index",
"thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2Ebar.ibex.index")
= -1 ENOENT (No such file or directory)
[pid 5275]
rename("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.ibex.index.data",
"thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2Ebar.ibex.index.data")
= -1 ENOENT (No such file or directory)
[pid 5275]
stat("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.ev-summary",
0x7f8f1abbe7e0) = -1 ENOENT (No such file or directory)
[pid 5275]
stat("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.ev-summary-meta",
0x7f8f1abbe7e0) = -1 ENOENT (No such file or directory)
[pid 5275]
stat("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.cmeta",
<unfinished ...>
[pid 5275] <... stat resumed> {st_mode=S_IFREG|0644,
st_size=13, ...}) = 0
[pid 5275]
rename("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar.cmeta",
"thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2Ebar.cmeta")
= 0
[pid 5277] <... stat resumed> {st_mode=S_IFDIR|0700,
st_size=4096, ...}) = 0
[pid 5275]
stat("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar",
<unfinished ...>
[pid 5277] <... stat resumed> {st_mode=S_IFDIR|0700,
st_size=4096, ...}) = 0
[pid 5275] <... stat resumed> {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 5275]
rename("thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2Ebar",
"thefolder/._2E_5F2E_5F5F2E_5F5F5F2E_5F5F5F5F2E_5F5F5F5F5F2E_5F5F5F5F5F5F2E_5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2E_5F5F5F5F5F5F5F5F2Ebar")
= 0
[pid 5275] rename("thefolder/.foo.ibex.index",
"thefolder/._2Efoo.ibex.index") = -1 ENOENT (No such file or
directory)
[pid 5275] rename("thefolder/.foo.ibex.index.data",
"thefolder/._2Efoo.ibex.index.data") = -1 ENOENT (No such file or
directory)
[pid 5275] stat("thefolder/.foo.ev-summary", 0x7f8f1abbe7e0) = -1
ENOENT (No such file or directory)
[pid 5275] stat("thefolder/.foo.ev-summary-meta", 0x7f8f1abbe7e0) =
-1 ENOENT (No such file or directory)
[pid 5275] stat("thefolder/.foo.cmeta", 0x7f8f1abbe7e0) = -1 ENOENT
(No such file or directory)
[pid 5275] stat("thefolder/.foo", {st_mode=S_IFDIR|0700,
st_size=4096, ...}) = 0
[pid 5275] rename("thefolder/.foo", "thefolder/._2Efoo") = 0
[pid 5275] rename("thefolder/..ibex.index",
"thefolder/._2E.ibex.index") = -1 ENOENT (No such file or directory)
[pid 5275] rename("thefolder/..ibex.index.data",
"thefolder/._2E.ibex.index.data") = -1 ENOENT (No such file or
directory)
[pid 5275] stat("thefolder/..ev-summary", 0x7f8f1abbe830) = -1 ENOENT
(No such file or directory)
[pid 5275] stat("thefolder/..ev-summary-meta", 0x7f8f1abbe830) = -1
ENOENT (No such file or directory)
[pid 5275] stat("thefolder/..cmeta", {st_mode=S_IFREG|0644,
st_size=13, ...}) = 0
[pid 5275] rename("thefolder/..cmeta", "thefolder/._2E.cmeta") = 0
[pid 5275] stat("thefolder/.", <unfinished ...>
[pid 5275] <... stat resumed> {st_mode=S_IFDIR|0755,
st_size=4096, ...}) = 0
[pid 5275] rename("thefolder/.", "thefolder/._2E") = -1 EBUSY (Device
or resource busy)
[pid 5277] <... stat resumed> {st_mode=S_IFREG|0644,
st_size=13, ...}) = 0
[pid 5275] stat("thefolder/._2E.cmeta", <unfinished ...>
[pid 5275] <... stat resumed> {st_mode=S_IFREG|0644,
st_size=13, ...}) = 0
[pid 5275] rename("thefolder/._2E.cmeta", "thefolder/..cmeta") = 0
[pid 5275] stat("thefolder/._2E.ev-summary", 0x7f8f1abbe830) = -1
ENOENT (No such file or directory)
[pid 5275] stat("thefolder/._2E.ev-summary-meta", 0x7f8f1abbe830) =
-1 ENOENT (No such file or directory)
[pid 5275] rename("thefolder/._2E.ibex.index",
"thefolder/..ibex.index"Process 5282 attached
Process 5283 attached
) = -1 ENOENT (No such file or directory)
[pid 5275] rename("thefolder/._2E.ibex.index.data",
"thefolder/..ibex.index.data") = -1 ENOENT (No such file or directory)
(evolution:5256): GLib-WARNING **: GError set over the top of a
previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is
NULL before it's set.
The overwriting error message was: Can't rename: «.»: No such file or
directoty
(evolution:5256): GLib-CRITICAL **: g_file_set_contents: assertion
'error == NULL || *error == NULL' failed
(evolution:5256): camel-local-provider-WARNING **: Failed to save the
maildir version in ‘thefolder/..maildir++’.
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]