[SRU] Enchant-2 does not work properly with backends that want a NUL-terminated string

Bug #1901290 reported by Timo Jyrinki
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
enchant-2 (Debian)
Fix Released
Unknown
enchant-2 (Ubuntu)
Fix Released
Low
Unassigned
Focal
Fix Released
Low
Timo Jyrinki
Groovy
Fix Released
Low
Timo Jyrinki

Bug Description

[Impact]

Spell checking / spelling error highlighting does not work properly in eg gedit, gnote or gtranslator when using a language which uses Voikko (often Finnish, but also North Sámi (giella-sme package) or user installed HFST spellers like other Sámi languages or Greenlandic) or Zemberek (Turkish) backend via Enchant-2.

[Test Case]

(from https://gitlab.gnome.org/GNOME/gspell/-/issues/10)

1. apt install libenchant-2-voikko voikko-fi
2. Run gedit, gnote, gtranslator or other gspell using program
3. (in gedit) Enable underlining of incorrectly typed words, and set Finnish (suomi) as language
4. Copy-paste for example "tämä on testitekstiä" ("this is test text"), maybe for a comparison "tämmä on vihre" (1st and 3rd word incorrect)
5. Note how everything is underlined - in suggestions, you can choose the same word and the underlining disappears, but as soon as you eg "leave" the word (press space after it) it gets underlined again. However, if doing manual spell checking the words are correctly understood as being correct.

[Where problems could occur]

The patch changes code in voikko and zemberek plugins, which are built and shipped separately. Zemberek is not built at all in Debian or Ubuntu. Thus, no changes (or problems) should be possible to happen outside the Voikko plugin (libenchant-2-voikko binary package), unless a toolchain change since the last build in March 2020 would cause a change with unchanged source.

Voikko plugin would be good to test via multiple libraries like gspell, gtkspell, sonnet that there are no regressions.

--- original report ---

This shows up particularly with the inline checking feature of gspell in eg gedit which is part of the default Ubuntu installation.

The issue is fixed in Enchant 2.2.12, and after that release reaches Debian and Ubuntu hirsute, I hope a backport of this patch to https://patch-diff.githubusercontent.com/raw/AbiWord/enchant/pull/260.patch can be done to groovy and focal.

SRU paperwork to be added later, but in general all backends would be good to test after the backport in various ways like gspell, sonnet.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks, I did the upload to Debian and it's going to autosync to hirsute. If you want a SRU of the fix it would be useful to describe a real world problem or testcase that the update or selected fix would resolve...

Changed in enchant-2 (Ubuntu):
importance: Undecided → Low
status: New → Fix Committed
Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in enchant-2 (Ubuntu):
status: Fix Committed → Fix Released
description: updated
summary: - Enchant-2 does not work properly with backends that want a NUL-
+ [SRU] Enchant-2 does not work properly with backends that want a NUL-
terminated string
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Added SRU with test case.

Tested the patch successfully so far via PPA https://launchpad.net/~timo-jyrinki/+archive/ubuntu/yetanotherppa1.

Uploaded 2.2.8-1ubuntu0.20.10.1 and 2.2.8-1ubuntu0.20.04.1 to groovy and focal queues.

description: updated
Changed in enchant-2 (Ubuntu Focal):
importance: Undecided → Low
Changed in enchant-2 (Ubuntu Groovy):
importance: Undecided → Low
Changed in enchant-2 (Ubuntu Focal):
status: New → Fix Committed
Changed in enchant-2 (Ubuntu Groovy):
status: New → Fix Committed
Changed in enchant-2 (Ubuntu Focal):
assignee: nobody → Timo Jyrinki (timo-jyrinki)
Changed in enchant-2 (Ubuntu Groovy):
assignee: nobody → Timo Jyrinki (timo-jyrinki)
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Timo, or anyone else affected,

Accepted enchant-2 into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/enchant-2/2.2.8-1ubuntu0.20.10.1 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 on 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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

tags: added: verification-needed verification-needed-groovy
tags: added: verification-needed-focal
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Timo, or anyone else affected,

Accepted enchant-2 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/enchant-2/2.2.8-1ubuntu0.20.04.1 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 on 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

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

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Updated enchant in use in 20.04 and 20.10.

Visible are various apps using Enchant - gedit and gtranslator (gspell), Abiword (direct Enchant), gnome-subtitles (gtkspell), kwrite (sonnet).

tags: added: verification-done verification-done-focal verification-done-groovy
removed: verification-needed verification-needed-focal verification-needed-groovy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package enchant-2 - 2.2.8-1ubuntu0.20.10.1

---------------
enchant-2 (2.2.8-1ubuntu0.20.10.1) groovy; urgency=medium

  * debian/patches/Fix_back-ends_that_want_a_NUL-terminated_string.patch:
    - Fix Zemberek and Voikko backends under eg gspell (LP: #1901290)

 -- Timo Jyrinki <email address hidden> Thu, 05 Nov 2020 16:13:12 +0200

Changed in enchant-2 (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for enchant-2 has completed successfully and the package is now being 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 regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package enchant-2 - 2.2.8-1ubuntu0.20.04.1

---------------
enchant-2 (2.2.8-1ubuntu0.20.04.1) focal; urgency=medium

  * debian/patches/Fix_back-ends_that_want_a_NUL-terminated_string.patch:
    - Fix Zemberek and Voikko backends under eg gspell (LP: #1901290)

 -- Timo Jyrinki <email address hidden> Thu, 05 Nov 2020 16:13:12 +0200

Changed in enchant-2 (Ubuntu Focal):
status: Fix Committed → Fix Released
Changed in enchant-2 (Debian):
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.