https://bugs.kde.org/show_bug.cgi?id=502689

            Bug ID: 502689
           Summary: Transient Segfault / Graphical Glitching on Specific
                    Inputs in Print Preview Window
    Classification: Applications
           Product: kolourpaint
           Version: unspecified
          Platform: Ubuntu
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: kolourpaint-supp...@lists.sourceforge.net
          Reporter: dillonotto...@gmail.com
  Target Milestone: ---

SUMMARY

A specific sequence of UI interactions in the print preview window causes a
segfault or graphical glitching

STEPS TO REPRODUCE

1. Open KolourPaint
2. File > Print Preview
3. Select "Show Overview of All Pages"
4. Select "Show facing pages"
5. Select "Fit Width"

OBSERVED RESULT

KolourPaint transiently Segfaults. When it doesn't, a graphical glitch /
spasm-ing occurs (see video). 

VIDEO 

This shows a video of when it has graphical glitches. 

https://youtu.be/NADcP_Qz3Ic

SOFTWARE/OS VERSIONS

kolourpaint 25.07.70
Ubuntu 24.10

Backtrace:

This is a backtrace from when it segfaults. 
#19 looks interesting

```
#0  0x00007ffff5fe4d2a in QAccessibleCache::idForObject(QObject*) const ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#1  0x00007ffff5fdd6ee in QAccessible::queryAccessibleInterface(QObject*) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#2  0x00007ffff6a4d36a in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#3  0x00007ffff5ff5e9f in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#4  0x00007ffff5ffd6cc in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#5  0x00007ffff657d37a in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6DBus.so.6
#6  0x00007ffff6580812 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6DBus.so.6
#7  0x00007ffff53d2010 in QObject::event(QEvent*) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#8  0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#9  0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#10 0x00007ffff537f66a in QCoreApplicationPrivate::sendPostedEvents(QObject*,
int, QThreadData*) ()
--Type <RET> for more, q to quit, c to continue without paging--c
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#11 0x00007ffff5656257 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#12 0x00007ffff4519397 in g_main_dispatch (context=0x7fffe8000f30)
    at ../../../glib/gmain.c:3357
        dispatch = 0x7ffff5656240
        prev_source = 0x555555a6cd70
        begin_time_nsec = 74906162020
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x555555bb3ec0
        current = 0x555555a4f820
        i = 0
        __func__ = "g_main_dispatch"
#13 0x00007ffff4579dc7 in g_main_context_dispatch_unlocked
    (context=0x7fffe8000f30) at ../../../glib/gmain.c:4208
#14 g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7fffe8000f30, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4273
        max_priority = 0
        timeout_usec = 0
        some_ready = 1
        nfds = 10
        allocated_nfds = <optimized out>
        fds = 0x555555b0b0c0
        begin_time_nsec = 74906146114
#15 0x00007ffff45188b3 in g_main_context_iteration
    (context=0x7fffe8000f30, may_block=1) at ../../../glib/gmain.c:4338
        retval = <optimized out>
#16 0x00007ffff565591e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#17 0x00007ffff5388fe2 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#18 0x00007ffff6a038e5 in QDialog::exec() ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#19 0x000055555563b749 in kpMainWindow::slotPrintPreview (this=0x555555dbc030)
    at /home/guifuzz/kde/src/kolourpaint/mainWindow/kpMainWindow_File.cpp:1238
        printer = <incomplete type>
        printPreview = <incomplete type>
#20 0x00007ffff53de403 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#21 0x00007ffff6021066 in QAction::triggered(bool) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#22 0x00007ffff602402d in QAction::activate(QAction::ActionEvent) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#23 0x00007ffff6969df5 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#24 0x00007ffff69720c3 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#25 0x00007ffff67efdce in QWidget::event(QEvent*) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#26 0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#27 0x00007ffff6799028 in QApplication::notify(QObject*, QEvent*) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#28 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#29 0x00007ffff679836d in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#30 0x00007ffff680410a in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#31 0x00007ffff6806473 in ??? ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#32 0x00007ffff67903f6 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Widgets.so.6
#33 0x00007ffff537bcaa in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    () at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#34 0x00007ffff5be58b8 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#35 0x00007ffff5c48aac in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Gui.so.6
#36 0x00007fffecd9fb9e in ??? ()
    at
/home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/plugins/platforms/../../lib/libQt6XcbQpa.so.6
#37 0x00007ffff4519397 in g_main_dispatch (context=0x7fffe8000f30)
    at ../../../glib/gmain.c:3357
        dispatch = 0x7fffecd9fb80
        prev_source = 0x0
        begin_time_nsec = 57729394115
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x555555a6cd70
        current = 0x555555a4f820
        i = 1
        __func__ = "g_main_dispatch"
#38 0x00007ffff4579dc7 in g_main_context_dispatch_unlocked
    (context=0x7fffe8000f30) at ../../../glib/gmain.c:4208
#39 g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7fffe8000f30, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4273
        max_priority = 2147483647
        timeout_usec = 272000
        some_ready = 1
        nfds = 10
        allocated_nfds = <optimized out>
        fds = 0x555555b0b0c0
        begin_time_nsec = 57728872682
#40 0x00007ffff45188b3 in g_main_context_iteration
    (context=0x7fffe8000f30, may_block=1) at ../../../glib/gmain.c:4338
        retval = <optimized out>
#41 0x00007ffff565591e in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#42 0x00007ffff5388fe2 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#43 0x00007ffff5385166 in QCoreApplication::exec() ()
    at /home/guifuzz/GUIFuzzBenchmarks/Qt/6.8.1/gcc_64/lib/libQt6Core.so.6
#44 0x0000555555602378 in main (argc=1, argv=<optimized out>)
    at /home/guifuzz/kde/src/kolourpaint/kolourpaint.cpp:126
        app = <incomplete type>
        aboutData = {d = std::unique_ptr<KAboutDataPrivate> = {get() =
0x555555ae3590}}
        cmdLine = {d = 0x555555dddbf0}
```

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to