Summary: | Kontact is crashing during start up | ||
---|---|---|---|
Product: | [Applications] kontact | Reporter: | Steve <sgrubb> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | info, justin.zobel, kdenis, kfunk, logan, mark, matthias, rdieter, robby.engelmann, Viktor.Engelmann |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.4.2 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Steve
2017-03-08 21:55:44 UTC
This one looks to be crashing down in QtWebEngine for some reason, Thread 13 (Thread 0x7fe6627fc700 (LWP 6031)): [KCrash Handler] #6 0x00007fe6a9b5db3e in QtWebEngineCore::NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest*, base::Callback<void (int)> const&, GURL*) () at /lib64/libQt5WebEngineCore.so.5 #7 0x00007fe6aa451210 in net::NetworkDelegate::NotifyBeforeURLRequest(net::URLRequest*, base::Callback<void (int)> const&, GURL*) () at /lib64/libQt5WebEngineCore.so.5 #8 0x00007fe6aa415800 in net::URLRequest::Start() () at /lib64/libQt5WebEngineCore.so.5 I've had about 20 recurrences of this bug today. Sometimes one of the threads is holding a mutex in the video drivers. The only solution is to reboot the whole system. I've rebooted my system about 10 times today. I have also spent 5 hours trying to access my email so that I can work. Between akonadi aborting and kontact crashing on start up, the whole mess is unusable. Not to mention that when it filters an email it has to resync the whole inbox which has > 150k emails in it. This alone takes 45 minutes on a good day. I was able to get a core dump to get a full backtrace. Only including some lines right before the crash. #1 0x00007ff0688d54fe in KCrash::defaultCrashHandler(int) () at /lib64/libKF5Crash.so.5 #2 0x00007ff0635157e0 in <signal handler called> () at /usr/lib64/libc-2.23.so #3 0x00007ff05e964b3e in QtWebEngineCore::NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest*, base::Callback<void (int)> const&, GURL*) (this=0x7ff000003a50, request=<optimized out>, callback=..., newUrl=0x7ff00069b140) at /usr/src/debug/qtwebengine-opensource-src-5.6.2/src/core/network_delegate_qt.cpp:111 requestInfo = {d_ptr = {d = 0x7ff000608710}} resourceInfo = 0x7ff000560920 resourceType = content::RESOURCE_TYPE_STYLESHEET navigationType = 0 qUrl = {d = 0x7ff00041cf60} interceptor = 0x55c3ceecdd50 renderProcessId = -277647872 renderFrameId = 1305607009 params = {url = {d = 0x7ff00041cfc0}, isMainFrameRequest = 2, navigationType = 32752, renderProcessId = 3, renderFrameId = 0} __FUNCTION__ = "OnBeforeURLRequest" #4 0x00007ff05f258210 in net::NetworkDelegate::NotifyBeforeURLRequest(net::URLRequest*, base::Callback<void (int)> const&, GURL*) (this=0x7ff000003a50, request=request@entry=0x7ff00069b030, callback=..., new_url=new_url@entry=0x7ff00069b140) at /usr/src/debug/qtwebengine-opensource-src-5.6.2/src/3rdparty/chromium/net/base/network_delegate.cc:26 tracking_profile = {scoped_profile_ = {birth_ = 0x0, stopwatch_ = {start_time_ = {ms_ = 0}, wallclock_duration_ms_ = 0, current_thread_data_ = 0x0, excluded_duration_ms_ = 0, parent_ = 0x0}}} #5 0x00007ff05f21c800 in net::URLRequest::Start() (this=0x7ff00069b030) at /usr/src/debug/qtwebengine-opensource-src-5.6.2/src/3rdparty/chromium/net/url_request/url_request.cc:514 tracking_profile25 = {scoped_profile_ = {birth_ = 0x0, stopwatch_ = {start_time_ = {ms_ = 0}, wallclock_duration_ms_ = 0, current_thread_data_ = 0x0, excluded_duration_ms_ = 0, parent_ = 0x0}}} error = <optimized out> ---Type <return> to continue, or q <return> to quit--- tracking_profile = {scoped_profile_ = {birth_ = 0x0, stopwatch_ = {start_time_ = {ms_ = 0}, wallclock_duration_ms_ = 0, current_thread_data_ = 0x0, excluded_duration_ms_ = 0, parent_ = 0x0}}} tracking_profile2 = {scoped_profile_ = {birth_ = 0x0, stopwatch_ = {start_time_ = {ms_ = 0}, wallclock_duration_ms_ = 0, current_thread_data_ = 0x0, excluded_duration_ms_ = 0, parent_ = 0x0}}} #6 0x00007ff05f447da0 in content::ResourceLoader::StartRequestInternal() (this=0x7ff0003b9900) at /usr/src/debug/qtwebengine-opensource-src-5.6.2/src/3rdparty/chromium/content/browser/loader/resource_loader.cc:498 Here's the output from the Fedora Retrace Server after analyzing one of my crashes: https://retrace.fedoraproject.org/faf/reports/1636854/ I guess this confirms the issue is in Qt. Does anyone here have contacts with Qt project or know who to direct this to? Steve, the Qt bug tracker is at https://bugreports.qt.io/ OK. I filed a bz here: https://bugreports.qt.io/browse/QTBUG-59876 I was kind of hoping someone from KDEpim team would interact with the Qt people because I have almost no chance of answering their questions about kontact's code. I guess we'll see what comes up. OK, just as I predicted, the Qt people are asking me questions I have no idea how to answer. Can someone from the Kontact team hop on the Qt bug at https://bugreports.qt.io/browse/QTBUG-59876 and participate in answering questions? I'll do my part if anything Fedora related comes along. Thanks. From the Qt bug: Could it be that you use the same QUrlRequestInterceptor multiple times, pass the Tab/WebEngineView/WebEnginePage to the constructor of the RequestInterceptor (making it the RequestInterceptors parent) and the crash happens at the next navigation after you closed the last view you created? That would mean that the RequestInterceptor is deleted by closing the tab (because that's its parent) and then the next navigation accesses pointer which is dangling at this point. Is this correct? Any comments I should relay to the Qt folks? Hi everyone, I'm from Qt and working on the bug Steve reported. The Stacktraces I see here look like 3 completely unrelated problems. The original issue might be https://bugreports.qt.io/browse/QTBUG-57608 The Fedora Retrace Server stacktrace might be related to https://bugreports.qt.io/browse/QTBUG-59692 And I am very confident that the crash in QtWebEngineCore::NetworkDelegateQt::OnBeforeURLRequest is a dereferencing of a dangling pointer, caused by kontact. You probably use the same QWebEngineRequestInterceptor for (and make it a child of) multiple QWebEnginePages so when one of the pages is closed, it deletes the interceptor and the next navigation accesses the dangling pointer, causing the crash. Comparing the stacktrace to the 5.6.2 version of network_delegate_qt.cpp, this seems highly likely. Thanks for the analysis, Viktor. Hopefully this information allows Kontact developers to fix the issue. *** Bug 379623 has been marked as a duplicate of this bug. *** *** Bug 382560 has been marked as a duplicate of this bug. *** Created attachment 107561 [details]
New crash information added by DrKonqi
kontact (5.5.1) using Qt 5.7.1
- What I was doing when the application crashed:
Clicking on "File>Quit" to exit Kontact crashes it if it is attempting to update folders on an IMAP account. This appears to happen 100% of the time. I manually quit frequently due to a separate bug I'm experiencing, whering moving or deleting multiple messages (even just two) will cause the messages to move, but they will never visibly leave the inbox, and no other changes to the inbox will display until Kontact is restarted.
-- Backtrace (Reduced):
#6 0x00007fe3e20e45f3 in QtWebEngineCore::NetworkDelegateQt::OnBeforeURLRequest(net::URLRequest*, base::Callback<void (int), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&, GURL*) () at /lib64/libQt5WebEngineCore.so.5
#7 0x00007fe3e2e5c071 in net::NetworkDelegate::NotifyBeforeURLRequest(net::URLRequest*, base::Callback<void (int), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&, GURL*) () at /lib64/libQt5WebEngineCore.so.5
#8 0x00007fe3e2f63ad7 in net::URLRequest::Start() () at /lib64/libQt5WebEngineCore.so.5
#9 0x00007fe3e2484b70 in content::ResourceLoader::StartRequestInternal() () at /lib64/libQt5WebEngineCore.so.5
#10 0x00007fe3e2484c68 in content::ResourceLoader::StartRequest() () at /lib64/libQt5WebEngineCore.so.5
*** Bug 384083 has been marked as a duplicate of this bug. *** *** Bug 385847 has been marked as a duplicate of this bug. *** *** Bug 403417 has been marked as a duplicate of this bug. *** The upstream Qt bug is closed (https://bugreports.qt.io/browse/QTBUG-59876). As this crash is quite old now, can you please confirm if this crash still occurs on a current version? This bug has been set to "NEEDSINFO/WAITINGFORINFO", if you are able to update the bug report please mark it as reported when you add the new information, thank you. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |