drag and drop does not work language support not complete

Bug #1103547 reported by Philipp Gassmann on 2013-01-23
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
language-selector (Ubuntu)
Medium
Gunnar Hjalmarsson
Precise
Medium
Gunnar Hjalmarsson

Bug Description

Nomination of the fix of this bug for a Precise SRU
---------------------------------------------------
[Impact]
Users who have the enhanced "frami" version of the German hunspell dictionary installed are incorrectly prompted to install the conflicting standard version each time they launch language-selector.

Philipp Gassmann: "I also think that this fix should be backported to precise because of its usage in enterprises, where multiple locales are more common and the preferences of users diverse."

[Test Case]
Steps to reproduce with version 0.79 or 0.79.1:
- Install German.
- Make German (Germany) the system wide regional formats setting.
- Install hunspell-de-de-frami, which will remove hunspell-de-de since -frami is an enhanced version.
- Launch language-selector, and you'll be prompted to install hunspell-de-de.

[Regression Potential]
The fix does two things:
1. Prevents the incorrect prompts.
2. Makes the check for incomplete language support cover all the installed languages, and not only the current system language (which is considered a fix of a related not reported bug).

The risk for regression is low.

Original description
--------------------
After dismissing the notification, that language-support is incomplete, drag and drop of the available languages does not work.

Workaround:
1. Press Ctrl and Drag something > Does not change order.
2. Release Ctrl. > Drag and drop ordering works.

Related Problem: The "frami" versions of the German hunspell packs are not recognised as a replacement for the default hunspell.
(e.g. hunspell-de-ch-frami is enhanced variant of hunspell-de-ch)
So every time gnome-language-selector is started, it asks to install hunspell-de-ch which conflicts without any notice!

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: language-selector (not installed)
ProcVersionSignature: Ubuntu 3.2.0-36.57-generic 3.2.35
Uname: Linux 3.2.0-36-generic x86_64
NonfreeKernelModules: nvidia wl
ApportVersion: 2.0.1-0ubuntu17.1
Architecture: amd64
Date: Wed Jan 23 17:38:11 2013
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release amd64 (20101007)
MarkForUpload: True
SourcePackage: language-selector
UpgradeStatus: Upgraded to precise on 2012-05-22 (246 days ago)

Philipp Gassmann (phiphi.g) wrote :
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks for taking the time to help making Ubuntu better by filing this bug report!

Tried to reproduce the frami issue by installing hunspell-de-de-frami (which made hunspell-de-de being removed). For me, the check that gnome-language-selector carries out when launched does not report that hunspell-de-de is missing. However, the command check-language-support does so when run from a terminal window.

@Martin:
Is it normal that the gnome-language-selector check for missing language support packages is quiet while check-language-support may report quite a few missing packages? Shouldn't they output the same package list?

I triggered the "The language support is not installed completely" dialog by removing poppler-data, and clicked "Remind Me Later". In 12.04 I was able to reproduce the drag-and-drop issue as described, but that issue seems to have been fixed in 12.10. I don't think it's important enough for updating a stable release, so I'd consider that part of this bug report to be a "Won't Fix".

Gunnar Hjalmarsson [2013-02-04 0:23 -0000]:
> Is it normal that the gnome-language-selector check for missing
> language support packages is quiet while check-language-support may
> report quite a few missing packages? Shouldn't they output the same
> package list?

They are supposed to show the same list indeed, so that sounds like a
bug.

Martin
--
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)

Gunnar Hjalmarsson (gunnarhj) wrote :

Well, I did find a bug that explains why I failed to reproduce 'the frami issue'. The linked branch both fixes that bug and includes a hack to actually deal with the hunspell/frami issue as described in this bug report.

I'm still not quite comfortable. Please see the comment in the merge proposal.

Changed in language-selector (Ubuntu):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Low
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package language-selector - 0.102

---------------
language-selector (0.102) raring; urgency=low

  [ Martin Pitt ]
  * tests/test_language_support_pkgs.py: Fix unstable test due to Python's
    current hash randomization.
  * Add test case for LP #1103547.

  [ Gunnar Hjalmarsson ]
  * LanguageSelector/LanguageSelector.py:
    Call missing() in language_support_pkgs.py instead of
    by_locale(), so the check for missing language support packages
    is carried out for all the installed languages, not only for the
    current system language.
  * language_support_pkgs.py:
    Hack to prevent that users are prompted to install hunspell-de-xx
    when the enhanced (and conflicting) hunspell-de-xx-frami is
    installed (LP: #1103547).
 -- Martin Pitt <email address hidden> Fri, 08 Feb 2013 11:55:28 +0100

Changed in language-selector (Ubuntu):
status: In Progress → Fix Released
Philipp Gassmann (phiphi.g) wrote :

The bug fixed is the -frami issue on raring, but not on precise.

But the main point of my report was the drag and drop that is not working.

I also think that this fix should be backported to precise because of its usage in enterprises, where multiple locales are more common and the preferences of users diverse.

Gunnar Hjalmarsson (gunnarhj) wrote :

There is a regression issue in version 0.102. If you try to install missing language support packages when prompted, you get:

  File "/usr/lib/python3/dist-packages/dbus/connection.py", line 584, in call_async
    message.append(signature=signature, *args)
TypeError: Don't know which D-Bus type to use to encode type "set"

The linked merge proposal fixes the issue.

Changed in language-selector (Ubuntu):
status: Fix Released → In Progress
importance: Low → High
Gunnar Hjalmarsson (gunnarhj) wrote :

Philipp,
I'll propose a Precise backport. That way the drag-and-drop issue (only Precise) won't be very important, right?

description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package language-selector - 0.103

---------------
language-selector (0.103) raring; urgency=low

  * LanguageSelector/LanguageSelector.py:
    Make getMissingLangPacks() return a list instead of a set -
    fixes regression issue from version 0.102 (LP: #1103547).
 -- Gunnar Hjalmarsson <email address hidden> Fri, 08 Feb 2013 17:12:00 +0100

Changed in language-selector (Ubuntu):
status: In Progress → Fix Released
Gunnar Hjalmarsson (gunnarhj) wrote :

For the case you want to test, a language-selector build for Precise with the "frami" fix is available in my PPA at https://launchpad.net/~gunnarhj/+archive/misc

Changed in language-selector (Ubuntu):
importance: High → Medium
status: Fix Released → In Progress
Martin Pitt (pitti) on 2013-02-09
Changed in language-selector (Ubuntu):
status: In Progress → Fix Released
Changed in language-selector (Ubuntu Precise):
status: New → In Progress
Changed in language-selector (Ubuntu Precise):
assignee: nobody → Gunnar Hjalmarsson (gunnarhj)
importance: Undecided → Medium
Philipp Gassmann (phiphi.g) wrote :

Thank you!
In my case, that will solve the problem.

But if you don't want to deliver full language support e.g. don't install gimp-help-de you will still encounter the drag'n'drop bug.

I tried to reproduce the bug in a 32bit and in a 64bit virtualbox precise installation, with and without Guest Additions (3D-Acceleration) there the Bug is NOT reproduceable.

But on my real system 64bit, nvidia proprietary driver the bug is reproduceable, as it is on a few machines at work. I'll try to check whether the nvidia-driver is the jumping point.

Philipp Gassmann (phiphi.g) wrote :

Update: It's not driver related. It's some kind of randomness.
I removed the nvidia-drivers on my machine and retried it. Sometimes it worked, sometimes it didn't. I couldn't figure out a pattern, it seems I can do the same procedure once it worked, and the next time, it didn't, and again the next time it worked again.
I checked whether it makes a difference whether I first unfold the list and focus it, but it looks really random.
Here's a screencast: http://ubuntuone.com/3Zz7NvwEV8xlnHF7hgTjXX

After I recognised, that it is random, I retried it in virtualbox (64bit&32bit, 3D Unity) and the second time I tried, the bug was there too.

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2013-02-10 18:23, Philipp Gassmann wrote:
> But if you don't want to deliver full language support e.g. don't
> install gimp-help-de you will still encounter the drag'n'drop bug.

True. But please note that Ubuntu currently makes the languages available on an all or nothing basis. If you don't want to install (certain) German language support packages, don't install German in the first place. ;-) Admittedly this means that you are forced to install certain packages that you don't use. OTOH, everyone's computers contain a lot of such packages, right? Today, with the huge space that hard disks provide, it's typically not a problem in practice.

> Update: It's not driver related. It's some kind of randomness.

And the randomness would make the issue pretty difficult to track down, I suppose. For that reason, and since it's not present in Quantal and Raring, I for one am disinclined to spend more time on it.

Sebastien Bacher (seb128) wrote :

Thanks for the work Gunnar. That bug is confusing, the title is about drag and drop but that's not what the bug seems to be about? The vcs linked seems to include several fix, one not having a bug reference. You will also need a test case for the SRU so the testers can verify that the fix is working

Sebastien Bacher (seb128) wrote :

(unsubscribing sponsors, please subscribe them back once those issues are addressed)

Gunnar Hjalmarsson (gunnarhj) wrote :

Hi Sebastien,

Thanks for your comments, and sorry for the confusion.

Ideally this bug report should have been splitted into a hunspell/frami bug (fixed) and a drag-and-drop bug (won't fix) and yet another bug should have been filed about the lang support check not carried out for all installed languages (fixed). OTOH I think that the changelog clearly documents the nature of the changes.

Added a test case, which unfortunately might raise new questions. Please don't ask them. ;-) 0.79.2 takes care of it all.

I'd have unsubscribed ubuntu-sponsors anyway, since the branch is already in the precise queue (mentioned on bug 37707) - thanks, Martin. The changes relate to code that Martin wrote last year, and he has reviewed it all.

description: updated

Hello Philipp, or anyone else affected,

Accepted language-selector into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/language-selector/0.79.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in language-selector (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Gunnar Hjalmarsson (gunnarhj) wrote :

I have successfully installed and run language-selector 0.79.2 from precise-proposed. The test case above can no longer be reproduced.

tags: added: verification-done
removed: verification-needed

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package language-selector - 0.79.2

---------------
language-selector (0.79.2) precise-proposed; urgency=low

  * LanguageSelector/LanguageSelector.py:
    Call missing() in language_support_pkgs.py instead of
    by_locale(), so the check for missing language support packages
    is carried out for all the installed languages, not only for the
    current system language (LP: #1134364).
  * language_support_pkgs.py:
    - Hack to prevent that users are prompted to install hunspell-de-xx
      when the enhanced (and conflicting) hunspell-de-xx-frami is
      installed (LP: #1103547).
    - Changes in available_languages() to avoid that users are prompted
      to install language support for non-installed languages. That
      could happen if there were other locales on the system but the
      locales representing the installed languages (LP: #1134364).
  * LanguageSelector/LangCache.py:
    When a language is removed, don't remove packages that are not
    language specific (LP: #37707).
  * debian/control:
    Bump the accountsservice dependency.
 -- Gunnar Hjalmarsson <email address hidden> Wed, 27 Feb 2013 16:44:00 +0100

Changed in language-selector (Ubuntu Precise):
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

Bug attachments