Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Silent crash while fetching multiple feeds #1433

Open
DawEdhel opened this issue Jun 6, 2024 · 2 comments
Open

[BUG]: Silent crash while fetching multiple feeds #1433

DawEdhel opened this issue Jun 6, 2024 · 2 comments
Assignees
Labels
Type-Defect This is BUG!!!

Comments

@DawEdhel
Copy link

DawEdhel commented Jun 6, 2024

Brief description of the issue

I've recently upgraded from 4.6.6 to 4.7.2, and at first everything went fine. Then some time later I noticed that the app went missing from the tray.

I started making multiple logs, and noticed they were stop being written in around after 1 hour, which is my default 'auto-fetch for all feeds' option. While reading last lines of my logs, I couldn't find anything of importance leading to crashes, except maybe these:

time=" 85.602" type="warning" -> QObject::startTimer: Timers cannot be started from another thread
time=" 85.692" type="warning" -> QObject::killTimer: Timers cannot be stopped from another thread

That lead me to remember that I've added multiple feeds of newest internal browser source type to finally test them after #1354 being fixed. So I started fetching things individually:

  • fetching categories of feeds with only older source types went okay;
  • fetching categories of feeds with various source types, including internal browser one as well, makes a silent crash;
  • fetching feeds with only internal browser types went okay;

It looks like internal browser's feeds do not like to be fetched in conjugation with older source types.

How to reproduce the bug?

  1. Select any two feeds, which are of 'URL' (or any another older source type?) and 'Built-in browser' source types, in feed list.
  2. Fetch them multiple times in a row (on my side I'm getting a silent crash after ~3-5 times).

What was the expected result?

Fetching status: success.

What actually happened?

Fetching status: a silent crash.

Debug log

Event Viewer:

Faulting application name: rssguard.exe, version: 4.7.2.0
Faulting module name: Qt6Core.dll, version: 6.6.3.0
Exception code: 0xc0000005
Fault offset: 0x000000000009b4e4
Faulting application path: .\RSS Guard 4.7.2\rssguard.exe
Faulting module path: .\RSS Guard 4.7.2\Qt6Core.dll
Faulting package full name: 
Faulting package-relative application ID: 
...
time="     0.194" type="debug" -> core: Starting to load active localization. Desired localization is 'en_US'.
time="     0.196" type="debug" -> core: Application localization 'en_US' loaded successfully, specifically sublocalization 'en_US' was loaded.
time="     0.197" type="warning" -> core: Qt localization 'en_US' WAS NOT loaded successfully.
...
time="     1.175" type="debug" -> core: Checking for plugins in './RSS Guard 4.7.2\plugins'.
time="     1.179" type="debug" -> core: Plugin ./RSS Guard 4.7.2/plugins/rssguard-feedly.dll' loaded.
time="     1.181" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-feedly.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-feedly.lib': './RSS Guard 4.7.2/plugins/rssguard-feedly.lib' is not a valid Windows DLL (invalid signature)'.
time="     1.185" type="debug" -> core: Plugin './RSS Guard 4.7.2/plugins/rssguard-gmail.dll' loaded.
time="     1.187" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-gmail.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-gmail.lib': './RSS Guard 4.7.2/plugins/rssguard-gmail.lib' is not a valid Windows DLL (invalid signature)'.
time="     1.191" type="debug" -> core: Plugin './RSS Guard 4.7.2/plugins/rssguard-greader.dll' loaded.
time="     1.192" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-greader.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-greader.lib': './RSS Guard 4.7.2/plugins/rssguard-greader.lib' is not a valid Windows DLL (invalid signature)'.
time="     1.196" type="debug" -> core: Plugin './RSS Guard 4.7.2/plugins/rssguard-nextcloud.dll' loaded.
time="     1.198" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-nextcloud.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-nextcloud.lib': './RSS Guard 4.7.2/plugins/rssguard-nextcloud.lib' is not a valid Windows DLL (invalid signature)'.
time="     1.201" type="debug" -> core: Plugin '.RSS Guard 4.7.2/plugins/rssguard-standard.dll' loaded.
time="     1.203" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-standard.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-standard.lib': './RSS Guard 4.7.2/plugins/rssguard-standard.lib' is not a valid Windows DLL (invalid signature)'.
time="     1.206" type="debug" -> core: Plugin './RSS Guard 4.7.2/plugins/rssguard-ttrss.dll' loaded.
time="     1.208" type="critical" -> core: The plugin './RSS Guard 4.7.2/plugins/rssguard-ttrss.lib' was not loaded successfully: 'Failed to extract plugin meta data from './RSS Guard 4.7.2/plugins/rssguard-ttrss.lib': './RSS Guard 4.7.2/plugins/rssguard-ttrss.lib' is not a valid Windows DLL (invalid signature)'.
...
time="    75.439" type="warning" -> QObject::startTimer: Timers cannot be started from another thread
time="    75.549" type="warning" -> QObject::killTimer: Timers cannot be stopped from another thread
...
time="    78.432" type="warning" -> QObject::startTimer: Timers cannot be started from another thread
time="    78.519" type="warning" -> QObject::killTimer: Timers cannot be stopped from another thread
...
time="    80.176" type="warning" -> QObject::~QObject: Timers cannot be stopped from another thread
...
time="    81.002" type="warning" -> QObject::startTimer: Timers cannot be started from another thread
time="    81.088" type="warning" -> QObject::killTimer: Timers cannot be stopped from another thread
...
time="    85.566" type="debug" -> feed-downloader: Starting feed updates from worker in thread '0x2a1c'.
time="    85.566" type="debug" -> feed-downloader: All caches synchronized.
time="    85.567" type="debug" -> database: SQLite connection 'db_connection_10780' is already active.
time="    85.567" type="debug" -> database: SQLite database connection 'db_connection_10780' to file './RSS Guard 4.7.2/data4/database/database.db' seems to be established.
time="    85.568" type="debug" -> feed-downloader: Downloading new messages for feed ID '1771' in thread  '1376'.
time="    85.568" type="debug" -> feed-downloader: Downloading new messages for feed ID '209' in thread  '4880'.
time="    85.568" type="debug" -> database: SQLite connection 'db_connection_4880' is already active.
time="    85.569" type="debug" -> database: SQLite database connection 'db_connection_1376' to file './RSS Guard 4.7.2/data4/database/database.db' seems to be established.
time="    85.569" type="debug" -> database: SQLite database connection 'db_connection_4880' to file './RSS Guard 4.7.2/data4/database/database.db' seems to be established.
time="    85.569" type="debug" -> core: Downloading URL to obtain feed data.
time="    85.569" type="debug" -> network: Settings of BaseNetworkAccessManager loaded.
time="    85.602" type="warning" -> QObject::startTimer: Timers cannot be started from another thread
time="    85.692" type="warning" -> QObject::killTimer: Timers cannot be stopped from another thread

Operating system and version

rssguard-4.7.2-5b0453b86-win10.7z

@DawEdhel DawEdhel added the Type-Defect This is BUG!!! label Jun 6, 2024
@martinrotter
Copy link
Owner

Please, provide full crash dump of the bug.

Download procdump.

https://learn.microsoft.com/en-us/sysinternals/downloads/procdump#using-procdump

Then run procump with rssguard like this

procdump -ma rssguard

Use full paths where needed.

The post resulting dump file here.

@DawEdhel
Copy link
Author

DawEdhel commented Jun 7, 2024

I'm unable to upload full dump here due to its being ~1GB size uncompressed (~200Mb compressed), which exceeds 25Mb limit. I've converted it to minidump instead.
rssguard.exe_240607_mini.dmp

Its analysis:
************* Preparing the environment for Debugger Extensions Gallery repositories **************
   ExtensionRepository : Implicit
   UseExperimentalFeatureForNugetShare : true
   AllowNugetExeUpdate : true
   NonInteractiveNuget : true
   AllowNugetMSCredentialProviderInstall : true
   AllowParallelInitializationOfLocalRepositories : true

   EnableRedirectToV8JsProvider : false

   -- Configuring repositories
      ----> Repository : LocalInstalled, Enabled: true
      ----> Repository : UserExtensions, Enabled: true

>>>>>>>>>>>>> Preparing the environment for Debugger Extensions Gallery repositories completed, duration 0.000 seconds

************* Waiting for Debugger Extensions Gallery to Initialize **************

>>>>>>>>>>>>> Waiting for Debugger Extensions Gallery to Initialize completed, duration 0.031 seconds
   ----> Repository : UserExtensions, Enabled: true, Packages count: 0
   ----> Repository : LocalInstalled, Enabled: true, Packages count: 41

Microsoft (R) Windows Debugger Version 10.0.27553.1004 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [D:\Applications\RSS Guard 4.7.2\!Procdump\rssguard.exe_240607_mini.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available


************* Path validation summary **************
Response                         Time (ms)     Location
Deferred                                       srv*
Symbol search path is: srv*
Executable search path is: 
Windows 10 Version 19045 MP (8 procs) Free x64
Product: WinNt, suite: SingleUserTS
Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
Debug session time: Fri Jun  7 16:39:34.000 2024 (UTC + 3:00)
System Uptime: 0 days 0:03:03.030
Process Uptime: 0 days 0:01:51.000
................................................................
................................................................
................................................................
..
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(254c.2544): Access violation - code c0000005 (first/second chance not available)
For analysis of this file, run !analyze -v
Qt6Core!QCoreApplication::notifyInternal2+0x8e:
00007fff`255bb4ee ff4708          inc     dword ptr [rdi+8] ds:00000000`00000008=????????
0:036> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************


KEY_VALUES_STRING: 1

    Key  : AV.Dereference
    Value: NullClassPtr

    Key  : AV.Fault
    Value: Write

    Key  : Analysis.CPU.mSec
    Value: 1046

    Key  : Analysis.Elapsed.mSec
    Value: 1245

    Key  : Analysis.IO.Other.Mb
    Value: 0

    Key  : Analysis.IO.Read.Mb
    Value: 0

    Key  : Analysis.IO.Write.Mb
    Value: 0

    Key  : Analysis.Init.CPU.mSec
    Value: 1875

    Key  : Analysis.Init.Elapsed.mSec
    Value: 8303

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 130

    Key  : Failure.Bucket
    Value: NULL_CLASS_PTR_WRITE_c0000005_Qt6Core.dll!Unknown

    Key  : Failure.Hash
    Value: {a72bb932-f780-10e3-de88-612a0902973a}

    Key  : Timeline.OS.Boot.DeltaSec
    Value: 183

    Key  : Timeline.Process.Start.DeltaSec
    Value: 111

    Key  : WER.OS.Branch
    Value: vb_release

    Key  : WER.OS.Version
    Value: 10.0.19041.1

    Key  : WER.Process.Version
    Value: 4.7.2.0


FILE_IN_CAB:  rssguard.exe_240607_mini.dmp

CONTEXT:  (.ecxr)
rax=000001ffe1a54e00 rbx=000001ffe1a54e00 rcx=0000000000000000
rdx=000000e08a3faac0 rsi=0000000000000001 rdi=0000000000000000
rip=00007fff255bb4ee rsp=000000e08a3faa90 rbp=000000e08a3fab20
 r8=0000000000000052  r9=000001ffe19b5458 r10=0000000000000003
r11=0000000000000080 r12=000001ffdd3c22a0 r13=000001ffe0482430
r14=000001ffc978fde0 r15=0000000000000000
iopl=0         nv up ei pl zr na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010244
Qt6Core!QCoreApplication::notifyInternal2+0x8e:
00007fff`255bb4ee ff4708          inc     dword ptr [rdi+8] ds:00000000`00000008=????????
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007fff255bb4ee (Qt6Core!QCoreApplication::notifyInternal2+0x000000000000008e)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000001
   Parameter[1]: 0000000000000008
Attempt to write to address 0000000000000008

PROCESS_NAME:  rssguard.exe

WRITE_ADDRESS:  0000000000000008 

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000001

EXCEPTION_PARAMETER2:  0000000000000008

STACK_TEXT:  
000000e0`8a3faa90 00007fff`25742c12     : 000001ff`c978fde0 000001ff`dd3c22a0 0e38e38e`38e38e39 00007fff`255c012b : Qt6Core!QCoreApplication::notifyInternal2+0x8e
000000e0`8a3fab00 00007fff`24e71f4e     : 000001ff`e168c060 000001ff`e168c060 000001ff`c978fde0 000001ff`e0482430 : Qt6Core!QEventDispatcherWin32::event+0x182
000000e0`8a3fab50 00007fff`24e71071     : 000001ff`c9770fc0 000000e0`8a3fac80 00000000`00000000 00000000`00000000 : Qt6Widgets!QApplicationPrivate::notify_helper+0x10e
000000e0`8a3fab80 00007fff`255bb57f     : 000000e0`88b6fab0 000001ff`dd3c22a0 000001ff`e0482430 00000000`00000000 : Qt6Widgets!QApplication::notify+0x18c1
000000e0`8a3fb030 00007fff`255be6a6     : 00000000`00000000 00000000`00000000 000001ff`d6069780 000001ff`d5ac30c0 : Qt6Core!QCoreApplication::notifyInternal2+0x11f
000000e0`8a3fb0a0 00007fff`25743020     : 00000000`00000000 00000000`00000024 000001ff`e65f4df0 00000000`00000000 : Qt6Core!QCoreApplicationPrivate::sendPostedEvents+0x1f6
000000e0`8a3fb190 00007fff`255c2e0f     : 000001ff`d8f81ec0 00000000`00000000 000001ff`e65f4df0 000001ff`c9770fc0 : Qt6Core!QEventDispatcherWin32::processEvents+0x90
000000e0`8a3fe320 00007fff`23aae4f1     : 000000e0`8a3fe430 000000e0`8a3fe710 00000000`00000000 000000e0`8a3fe4c0 : Qt6Core!QEventLoop::exec+0x19f
000000e0`8a3fe3c0 00007fff`0b212cb9     : 000000e0`8a3fe860 000000e0`8a3fe710 000001ff`d8957750 000000e0`8a3feb20 : rssguard!FeedsView::markAllItemsReadStatus+0x387c6f
000000e0`8a3fe590 00007fff`237ca783     : 000001ff`d8e2db40 00000000`00000000 000001ff`d8957750 00000000`00000020 : rssguard_standard!qt_plugin_instance+0xca324
000000e0`8a3fedc0 00007fff`237ccaba     : 00000000`00000008 00000000`00000000 00000002`d89ed870 000001ff`e1997740 : rssguard!FeedsView::markAllItemsReadStatus+0xa3f01
000000e0`8a3ff8d0 00007fff`237b4447     : 00000000`00000000 000000e0`8a3ff9c0 000001ff`e678f910 000001ff`c97d7658 : rssguard!FeedsView::markAllItemsReadStatus+0xa6238
000000e0`8a3ff960 00007fff`237c6c83     : 00000000`00000000 000001ff`e678f910 00000000`00000000 00000000`00000001 : rssguard!FeedsView::markAllItemsReadStatus+0x8dbc5
000000e0`8a3ff990 00007fff`237c6d12     : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000001 : rssguard!FeedsView::markAllItemsReadStatus+0xa0401
000000e0`8a3ff9c0 00007fff`237bc544     : 00000000`00000000 000001ff`e616a2c0 00000000`00000001 00007fff`2370cbc1 : rssguard!FeedsView::markAllItemsReadStatus+0xa0490
000000e0`8a3ff9f0 00007fff`5b752000     : 000001ff`d5ae9f30 000001ff`e616a2c0 000001ff`d87c4610 00000000`00000000 : rssguard!FeedsView::markAllItemsReadStatus+0x95cc2
000000e0`8a3ffb50 00007fff`2574eb3c     : 000001ff`e616a2c0 00000000`fffffff1 000001ff`c97cd9d8 00000000`00000001 : Qt6Concurrent!QtConcurrent::ThreadEngineBase::run+0xc0
000000e0`8a3ffbc0 00007fff`2574a579     : 000001ff`e168c060 000001ff`00000001 00000000`00000001 000001ff`e168c060 : Qt6Core!QThreadPoolPrivate::reset+0x43c
000000e0`8a3ffc80 00007fff`77b97344     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : Qt6Core!QThread::start+0x459
000000e0`8a3ffcd0 00007fff`79b826b1     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
000000e0`8a3ffd00 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


SYMBOL_NAME:  Qt6Core+8e

MODULE_NAME: Qt6Core

IMAGE_NAME:  Qt6Core.dll

STACK_COMMAND:  ~36s; .ecxr ; kb

FAILURE_BUCKET_ID:  NULL_CLASS_PTR_WRITE_c0000005_Qt6Core.dll!Unknown

OS_VERSION:  10.0.19041.1

BUILDLAB_STR:  vb_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

IMAGE_VERSION:  6.6.3.0

FAILURE_ID_HASH:  {a72bb932-f780-10e3-de88-612a0902973a}

Followup:     MachineOwner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type-Defect This is BUG!!!
Projects
None yet
Development

No branches or pull requests

2 participants