lots of gtk errors in non "ubuntu" sessions

Bug #912379 reported by dino99 on 2012-01-05
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
nautilus (Ubuntu)
High
Unassigned
Oneiric
Low
Unassigned

Bug Description

TESTCASE for the SRU:
* install the update
* log into a classic session
* check that .xsession-errors is not spammed by gtk warnings

or alternatively run "DESKTOP_SESSION=GNOME nautilus" in an unity session, check that before the update it displays lot of warning and after not

This report is an additional report to bug #890441

Previous troubles:
- nautilus memory leak
- seems to be due to language accent letters bad encoded with dirs and at least .gtk-bookmarks: in this case fr_FR-UTF8 is used and "Vidéos" is encoded as " Vid%C3%A9os", the same garbage for "Téléchargement".
- Renaming dirs without "é" and removing borked .gtk-bookmarks then rebooting gives interesting results:
 1) less errors are logged into xsession-errors, but still some, so i suppose that other dirs/subdirs and/or config files are containing garbage due to that accent encoding issue.
 2) nautilus stop to eat memory

As previously nautilus was eating about 10 Mib ram per hour, i understand that nautilus is monitoring the system with a very high frequency to produce such an amazing error volume. Maybe it should be less realtime or stop to fullfilled log with repeated similar errors.

This report is made on Precise i386 full updated daily and using the latest langage-pack available into genuine archive. Oneiric have also the same issue with bad accent encoding.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: nautilus 1:3.2.1-2ubuntu6
ProcVersionSignature: Ubuntu 3.2.0-7.13-generic-pae 3.2.0-rc7
Uname: Linux 3.2.0-7-generic-pae i686
NonfreeKernelModules: nvidia
ApportVersion: 1.90-0ubuntu1
Architecture: i386
Date: Thu Jan 5 17:25:57 2012
SourcePackage: nautilus
UpgradeStatus: No upgrade log present (probably fresh install)

dino99 (9d9) wrote :
dino99 (9d9) wrote :
dino99 (9d9) wrote :

These new error are added:

** CRITICAL **: enchant_dict_check: assertion `len' failed
Discarding: 1 over 9
Discarding: 8 over 9

** CRITICAL **: murrine_style_draw_flat_box: assertion `height >= -1' failed

** CRITICAL **: enchant_dict_check: assertion `g_utf8_validate(word, len, NULL)' failed

Is " enchant_dict_check" related to libgtksourceview ?

dino99 (9d9) wrote :

Something related:

pygobject (3.0.3-2) unstable; urgency=medium

  * Urgency medium as the previous release with the regression already made it
    into testing and is causing quite a few unexpected breakages.
  * Add 01_revert_tree_model_unicode_conversion.patch: Revert "Convert all
    strings to utf-8 encoding when retrieving from TreeModel" change from
    previous release. This changes existing behaviour (model values being str
    instead of unicode) and also makes tree model behaviour incompatible to
    the rest of Gtk behaviour (which always returns UTF-8 encoded str objects,
    not unicode). The original bug description was a bug in the test case
    code, you cannot mix str and unicode objects in interpolation.
    (LP: #905602)

 -- Martin Pitt <email address hidden> Fri, 06 Jan 2012 16:38:51 +0100

Will report if that makes a difference.

Sebastien Bacher (seb128) wrote :

While it might seem similar it's different, that's a python-gobject fix and nautilus is C code

Sebastien Bacher (seb128) wrote :

What locale do you use (? I get no such warning on precise using a french locale with "file:///home/user/Vid%C3%A9os" in my "user" .gtk-bookmarks

do you get similar warnings in other applications? could you get a stacktrace for the bookmark issue and then one of the other issue you get?

Sebastien Bacher (seb128) wrote :

Ok, I can reproduce the issue there, it depends of the session used, (i.e running "DESKTOP_SESSION=ubuntu nautilus" leads to no warning, session it to "GNOME" does, no need to keep getting stacktraces I will have a look locally

Changed in nautilus (Ubuntu):
status: New → Confirmed
importance: Undecided → High
summary: - Accent letters in dirs name make lots of gtk errors
+ lots of gtk errors in non "ubuntu" sessions
Sebastien Bacher (seb128) wrote :

the issue is due to the fix for bug #826771
https://code.launchpad.net/~mitya57/ubuntu/precise/nautilus/desktop-window-fixes/+merge/80207

we should come with a better solution or revert the fix, workaround for the issue are to run "nautilus --no-desktop" or "DESKTOP_SESSION=ubuntu nautilus"

dino99 (9d9) wrote :

Thanks Sebastien

i confirm that i'm always logged as gnome-classic (without effect)

about the language used:
1) .profile
export LANGUAGE="fr_FR:en"
export LC_MESSAGES="fr_FR.UTF-8"
export LC_CTYPE="fr_FR.UTF-8"
export LC_COLLATE="fr_FR.UTF-8"

2) locale

LANG=fr_FR
LANGUAGE=fr_FR:en
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC=fr_FR.utf8
LC_TIME=fr_FR.utf8
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.utf8
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER="fr_FR"
LC_NAME="fr_FR"
LC_ADDRESS="fr_FR"
LC_TELEPHONE="fr_FR"
LC_MEASUREMENT=fr_FR.utf8
LC_IDENTIFICATION="fr_FR"
LC_ALL=

Comment on post #4 above:
ok nautilus is a C app, but as the system use python also, i can imagine that some relationship exist to communicate with the other coding language, like shared library(ies) linked to dependency(ies)/sub-dependency(ies) or some class for translation. So it could be an explanation of the bad encoding .

About the possible cause:
"the bookmarks code seems to be trying to update the menus which is an issue with bar destroyed..."

here i can comment on 2 different cases: one related to Natty i386 upgraded to Oneiric (laptop) and the other Oneiric i386 upgraded to Precise (desktop)
- laptop: with Natty the xsession-errors log was quite empty, but after the dist-upgrade to Oneiric i get the gtk-critical flooding. As previously said, this system also only have gnome-session-fallback, both compiz/unity* purged. So "issue with bar destroyed" could be the root problem.
- desktop: as i can remember with Natty i386 i was not having these gtk errors, they appeared with Oneiric (dont remember when but probably with RC), and continue with Precise. Oneiric was a fresh installation, and compiz/unity purged. Logged as gnome-classic. So here again "the bar destroyed" can explain the issue. But why nautilus monitor with so high frequency the whole system ?

Dmitry Shachnev (mitya57) wrote :
Changed in nautilus (Ubuntu):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nautilus - 1:3.2.1-2ubuntu7

---------------
nautilus (1:3.2.1-2ubuntu7) precise; urgency=low

  * debian/patches/05_desktop_menu_export.patch:
    - drop the hack to avoid the nautilus menubar displayed on the desktop on
      non unity session, it's buggy, spam the session log and the issue
      has been fixed properly in gtk with a recent update (lp: #912379)
 -- Sebastien Bacher <email address hidden> Thu, 12 Jan 2012 16:18:18 +0100

Changed in nautilus (Ubuntu):
status: Fix Committed → Fix Released
Sebastien Bacher (seb128) wrote :

Do you still get the enchant warnings btw? If you do you should open a bug about those

Changed in nautilus (Ubuntu Oneiric):
importance: Undecided → Low
status: New → Fix Committed
Sebastien Bacher (seb128) wrote :

I've uploaded a stable update candidate for oneiric which needs to be reviewed

description: updated

@Sebastien: I still don't see any update in the queue. Did you really upload it?

I guess you're going to drop that hack. If so, I can only appreciate it :)

Hello dino99, or anyone else affected,

Accepted nautilus into oneiric-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
dino99 (9d9) wrote :

Got the new nautilus on Oneiric i386, logged as gnome-classic

and after a logout/login the previous gtk errors are totally gone.

Thanks for getting Oneiric fixed.

Changed in nautilus (Ubuntu Oneiric):
status: Fix Committed → Fix Released
Sebastien Bacher (seb128) wrote :

@dino99: thanks, for SRUs the bug should stay "fix commited" but "verification-needed" tag should be set to "verification-done", the bug will be closed when the package moves to -updates

Changed in nautilus (Ubuntu Oneiric):
status: Fix Released → Fix Committed
tags: added: verification-done
removed: verification-needed
dino99 (9d9) wrote :

ok sorry

Richard Kleeman (kleeman) wrote :

For gnome classic, shell and cinnamon nautilus with this fix now puts an annoying menu bar at the top of the desktop.

Matthieu Baerts (matttbe) wrote :

*Please do not upload it to 'oneiric-update'!*

Simply have a look to the attachment. You can see the desktop of a friend with a Cairo-Dock session: it's just ugly with this nautilus' top menu bar! And this problem is also available with all other non-'Ubuntu' session... (Gnome Shell, Gnome Classic, XFCE etc. if nautilus is used)

With this new version, the bug #826771 has to be re-opened (and the importance was set as 'High'!)

I understand that the previous workaround was a bit ugly but this top menu bar too is also ugly! (it's maybe worst to have a annoying menu (which is just very ugly on the desktop) than these warning messages!).
I also understand that this patch has been removed on Precise but it's not for the same reason (it's simply because a modification has been made on gtk-3.0 and this patch is now useless with this new version of gtk-3.0).

And what about the solution proposed by Dmitry ( https://bugs.launchpad.net/unity-foundations/+bug/826771/comments/40 - insert menu to proxy only on "good" sessions, like that) or backport the modification made on gtk-3.0?

I'm sorry but I have to remove this 'verification-done' tag. I know that this bug is fixed with this new version but another bug has to be (re-)opened and I'm not sure that it's a good idea to do that (except if I missed something :) ).

tags: added: verification-failed
removed: verification-done
Sebastien Bacher (seb128) wrote :

Sorry but I'm changing it back to verification done, the "fix" for the bug you pointed should never have mode to updates it's buggy, spam logs with error, lead to increase resource usages over time and can lead to segfault or session closing, the other issue it tries to fix is only cosmetic.

If somebody wants to come with a proper fix for oneiric feel free, meanwhile we revert to what was in oneiric before the buggy update, note that the bug is correctly fixed in precise but the fix can't be backported since it requires new glib and gtk features to work

tags: added: verification-done
removed: verification-failed
Matthieu Baerts (matttbe) wrote :

Ok, I didn't know that a lot of gtk warnings can crash the session but what about the solution proposed by Dmitry? ("insert menu to proxy only on "good" sessions")
Or maybe you need a patch?
Maybe can we have a delay to propose a proper solution?

Sebastien Bacher (seb128) wrote :

> Or maybe you need a patch?

Right, as said before patches are welcome, I run neither oneiric nor a session with that issue and I'm quite busy with precise work with the feature freeze coming, I already took time to made the effort to backport the next row and segfault patches in that version and to try to figure why some people were getting so error spamming, ressource leak, segfaults, etc issue, I can't spent extra time on SRU this week

> Maybe can we have a delay to propose a proper solution?

When you get a proper solution I will sponsor it for a new upload, the priority is to get the real issues fixed, we can sort cosmetic ones later on

@Matthieu: Things from my comment you are referring to don't work, the
proper place to fix is 043_ubuntu_menu_proxy.patch in Gtk (but I have
no idea how to make a fix different from what's done in Precise - what
as Sebastien says requires new gtk/glib series).

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nautilus - 1:3.2.1-0ubuntu4.1

---------------
nautilus (1:3.2.1-0ubuntu4.1) oneiric-proposed; urgency=low

  * debian/patches/05_desktop_menu_export.patch:
    - drop the hack to avoid the nautilus menubar displayed on the desktop on
      non unity session, it's buggy, spam the session log (lp: #912379)
  * debian/patches/git_next_row.patch:
    - let navigate to the next row by pressing right at the end of the line
      (lp: #855862)
  * debian/patches/git_desktop_middle_click.patch:
    - don't run into assert when middle clicking on a desktop directory
      (lp: #817861)
 -- Sebastien Bacher <email address hidden> Wed, 08 Feb 2012 11:46:05 +0100

Changed in nautilus (Ubuntu Oneiric):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers