Bug 423180

Summary: Random Spectacle crash.
Product: [Applications] Spectacle Reporter: Tony <jodr666>
Component: GeneralAssignee: Boudhayan Gupta <me>
Status: RESOLVED WORKSFORME    
Severity: crash CC: jdally987, kde
Priority: NOR Keywords: drkonqi
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
Screenshot of the weird certificate error
Crashlog before the debugging symbols were installed

Description Tony 2020-06-18 18:31:56 UTC
Application: spectacle (20.07.70)

Qt Version: 5.15.0
Frameworks Version: 5.72.0
Operating System: Linux 5.7.1-1-default x86_64
Windowing system: Wayland
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:

Took a screeshoot before deciding to record a small video for 423179 and closed spectacle.
Reported said bug.
After a couple of minutes spectacle crash notification pop up.

-- Backtrace:
Application: Spectacle (spectacle), signal: Aborted

[KCrash Handler]
#4  0x00007f591692c4b1 in raise () from /lib64/libc.so.6
#5  0x00007f5916915539 in abort () from /lib64/libc.so.6
#6  0x00007f5916b5a816 in ?? () from /usr/lib64/libstdc++.so.6
#7  0x00007f5916b65918 in ?? () from /usr/lib64/libstdc++.so.6
#8  0x00007f5916b65983 in std::terminate() () from /usr/lib64/libstdc++.so.6
#9  0x00007f5916b65c15 in __cxa_throw () from /usr/lib64/libstdc++.so.6
#10 0x00007f5916d2e011 in qBadAlloc () at /usr/include/c++/10/bits/exception.h:63
#11 0x00007f5916d309f6 in QListData::realloc_grow (this=0x7ffddba41f30, growth=<optimized out>) at tools/qlist.cpp:171
#12 0x00007f5916da5aeb in QListData::append (this=0x7ffddba41f30, n=n@entry=1) at tools/qlist.cpp:196
#13 0x00007f5916da5b1a in QListData::append (this=<optimized out>) at tools/qlist.cpp:206
#14 0x00007f5917c48220 in QList<QWindow*>::append (t=<optimized out>, this=<optimized out>) at /usr/include/bits/string_fortified.h:34
#15 QList<QWindow*>::append (this=<optimized out>, t=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qlist.h:620
#16 0x00007f5917c3ebfa in QApplicationPrivate::tryCloseAllWidgetWindows (processedWindows=processedWindows@entry=0x7ffddba41f30) at kernel/qapplication.cpp:1770
#17 0x00007f5917c3ed25 in QApplication::closeAllWindows () at kernel/qapplication.cpp:1805
#18 0x00007f5917c42065 in QApplication::event (this=0x7ffddba423c0, e=0x55da59551010) at kernel/qapplication.cpp:1846
#19 0x00007f5917c3d0cf in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7ffddba423c0, e=0x55da59551010) at kernel/qapplication.cpp:3671
#20 0x00007f5916f47b0a in QCoreApplication::notifyInternal2 (receiver=0x7ffddba423c0, event=0x55da59551010) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#21 0x00007f5916f4a531 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55da591ca670) at kernel/qcoreapplication.cpp:1815
#22 0x00007f5916f9f8c3 in postEventSourceDispatch (s=0x55da591f4880) at kernel/qeventdispatcher_glib.cpp:277
#23 0x00007f59151742c7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#24 0x00007f5915174648 in ?? () from /usr/lib64/libglib-2.0.so.0
#25 0x00007f59151746ff in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#26 0x00007f5916f9ef4f in QEventDispatcherGlib::processEvents (this=0x55da592381d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#27 0x00007f5916f464cb in QEventLoop::exec (this=this@entry=0x7ffddba42300, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#28 0x00007f5916f4e730 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#29 0x000055da587250c6 in ?? ()
#30 0x00007f5916916cca in __libc_start_main () from /lib64/libc.so.6
#31 0x000055da587258ea in ?? ()
[Inferior 1 (process 7269) detached]

Possible duplicates by query: bug 310274, bug 309970, bug 306877, bug 298815, bug 298626.

Reported using DrKonqi
Comment 1 jdally987 2020-07-16 07:02:24 UTC
Created attachment 130158 [details]
New crash information added by DrKonqi

spectacle (20.04.3) using Qt 5.14.2

- What I was doing when the application crashed:
WARNING: EXCESSIVE DETAIL----------------------------
Had gotten a weird kernel error from Chromium which made the whole page crash. I opened the devtools but apparently that had crashed too, and I couldn't even investigate the page's contents, which showed an "Error code: RESULT_CODE_UNINSTALL_USER_CANCEL" (in a suspiciously smaller font than is usual for the various chrome error pages) and for that matter my mouse cursor didn't change to a "link" hand (pointer finger) when mousing over the "Reload" button on the page, even though I could hit the "Learn more" hyperlink.

Anyway, so I started browsing around each tab of the Devtools just to see if any worked, and somehow under the Protocol Monitor tab (one of the "More tools" extra tabs, and I think maybe has to be enabled as an Experimental devtools setting) it showed a bit of history of that tab's javascript. Went to the beginning and dug a bit to find a Security.securityStateChanged event with an "unknown" value for the "displayedInsecureContentStyle" and "ranInsecureContentStyle" keys, so I knew something was fishy.

Googled it, came across this old bug:
https://groups.google.com/a/chromium.org/forum/#!msg/headless-dev/RqxZAsYra0Y/9D0x8UqQBgAJ

Went to the "airhorner(dot)com" page the OP mentioned; noticed a redirect before it successfully got to the page and so I checked out its certificate. Found it was using the GlobalSign Root CA - R2 issued "GTS CA 1D2" intermediate cert, which I hadn't seen before, so I went on google's certificates page and found the tester links for that one; and sure enough, the "good" test worked fine but the "revoked" test marked it as still good. I'm pretty sure that should give me a warning if it was working correctly right?

So THAT's (finally) when I opened Spectacle to document the bad cert, and that crashed too!
WARNING: EXCESSIVE DETAIL END------------------------

Alright, I only included all that above^ because I've had some kind of hellish bug or malware, who knows, I'm really not sure at this point - plaguing my machine(s) for months now, so wanted to leave any extra detail that might help anyone who has the same issues.

For the Spectacle problem alone, I dunno, check out the crash log, I'm not good at interpreting the kernel stuff, still have no idea where this problem (as a whole) started from. It could well be something that LG, my laptop manufacturer, misconfigured with the CPU/platform in the bios settings instead of something malicious. Laptop is an LG Gram 17 (17z990-R.AAS7U1). Certificate issues abound in Ubuntu (vanilla, gnome) 20.04 as well, plus myriad more, which I won't get into detail about, but this is the first time I've had so many things crash on me at once so perhaps KDE aggravated it, not sure.

- Unusual behavior I noticed:

See wall of text above

-- Backtrace (Reduced):
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#5  0x00007fd7948958b1 in __GI_abort () at abort.c:79
[...]
#10 0x00007fd79505ce22 in qBadAlloc () at global/qglobal.cpp:3322
#11 0x00007fd7950c0050 in QListData::realloc_grow (this=this@entry=0x7ffcd1515b80, growth=growth@entry=1) at tools/qlist.cpp:171
#12 0x00007fd7950c00bf in QListData::append (this=0x7ffcd1515b80, n=n@entry=1) at tools/qlist.cpp:196
Comment 2 jdally987 2020-07-16 07:06:40 UTC
Created attachment 130160 [details]
Screenshot of the weird certificate error
Comment 3 jdally987 2020-07-16 07:09:56 UTC
Created attachment 130163 [details]
Crashlog before the debugging symbols were installed
Comment 4 Tony 2021-07-31 04:30:04 UTC
Is been around a year since i got it plus i can't reproduce anymore.