Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 895634 - net-im/qtox-1.17.6-r1 segfault at exit in spellchecker
Summary: net-im/qtox-1.17.6-r1 segfault at exit in spellchecker
Status: IN_PROGRESS
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Chiitoo
URL:
Whiteboard:
Keywords: PATCH
Depends on: 946056
Blocks:
  Show dependency tree
 
Reported: 2023-02-21 00:04 UTC by Михаил
Modified: 2024-12-12 19:07 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to delete spell cheker before chat window (spellcheckdeletebefore.patch,452 bytes, patch)
2023-02-21 00:04 UTC, Михаил
Details | Diff
segfault backtrace (qtoxbt.txt,5.80 KB, text/plain)
2023-02-24 12:23 UTC, Михаил
Details
emerge --info qtox (emergeinfo.txt,9.28 KB, text/plain)
2023-02-24 12:26 UTC, Михаил
Details
valgrind report use after free error (qtoxvalgrind.txt,4.05 KB, text/plain)
2023-02-24 12:48 UTC, Михаил
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Михаил 2023-02-21 00:04:01 UTC
Created attachment 853422 [details, diff]
patch to delete spell cheker before chat window

net-im/qtox-1.17.6-r1 segmentation fault at exit if spellcheck is enabled.

                Stack trace of thread 5737:
                #0  0x00007ffff4ea6f08 _ZN7QObject17removeEventFilterEPS_ (libQt5Core.so.5 + 0x2a6f08)
                #1  0x00007ffff6a93ee6 _ZN6Sonnet26SpellCheckDecoratorPrivateD2Ev (libKF5SonnetUi.so.5 + 0x1dee6)
                #2  0x00007ffff6a9400d _ZNKSt14default_deleteIN6Sonnet26SpellCheckDecoratorPrivateEEclEPS1_ (libKF5SonnetUi.so.5 + 0x1e00d)
                #3  0x00007ffff6a9402f _ZNSt10unique_ptrIN6Sonnet26SpellCheckDecoratorPrivateESt14default_deleteIS1_EED2Ev (libKF5SonnetUi.so.5 + 0x1e02f)
                #4  0x00007ffff6a936df _ZN6Sonnet19SpellCheckDecoratorD2Ev (libKF5SonnetUi.so.5 + 0x1d6df)
                #5  0x00007ffff6a936f3 _ZN6Sonnet19SpellCheckDecoratorD0Ev (libKF5SonnetUi.so.5 + 0x1d6f3)
                #6  0x00007ffff4ea08a2 _ZN14QObjectPrivate14deleteChildrenEv (libQt5Core.so.5 + 0x2a08a2)
                #7  0x00007ffff5ba0626 _ZN7QWidgetD2Ev (libQt5Widgets.so.5 + 0x1a0626)
                #8  0x000055555575917d _ZN12ChatTextEditD0Ev (qtox + 0x20517d)
                #9  0x00007ffff4ea08a2 _ZN14QObjectPrivate14deleteChildrenEv (libQt5Core.so.5 + 0x2a08a2)
                #10 0x00007ffff5ba0626 _ZN7QWidgetD2Ev (libQt5Widgets.so.5 + 0x1a0626)
                #11 0x00007ffff5ba0969 _ZN7QWidgetD0Ev (libQt5Widgets.so.5 + 0x1a0969)
                #12 0x00007ffff4ea08a2 _ZN14QObjectPrivate14deleteChildrenEv (libQt5Core.so.5 + 0x2a08a2)
                #13 0x00007ffff5ba0626 _ZN7QWidgetD2Ev (libQt5Widgets.so.5 + 0x1a0626)
                #14 0x00007ffff5d12d59 _ZN9QSplitterD0Ev (libQt5Widgets.so.5 + 0x312d59)
                #15 0x00007ffff4ea08a2 _ZN14QObjectPrivate14deleteChildrenEv (libQt5Core.so.5 + 0x2a08a2)
                #16 0x00007ffff5ba0626 _ZN7QWidgetD2Ev (libQt5Widgets.so.5 + 0x1a0626)
                #17 0x00005555556f726d _ZN8ChatFormD0Ev (qtox + 0x1a326d)
                #18 0x000055555576bad5 _ZN6Widget12removeFriendEP6Friendb (qtox + 0x217ad5)
                #19 0x000055555577330d _ZN6WidgetD1Ev (qtox + 0x21f30d)
                #20 0x0000555555773b1d _ZN6WidgetD0Ev (qtox + 0x21fb1d)
                #21 0x0000555555693982 _ZN5NexusD1Ev (qtox + 0x13f982)
                #22 0x0000555555693a5d _ZN5Nexus15destroyInstanceEv (qtox + 0x13fa5d)
                #23 0x00005555556124de _Z7cleanupv (qtox + 0xbe4de)
                #24 0x00007ffff4eaac95 n/a (libQt5Core.so.5 + 0x2aac95)
                #25 0x00007ffff4e7700a _ZN16QCoreApplication11aboutToQuitENS_14QPrivateSignalE (libQt5Core.so.5 + 0x27700a)
                #26 0x00007ffff4e7b5a9 _ZN23QCoreApplicationPrivate11execCleanupEv (libQt5Core.so.5 + 0x27b5a9)
                #27 0x00007ffff4e7eaf4 _ZN16QCoreApplication4execEv (libQt5Core.so.5 + 0x27eaf4)
                #28 0x000055555560e3a9 main (qtox + 0xba3a9)
                #29 0x00007ffff465434a __libc_start_call_main (libc.so.6 + 0x2334a)
                #30 0x00007ffff46543fc __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x233fc)
                #31 0x0000555555611e01 _start (qtox + 0xbde01)
                
Problem caused by incorrect destruction order for child of ChatForm widget.

Spell checker tried detaching event filter from deleted viewport widget.
Comment 1 Chiitoo gentoo-dev 2023-02-24 08:09:23 UTC
Hmmm, so far I can not re-produce the issue here with up-to-date unstable packages.

Does it require some specific steps, and does it happen always even with a new, clean and fresh profile?
Comment 2 Михаил 2023-02-24 12:19:46 UTC
(In reply to Chiitoo from comment #1)
> Does it require some specific steps, and does it happen always even with a
> new, clean and fresh profile?

Yep.
1. Build qtox with USE=spellcheck
2. You have to enable spell checking in Settings/General
3. Restart qtox, because checker settings apply after restart.
4. Open chat form with text widget and verify spellchecker is working.
5. Quit from application. Default behavior is closing to tray. You should quit.
Comment 3 Михаил 2023-02-24 12:23:18 UTC
Created attachment 854336 [details]
segfault backtrace
Comment 4 Chiitoo gentoo-dev 2023-02-24 12:24:54 UTC
Ah, yes, I see it now.

I only tried actually using it, and left it running, heh.

I'll try to look into more when I have more time, too, but thanks so far.

Unfortunately, since upstream is "gone" at this time, meaning patches will not be going upstream, we're probably not going to carry it in ::gentoo for long either... but perhaps, hopefully, the maintainers will return to it before that.
Comment 5 Михаил 2023-02-24 12:26:50 UTC
Created attachment 854338 [details]
emerge --info qtox
Comment 6 Михаил 2023-02-24 12:48:22 UTC
Created attachment 854340 [details]
valgrind report use after free error
Comment 7 Chiitoo gentoo-dev 2024-12-07 15:01:16 UTC
There's a fork brewing at https://github.com/TokTok/qTox/ by people also involved with 'net-libs/tox', and this issue has been fixed there in a similar fashion to the suggested patch here.

Will close this with the incoming release when it happens.

Thank you for the report!
Comment 8 Larry the Git Cow gentoo-dev 2024-12-07 15:51:57 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=db08cc147b7ce4f6729e49428b815b03dd688de8

commit db08cc147b7ce4f6729e49428b815b03dd688de8
Author:     Jimi Huotari <chiitoo@gentoo.org>
AuthorDate: 2024-11-23 22:03:33 +0000
Commit:     Jimi Huotari <chiitoo@gentoo.org>
CommitDate: 2024-12-07 15:51:36 +0000

    net-im/qtox: build 9999 with qt 6 and switch to a new upstream
    
    Also remove the now unused toxest-related dependencies, and
    update CMake switches.
    
    As the original project repository [1] is archived, this switches
    the upstream to a fork [2] by people working on 'net-libs/tox' as
    well.
    
    Segfault on exit when spellcheck is enabled is fixed here too.
    
    1. https://github.com/qTox/qTox/
    2. https://github.com/TokTok/qTox/
    
    Bug: https://bugs.gentoo.org/895634
    Signed-off-by: Jimi Huotari <chiitoo@gentoo.org>

 net-im/qtox/qtox-9999.ebuild | 58 +++++++++++++++++---------------------------
 1 file changed, 22 insertions(+), 36 deletions(-)
Comment 9 Михаил 2024-12-12 19:07:26 UTC
Fixed in version 9999