Evolution issue with Opensuse Tumbleweed

Hi every body,

I am very new in this forum and I seeking your help.

I’m running Evolution 3.48.0 under Opensuse Tumbleweed VERSION=“20230329”. As you this this a rolling release and just after having updated it to get this version, when using Evolution, I got this warning in French:
Impossible d’enregistrer le fichier de sauvegarde automatique « .evolution-composer.autosave-FTST21 ».

Erreur lors de l’enregistrement dans les sauvegardes automatiques à cause de « evo-file:///:1:10: ReferenceError: Can’t find variable: EvoEditor ».

This prevents me to easily write emails, and prevents me from sending them.

Evolution under Fedora 37 runs quite well.

I did not succeed to find any information about this issue both on Google and more specifically on this forum.

Could someone help me to solve this problem.

Many thanks in advance.

René

Hi,
it would really help to at least try to translate the error into
English, because for all those like me, whom do not speak French, the
error message is meaningless.

Anyway, the end of the quoted part suggests there failed to load an
editor-related file. I suppose when you run Evolution from a terminal
and open the composer window (Ctrl+N in the Mail view), then there will
be printed some error messages. You can switch the interface to the
English locale temporarily when you run it from a terminal with:

LANG=C.utf8 evolution

It’ll change also the error messages.
Bye,
Milan

Hi mcrha,

Thanks a lot for your reply.

Please, find a free translation of the French message:

Impossible to write the automatic backup file « .evolution-composer.autosave-IDYN21 ».
Error issued from recording the automatic backup because of « evo-file:///:1:10: ReferenceError: Can’t find variable: EvoEditor ».

This morning I get another error warning:
Impossible to create the email.
You may need to chose other email options.
Error detail: evo-file:///:1:10: ReferenceError: Can’t find variable: EvoEditor

Is’nt it a question of the version of Evolution ? because, if I don’t mistake, this error appeared after an update of Tumbleweed. I’ll try to install an older version of Evolution. I’ll keep you informed.

Thanks for your help.

René

Please, find a free translation of the French message:

Hi,

thanks, that helped.

Did you try to run the Evolution as I told you in the previous message,
please?

because, if I don’t mistake, this error appeared after an update of
Tumbleweed.

Not really of the Evolution version, but maybe a problem/change of the
packaging on the Tumbleweed side. The command I provided in the
previous message may shed a bit of light on it, I hope.

Bye,
Milan

Hi,

I’m out home. I’ll keep you informés as soon as I’m at home.
Sée you

Hi,

I’m now back home.
I did what you suggested. Please find extensively what I got:

ile:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:30:53.315: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-text-color","color: #eeeeec;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:30:53.315: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet","body, div, p, td","unicode-bidi: plaintext;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:30:57.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-background-color","background-color: #2d2d2d;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:30:57.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-text-color","color: #eeeeec;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:30:57.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet","body, div, p, td","unicode-bidi: plaintext;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-mail-composer-CRITICAL **: 18:30:58.790: e_msg_composer_is_soft_busy: assertion 'E_IS_MSG_COMPOSER (composer)' failed

(evolution:4452): module-composer-autosave-CRITICAL **: 18:30:58.790: e_composer_save_snapshot: assertion 'E_IS_MSG_COMPOSER (composer)' failed

(evolution:4452): evolution-util-WARNING **: 18:31:07.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-background-color","background-color: #2d2d2d;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:31:07.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-text-color","color: #eeeeec;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:31:07.128: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet","body, div, p, td","unicode-bidi: plaintext;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:31:09.769: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-background-color","background-color: #2d2d2d;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:31:09.769: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet",".-e-web-view-text-color","color: #eeeeec;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): evolution-util-WARNING **: 18:31:09.769: Failed to call 'Evo.AddRuleIntoStyleSheet("*","-e-web-view-style-sheet","body, div, p, td","unicode-bidi: plaintext;")' function: WebKitJavascriptError:699: evo-file:///:1:4: ReferenceError: Can't find variable: Evo

(evolution:4452): GLib-GIO-WARNING **: 18:31:09.972: Your application did not unregister from D-Bus before destruction. Consider using g_application_run().
rene@localhost:~> 

Is it useful?

Regards, René

Yes, it is useful. It shows the Evolution failed to load e-web-view.js for the preview panel and e-editor.js for the message composer. Could you search for them in your system, please? They are usually stored in /usr/share/evolution/webkit/ where Evolution looks for them.

I suspect it’s a packaging issue in your distribution. I suggest you open a bug against your distribution. These .js files are nothing new, they are there for several releases, the e-editor.js had been added in time of 3.38.0 (to be precise, for the 3.37.2 development version).

Hi,
As you may note, I found the two .js files in the directory. I attempted to add “usr/share” in the PATH environment variable both as user and root, with no success.

localhost:/usr/share/evolution # cd webkit
localhost:/usr/share/evolution/webkit # ls -l
total 312
-rw-r–r-- 1 root root 28651 Mar 17 07:20 e-convert.js
-rw-r–r-- 1 root root 182740 Mar 17 07:20 e-editor.js
-rw-r–r-- 1 root root 13287 Mar 17 07:20 e-selection.js
-rw-r–r-- 1 root root 29016 Mar 17 07:20 e-undo-redo.js
-rw-r–r-- 1 root root 45149 Mar 17 07:20 e-web-view.js
-rw-r–r-- 1 root root 1093 Mar 17 07:20 webview-print.css
-rw-r–r-- 1 root root 3086 Mar 17 07:20 webview.css

As you suggest, I’m going to contact Opensuse, and I’ll keep you informed of their feedback.

However, other suggestions from you would be welcome.

Cheers,

René

Hi,
they are not supposed to be in the PATH, the PATH is for something
else. The files should be located at the place the binary (the
‘evolution’ executable) expects them, thus they can be found. Where
they are expected depends on the compile time options. As far as I can
tell, your distro places them to the standard directories, which can
mean the problem is elsewhere.

It brings us back to the beginning: what is your WebKitGTK version,
please? And will it help if you downgrade it, say to 2.38.x, in case
your version is 2.40.x?

What if you close evolution, then open a terminal and run there the
following three commands?

export WEBKIT_FORCE_SANDBOX=0
export WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1
evolution

Will it help anything?

Bye,
Milan

Hi,

  1. Question 1: WebKitGTK version

In a first step, WebKitGtk was not installed. So I installed it using the standard Tumbleweed repository: WebKitGTK-4.0

The problem with Evolution remains the same.

  1. Question 2: Disabling the Sandbox

No effect on Evolution with and without Webkitgtk

I’m going to downgrade WebKitGtk to see what happens. I’ll keep you informed.

See you.

René

In a first step, WebKitGtk was not installed.

Hi,

that’s highly unlikely, the WebKitGTK is a hard dependency for the
Evolution. You cannot run Evolution without it. The Evolution 3.48.0
requires WebKitGTK 4.1 API (which uses libsoup3). I do not know how
your distro names the corresponding package. Fedora, which I use,
renamed the packages recently. They used to be called webkit2gtk3, it’s
webkit2gtk4.1 now.

So I installed it using the standard Tumbleweed repository:
WebKitGTK-4.0

You can uninstall it, it’s not used by the Evolution.
Bye,
Milan

Hi mcrha,

I followed all the steps you mention. Now everything works well. Congratulation for your expertise and thank you for you availability and your patience.

My last question: how to mention that this issue is solved?

René

I think there’s a button somewhere here on Discourse that you (as the person who created this discussion) can use to mark a particular post as the solution for the discussion. But, is the problem really solved? What exactly did you do? Downgrade WebKitGTK? Disable the sandbox? These are workarounds, not solutions. :slight_smile:

You don’t really need to.

Hi Michael Catanzaro,

Thank you for your question. I have another issue with Evolution, which appeared after the the first is solved.

Evolution is automatically triggered when I use the “su -” command with an empty configuration as if I have just installed it.

I get the following messages:

rene@localhost:~> su -
Mot de passe :

** (evolution:21359): WARNING **: 01:04:11.143: Failed to canonicalize path /root/.local/share/evolution/preview-plugins: No such file or directory

** (evolution:21359): CRITICAL **: 01:04:11.143: Attempted to add disallowed path to sandbox: /root/.local/share/evolution/preview-plugins

This does not happen when i use “sudo root”.

Many thanks for your help.

René

That’s an Evolution bug that Milan will probably fix (it just needs to create the directory sooner).

Anyway, do not ever run GUI apps as root. It’s not expected to work and can break permissions of files in your home directory. That’s a very serious mistake and I wish we would find some way to prevent people from doing it.

Hi Michael,

Many thanks for this useful information and for your help and for Milan’s help.

Following your advise, I don’t run GUI application as root. I ‘only’ manage my system as root.

Regards.

René

1 Like

Hi,
even I won’t call it an Evolution bug, the message begun to show up
only with WebKitGTK 2.40.0 and it’s harmless, it’s only annoying for
the users - there exists a workaround already, made few weeks ago:

Bye,
Milan

Hi Milan,

Thank you very much for this info.

I’m sorry, I’m not familiar at all on how to make the changes mentioned. Could someone guide me to implement this workaround.

Thanks in advance.

René

Hi,
if you mean the warning about nonexistent plugin directory, I already
said it’s harmless, you do not need to “implement” anything, neither
rebuild the evolution with the referenced patch.

The easiest workaround you can do right now, without any need to build
a single bit of the source code, is to create the directory it claims
is missing.

It will not help to your original problem by any means.

Another user said it helps to run Evolution from a terminal with
executed following export command:

export WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1

if you are using WebKitGTK 2.40.x or any later version. It helped the
user when running Evolution in a Flatpak.

Did you open a bug against your distribution already? You should do
that. You claimed above that it’s misbehaving in one distro, but in
another it works fine (you mentioned Fedora 37, even older, where is
packaged 3.46.x, not 3.48.x Evolution - for that you’d need Fedora 38),
thus it can be a packaging problem, thus something to be dealt with in
the distribution, not here.

Bye,
Milan