Bug 471645 - krunner in Hunspell::suggest() crashed when changing the input frequently in a short timeframe
Summary: krunner in Hunspell::suggest() crashed when changing the input frequently in ...
Status: REPORTED
Alias: None
Product: krunner
Classification: Plasma
Component: spellchecker (show other bugs)
Version: 5.27.6
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2023-06-30 03:48 UTC by Jonathan Lopes
Modified: 2023-09-08 19:41 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (693.96 KB, text/plain)
2023-06-30 03:48 UTC, Jonathan Lopes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Lopes 2023-06-30 03:48:17 UTC
Application: krunner (5.27.6)

Qt Version: 5.15.10
Frameworks Version: 5.107.0
Operating System: Linux 6.3.9-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 5.27.6 [CoredumpBackend]

-- Information about the crash:
When typing "spell " followed by any sequence of characters typed really fast, example "spell dasjiodjasiodjsaiodjasio" (any sequence, just easier to reproduce) it crashes. Additional logs can be seen on journalctl:

> krunner[607479]: 21 -- exe=/usr/bin/krunner
> krunner[607479]: 17 -- platform=wayland
> krunner[607479]: 16 -- appname=krunner
> krunner[607479]: 17 -- apppath=/usr/bin
> krunner[607479]: 10 -- signal=11
> krunner[607479]: 11 -- pid=607479
> krunner[607479]: 18 -- appversion=5.27.6
> krunner[607479]: 20 -- programname=KRunner
> krunner[607479]: 31 -- bugaddress=submit@bugs.kde.org
> krunner[607479]: KCrash: crashing... crashRecursionCounter = 2
> krunner[607479]: KCrash: Application Name = krunner path = /usr/bin pid = 607479
> krunner[607479]: KCrash: Arguments: /usr/bin/krunner
> krunner[607479]: KCrash: Attempting to start /usr/lib/drkonqi
> krunner[607479]: amdgpu: Failed to allocate a buffer:
> krunner[607479]: amdgpu:    size      : 335872 bytes
> krunner[607479]: amdgpu:    alignment : 262144 bytes
> krunner[607479]: amdgpu:    domains   : 4
> krunner[607479]: amdgpu:    flags   : 6

Installed spell checkers:

> local/aspell 0.60.8-3
> local/aspell-pt 20220621-1
> local/hunspell 1.7.2-1
> local/hunspell-de 20161207-7
> local/hunspell-el 0.9-8
> local/hunspell-en_au 2020.12.07-4
> local/hunspell-en_ca 2020.12.07-4
> local/hunspell-en_gb 2020.12.07-4
> local/hunspell-en_us 2020.12.07-4
> local/hunspell-es_any 1:2.7-1
> local/hunspell-es_ar 1:2.7-1
> local/hunspell-es_bo 1:2.7-1
> local/hunspell-es_cl 1:2.7-1
> local/hunspell-es_co 1:2.7-1
> local/hunspell-es_cr 1:2.7-1
> local/hunspell-es_cu 1:2.7-1
> local/hunspell-es_do 1:2.7-1
> local/hunspell-es_ec 1:2.7-1
> local/hunspell-es_es 1:2.7-1
> local/hunspell-es_gt 1:2.7-1
> local/hunspell-es_hn 1:2.7-1
> local/hunspell-es_mx 1:2.7-1
> local/hunspell-es_ni 1:2.7-1
> local/hunspell-es_pa 1:2.7-1
> local/hunspell-es_pe 1:2.7-1
> local/hunspell-es_pr 1:2.7-1
> local/hunspell-es_py 1:2.7-1
> local/hunspell-es_sv 1:2.7-1
> local/hunspell-es_uy 1:2.7-1
> local/hunspell-es_ve 1:2.7-1
> local/hunspell-fr 7.0-2
> local/hunspell-he 1.4-4
> local/hunspell-hu 1.8-1
> local/hunspell-it 2.4-11
> local/hunspell-nl 2.20.19-2
> local/hunspell-pl 20220801-1
> local/hunspell-ro 3.3.10-6
> local/hunspell-ru 20210731-1

I marked that I was unsure that I can reproduce, but in fact I can reproduce the crash 100% of the time.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#16 0x00007fe107ed317e in Hunspell::suggest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /usr/lib/libhunspell-1.7.so.0
#17 0x00007fe10c17bdee in HunspellDict::suggest(QString const&) const (this=0x7fe0c2b683f0, word=<optimized out>) at /usr/include/c++/13.1.1/bits/new_allocator.h:100
#18 0x00007fe10c0e1387 in Sonnet::SpellerPlugin::checkAndSuggest(QString const&, QStringList&) const (suggestions=..., word=..., this=0x7fe0c2b683f0) at /usr/src/debug/sonnet/sonnet-5.107.0/src/core/spellerplugin.cpp:41
#19 Sonnet::SpellerPlugin::checkAndSuggest(QString const&, QStringList&) const (this=0x7fe0c2b683f0, word=..., suggestions=...) at /usr/src/debug/sonnet/sonnet-5.107.0/src/core/spellerplugin.cpp:37
#20 0x00007fe10c1903c4 in operator()(QString const&) const (__closure=__closure@entry=0x7fe0e23fabb0, langCode=...) at /usr/src/debug/kdeplasma-addons/kdeplasma-addons-5.27.6/runners/spellchecker/spellcheck.cpp:217


Reported using DrKonqi
Comment 1 Jonathan Lopes 2023-06-30 03:48:20 UTC
Created attachment 159985 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nate Graham 2023-09-08 19:41:44 UTC
Pasting full backtrace for searchability:

Thread 28 (Thread 0x7fe0e23fb6c0 (LWP 597981)):
[KCrash Handler]
#6  0x00007fe107edd4e5 in  () at /usr/lib/libhunspell-1.7.so.0
#7  0x00007fe107ee6af4 in  () at /usr/lib/libhunspell-1.7.so.0
#8  0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#9  0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#10 0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#11 0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#12 0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#13 0x00007fe107ee6ce4 in  () at /usr/lib/libhunspell-1.7.so.0
#14 0x00007fe107ed88a8 in  () at /usr/lib/libhunspell-1.7.so.0
#15 0x00007fe107ece57a in  () at /usr/lib/libhunspell-1.7.so.0
#16 0x00007fe107ed317e in Hunspell::suggest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () at /usr/lib/libhunspell-1.7.so.0
#17 0x00007fe10c17bdee in HunspellDict::suggest(QString const&) const (this=0x7fe0c2b683f0, word=<optimized out>) at /usr/include/c++/13.1.1/bits/new_allocator.h:100
#18 0x00007fe10c0e1387 in Sonnet::SpellerPlugin::checkAndSuggest(QString const&, QStringList&) const (suggestions=..., word=..., this=0x7fe0c2b683f0) at /usr/src/debug/sonnet/sonnet-5.107.0/src/core/spellerplugin.cpp:41
#19 Sonnet::SpellerPlugin::checkAndSuggest(QString const&, QStringList&) const (this=0x7fe0c2b683f0, word=..., suggestions=...) at /usr/src/debug/sonnet/sonnet-5.107.0/src/core/spellerplugin.cpp:37
#20 0x00007fe10c1903c4 in operator()(QString const&) const (__closure=__closure@entry=0x7fe0e23fabb0, langCode=...) at /usr/src/debug/kdeplasma-addons/kdeplasma-addons-5.27.6/runners/spellchecker/spellcheck.cpp:217
#21 0x00007fe10c190e8b in SpellCheckRunner::match(Plasma::RunnerContext&) (this=<optimized out>, context=<optimized out>) at /usr/src/debug/kdeplasma-addons/kdeplasma-addons-5.27.6/runners/spellchecker/spellcheck.cpp:252
#22 0x00007fe138bdfbd0 in Plasma::FindMatchesJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (this=0x558a1eccf900, self=...) at /usr/src/debug/krunner/krunner-5.107.0/src/runnerjobs.cpp:140
#23 0x00007fe138ba67de in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (this=<optimized out>, job=<optimized out>, thread=<optimized out>) at /usr/src/debug/threadweaver/threadweaver-5.107.0/src/executor.cpp:33
#24 0x00007fe138ba7726 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) (this=<optimized out>, self=..., th=0x558a1eb96c40) at /usr/src/debug/threadweaver/threadweaver-5.107.0/src/job.cpp:64
#25 0x00007fe138bab442 in ThreadWeaver::Thread::run() (this=0x558a1eb96c40) at /usr/src/debug/threadweaver/threadweaver-5.107.0/src/thread.cpp:98
#26 0x00007fe15e4f34da in  () at /usr/lib/libQt5Core.so.5
#27 0x00007fe15de9d44b in start_thread (arg=<optimized out>) at pthread_create.c:444
#28 0x00007fe15df20e40 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81