Bug 479959 - Spectacle crash when changing capture mode from rectangular to active window then pressing new screenshot on the selection toolbar.
Summary: Spectacle crash when changing capture mode from rectangular to active window ...
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: 23.08.4
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords: drkonqi
: 495679 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-01-17 19:17 UTC by scamdotnet1
Modified: 2024-11-01 12:29 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description scamdotnet1 2024-01-17 19:17:38 UTC
Application: spectacle (23.08.4)

Qt Version: 5.15.12
Frameworks Version: 5.114.0
Operating System: Linux 6.6.11-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.10 [KCrashBackend]

-- Information about the crash:
Spectacle crashes when using the new screenshot button on the rectangular selection UI's toolbar after going into the options menu on the toolbar and changing the capture mode to "Active Window". Changing the mode from the main Spectacle window (with the preview box) and taking a screenshot doesn't result in a crash, however. Additionally, this crash doesn't occur when the rectangular selection UI's menu is on my second monitor, so I suspect that my primary monitor's high resolution (2560x1600) could have something to do with it, as my second monitor is only 1920x1200.

The crash can be reproduced every time.

-- Backtrace:
Application: Spectacle (spectacle), signal: Segmentation fault

[KCrash Handler]
#4  0x0000555c4c51e045 in PlatformXcb::getWindowImage(unsigned int, bool) (this=0x555c4d9da1c0, blendPointer=<optimized out>, window=0) at /usr/src/debug/spectacle-23.08.4/src/Platforms/PlatformXcb.cpp:438
#5  PlatformXcb::grabApplicationWindow(unsigned int, bool, bool) (this=0x555c4d9da1c0, window=0, includePointer=false, includeDecorations=false) at /usr/src/debug/spectacle-23.08.4/src/Platforms/PlatformXcb.cpp:519
#6  0x00007f463d129a52 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffff8ebd1e0, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#7  QSingleShotTimer::timerEvent(QTimerEvent*) (this=0x555c511e8110) at kernel/qtimer.cpp:322
#8  0x00007f463d1195fb in QObject::event(QEvent*) (this=0x555c511e8110, e=0x7ffff8ebd320) at kernel/qobject.cpp:1369
#9  0x00007f463eba51ae in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555c511e8110, e=0x7ffff8ebd320) at kernel/qapplication.cpp:3640
#10 0x00007f463d0ed938 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555c511e8110, event=0x7ffff8ebd320) at kernel/qcoreapplication.cpp:1064
#11 0x00007f463d0edafe in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#12 0x00007f463d145c69 in QTimerInfoList::activateTimers() (this=0x555c4db14960) at kernel/qtimerinfo_unix.cpp:643
#13 0x00007f463d14654c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#14 idleTimerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:230
#15 0x00007f4639d13f30 in  () at /lib64/libglib-2.0.so.0
#16 0x00007f4639d15b58 in  () at /lib64/libglib-2.0.so.0
#17 0x00007f4639d1620c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#18 0x00007f463d146876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555c4db14d20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#19 0x00007f463d0ec3cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffff8ebd560, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#20 0x00007f463d0f4860 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#21 0x0000555c4c4d09b6 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/spectacle-23.08.4/src/Main.cpp:127
[Inferior 1 (process 20494) detached]

Reported using DrKonqi
Comment 1 Nate Graham 2024-02-15 21:07:21 UTC
Cannot reproduce with current git master on a 4K screen. Looks like it;s been fixed for the upcoming 24.02 release.
Comment 2 Filip 2024-11-01 12:29:50 UTC
*** Bug 495679 has been marked as a duplicate of this bug. ***