Bug 2158548

Summary: hunspell does not work anymore for Korean in recent rawhide
Product: [Fedora] Fedora Reporter: Mike FABIAN <mfabian>
Component: hunspellAssignee: Caolan McNamara <caolanm>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: caolanm, gnome-sig, manisandro, mclasen, mfabian, rhughes, rstrode, sandmann
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: hunspell-1.7.2-2.fc38 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-01-06 16:59:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
korean.txt none

Description Mike FABIAN 2023-01-05 17:28:14 UTC
On Fedora 37:

mfabian@hathi:~
$ cat /etc/fedora-release 
Fedora release 37 (Thirty Seven)
mfabian@hathi:~
$ rpm -qa | grep enchant
enchant2-2.3.3-2.fc37.x86_64
enchant-1.6.0-31.fc37.x86_64
python3-enchant-3.2.2-5.fc37.noarch
enchant2-aspell-2.3.3-2.fc37.x86_64
mfabian@hathi:~
$ echo 안녕하세이  | enchant-2 -a -d ko_KR
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
& 안녕하세이 2 0: 안녕하세요, 안녕하여있다


mfabian@hathi:~

That is OK.

On Fedora rawhide (installed from Fedora-Workstation-Live-x86_64-Rawhide-20230104.n.0.iso and updated with `sudo dnf update`):

[mfabian@fedora ~]$ cat /etc/fedora-release
Fedora release 38 (Rawhide)
[mfabian@fedora ~]$ rpm -qa | grep enchant
python3-enchant-3.2.2-5.fc38.noarch
enchant-1.6.0-31.fc37.x86_64
enchant2-2.3.3-4.fc38.x86_64
enchant2-aspell-2.3.3-4.fc38.x86_64
[mfabian@fedora ~]$ echo 안녕하세이  | enchant-2 -a -d ko_KR
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
# 안녕하세이 0


[mfabian@fedora ~]$ 

It does not work anymore ☹

Comment 1 Mike FABIAN 2023-01-05 17:29:35 UTC
I think this still worked in rawhide about a week ago.

Comment 2 Mike FABIAN 2023-01-05 17:37:57 UTC
The Korean hunspell dictionaries on Fedora 37 and rawhide are identical:

mfabian@hathi:~
$ rpm -qf /usr/share/hunspell/ko_KR*
hunspell-ko-0.7.0-14.fc37.noarch
hunspell-ko-0.7.0-14.fc37.noarch
mfabian@hathi:~

[mfabian@fedora ~]$ rpm -qf /usr/share/hunspell/ko_KR*
hunspell-ko-0.7.0-14.fc37.noarch
hunspell-ko-0.7.0-14.fc37.noarch
[mfabian@fedora ~]$ 

I also diffed the files /usr/share/hunspell/ko_KR.dic and /usr/share/hunspell/ko_KR.aff, they are really identical, i.e. not only the version number of the rpm is the same, the dictionary files contained are really identical.

Comment 3 Sandro Mani 2023-01-05 17:42:27 UTC
Not aware of any changes - maybe try comparing the strace outputs?

Comment 4 Mike FABIAN 2023-01-05 17:53:59 UTC
Created attachment 1935990 [details]
korean.txt

Test file korean.txt

mfabian@hathi:~
$ cat /etc/fedora-release 
Fedora release 37 (Thirty Seven)
mfabian@hathi:~
$ cat korean.txt 
안녕하세이
mfabian@hathi:~
$ enchant-2 -a -d ko_KR korean.txt
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
& 안녕하세이 2 0: 안녕하세요, 안녕하여있다


mfabian@hathi:~
$ 

[mfabian@fedora ~]$ cat /etc/fedora-release 
Fedora release 38 (Rawhide)
[mfabian@fedora ~]$ cat korean.txt 
안녕하세이
[mfabian@fedora ~]$ enchant-2 -a -d ko_KR korean.txt 
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
# 안녕하세이 0


[mfabian@fedora ~]$

Comment 5 Mike FABIAN 2023-01-06 00:48:54 UTC
On F37, where it works:

$ cat /etc/fedora-release 
Fedora release 37 (Thirty Seven)
mfabian@hathi:~
$ strace -e trace=%file -f enchant-2 -a -d ko_KR korean.txt
execve("/usr/bin/enchant-2", ["enchant-2", "-a", "-d", "ko_KR", "korean.txt"], 0x7fff10490678 /* 82 vars */) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=108455, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libenchant-2.so.2", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=53376, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1325824, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2224248, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libgmodule-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=24320, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=642072, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=224104272, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib64/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "korean.txt", O_RDONLY) = 3
newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0xb), ...}, AT_EMPTY_PATH) = 0
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
openat(AT_FDCWD, "/usr/lib64/enchant-2", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 4
newfstatat(4, "", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", {st_mode=S_IFREG|0755, st_size=16040, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=16040, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=108455, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libaspell.so.15", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=658848, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=2360128, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=928112, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=128536, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=2998, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", {st_mode=S_IFREG|0755, st_size=33096, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=33096, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=108455, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libhunspell-1.7.so.0", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=473968, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=208456, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/enchant-2/enchant.ordering", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=317, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/mfabian/.config/enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/home/mfabian/.config/enchant/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/home/mfabian/.local/share/flatpak/exports/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/var/lib/flatpak/exports/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/hunspell/ko_KR.dic", F_OK) = 0
access("/usr/share/hunspell/ko_KR.aff", F_OK) = 0
access("/usr/share/hunspell/ko_KR.aff", F_OK) = 0
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.aff", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.dic", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.aff", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=27012, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", O_RDWR|O_CREAT|O_APPEND, 0666) = 4
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", O_RDWR|O_CREAT|O_APPEND, 0666) = 4
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=16, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
& 안녕하세이 2 0: 안녕하세요, 안녕하여있다


+++ exited with 0 +++
mfabian@hathi:~
$

Comment 6 Mike FABIAN 2023-01-06 00:49:34 UTC
On rawhide, where it does not work:

[mfabian@fedora ~]$ cat /etc/fedora-release 
Fedora release 38 (Rawhide)
[mfabian@fedora ~]$ strace -e trace=%file -f enchant-2 -a -d ko_KR korean.txt 
execve("/usr/bin/enchant-2", ["enchant-2", "-a", "-d", "ko_KR", "korean.txt"], 0x7ffe8ed70b38 /* 34 vars */) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=93069, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libenchant-2.so.2", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=53376, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libglib-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=1325824, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2232840, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libgmodule-2.0.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=24320, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=642072, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=224366320, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/lib64/charset.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "korean.txt", O_RDONLY) = 3
newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x1), ...}, AT_EMPTY_PATH) = 0
@(#) International Ispell Version 3.1.20 (but really Enchant 2.3.3)
openat(AT_FDCWD, "/usr/lib64/enchant-2", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 4
newfstatat(4, "", {st_mode=S_IFDIR|0755, st_size=72, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", {st_mode=S_IFREG|0755, st_size=33096, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=33096, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=93069, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libhunspell-1.7.so.0", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=868296, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=2360392, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=928280, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=128536, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=208472, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=2998, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", {st_mode=S_IFREG|0755, st_size=16040, ...}, 0) = 0
openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=16040, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0644, st_size=93069, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/lib64/libaspell.so.15", O_RDONLY|O_CLOEXEC) = 5
newfstatat(5, "", {st_mode=S_IFREG|0755, st_size=658848, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/usr/share/enchant-2/enchant.ordering", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=317, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/etc/enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/home/mfabian/.config/enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/home/mfabian/.config/enchant/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/home/mfabian/.local/share/flatpak/exports/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/var/lib/flatpak/exports/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/hunspell/ko_KR.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/hunspell/ko_KR.dic", F_OK) = 0
access("/usr/share/hunspell/ko_KR.aff", F_OK) = 0
access("/usr/share/hunspell/ko_KR.aff", F_OK) = 0
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.aff", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.dic", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/share/hunspell/ko_KR.aff", O_RDONLY) = 4
openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=27012, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", O_RDWR|O_CREAT|O_APPEND, 0666) = 4
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_EMPTY_PATH) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", O_RDWR|O_CREAT|O_APPEND, 0666) = 4
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
openat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", O_RDONLY) = 4
newfstatat(4, "", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=16, ...}, AT_EMPTY_PATH) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.exc", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
newfstatat(AT_FDCWD, "/home/mfabian/.config/enchant/ko_KR.dic", {st_mode=S_IFREG|0644, st_size=0, ...}, 0) = 0
# 안녕하세이 0


+++ exited with 0 +++
[mfabian@fedora ~]$

Comment 7 Mike FABIAN 2023-01-06 00:51:21 UTC
On Fedora 37 there is first:

openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", O_RDONLY|O_CLOEXEC) = 5

and later:

openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", O_RDONLY|O_CLOEXEC) = 5

On rawhide it is the other way round, first:

openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_hunspell.so", O_RDONLY|O_CLOEXEC) = 5

and later:

openat(AT_FDCWD, "/usr/lib64/enchant-2/enchant_aspell.so", O_RDONLY|O_CLOEXEC) = 5

Comment 8 Mike FABIAN 2023-01-06 14:53:19 UTC
It seems to be a hunspell problem because enchant2 seems to use hunspell and hunspell already has the problem:

mfabian@hathi:~
$ cat /etc/fedora-release 
Fedora release 37 (Thirty Seven)
mfabian@hathi:~
$ rpm  -q hunspell
hunspell-1.7.0-21.fc37.x86_64
mfabian@hathi:~
$ hunspell -a -d ko_KR korean.txt 
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.0)
& 안녕하세이 2 0: 안녕하세요, 안녕하여있다

mfabian@hathi:~
$ 


[mfabian@fedora ~]$ cat /etc/fedora-release 
Fedora release 38 (Rawhide)
[mfabian@fedora ~]$ rpm -q hunspell
hunspell-1.7.2-1.fc38.x86_64
[mfabian@fedora ~]$ hunspell -a -d ko_KR korean.txt
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.2)
# 안녕하세이 0

[mfabian@fedora ~]$

Comment 9 Mike FABIAN 2023-01-06 15:39:11 UTC
Downgrading to hunspell-1.7.1-1.fc38.x86_64 fixes the problem.

[mfabian@fedora ~]$ cat /etc/fedora-release 
Fedora release 38 (Rawhide)
[mfabian@fedora ~]$ rpm -q hunspell
hunspell-1.7.1-1.fc38.x86_64
[mfabian@fedora ~]$ hunspell -a -d ko_KR korean.txt
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.7.1)
& 안녕하세이 2 0: 안녕하세요, 안녕하여있다

[mfabian@fedora ~]$

Comment 10 Mike FABIAN 2023-01-06 15:40:17 UTC
I.e. this commit broke it:

commit 8ac6886a8ade8e2a840aca56b88f232a4e9ffe44 (HEAD -> rawhide, origin/rawhide, origin/main, origin/HEAD)
Author: Caolán McNamara <caolanm>
Date:   Fri Dec 30 14:20:15 2022 +0000

    Resolves: rhbz#2157049 latest release

diff --git a/.gitignore b/.gitignore
index fa61aab..088efb4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-/hunspell-1.7.1.tar.gz
+/hunspell-1.7.2.tar.gz
diff --git a/hunspell.spec b/hunspell.spec
index e0b16d6..13924d8 100644
--- a/hunspell.spec
+++ b/hunspell.spec
@@ -2,7 +2,7 @@
 
 Name:      hunspell
 Summary:   A spell checker and morphological analyzer library
-Version:   1.7.1
+Version:   1.7.2
 Release:   1%{?dist}
 Source:    https://github.com/hunspell/hunspell/releases/download/v%{version}/hunspell-%{version}.tar.gz
 URL:       https://github.com/hunspell/hunspell
@@ -126,6 +126,9 @@ mkdir $RPM_BUILD_ROOT/%{_datadir}/myspell
 %{_datadir}/myspell
 
 %changelog
+* Fri Dec 30 2022 Caolán McNamara <caolanm> - 1.7.2-1
+- Resolves: rhbz#2157049 latest release
+
 * Mon Aug 22 2022 Caolán McNamara <caolanm> - 1.7.1-1
 - latest release
 
diff --git a/sources b/sources
index 4990421..0338530 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (hunspell-1.7.1.tar.gz) = e177fadd39e89abf47c6cec7d12d1976d21af5c924fb62402433af202c07db50156cd9f60ceae44952b05740e76a98548afb7ac12b666a9fa170ef52e6f8e808
+SHA512 (hunspell-1.7.2.tar.gz) = 49b3619bff12e111b6cc3f3d9463612b116f9b2a976896718e65f5bc4a83ece11100aaf56a4d18127ea39107446c495e12affe5ff3c9159ae8aba70e512f44ac
lines 1-43/43 (END)

Comment 11 Caolan McNamara 2023-01-06 15:41:54 UTC
i'll bisect the upstream hunspell

Comment 12 Mike FABIAN 2023-01-06 15:50:09 UTC
https://github.com/hunspell/hunspell/issues/903

Comment 13 Fedora Update System 2023-01-06 16:58:32 UTC
FEDORA-2023-b07169ee73 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-b07169ee73

Comment 14 Fedora Update System 2023-01-06 16:59:55 UTC
FEDORA-2023-b07169ee73 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.