Skip to content

libQuotient spending a lot of time in sqlite call #888

@EbonJaeger

Description

@EbonJaeger

Describe the bug
For a week or two now, I've been noticing NeoChat freezing for a couple of seconds whenever I sent a message in a room. After some debugging in the NeoChat Matrix room, I generated a perf log and flame graph with hotspot, which indicated that libQuotient was spending a lot of time on Quotient::_impl::ConnectionEncryptionData::saveDevicesList() (libQuotientQt6.so.0.9.3), which then went into sqlite3. On inspecting the size of my caches, we determined that they are larger than expected, but didn't seem excessively large. They recommended that I create an issue here for further debugging.

To Reproduce
Steps to reproduce the behavior, and the description of the actual result:

  1. Open NeoChat
  2. Navigate to a room
  3. Type and send a message
  4. Try to do any interaction with NeoChat

Expected behavior
NeoChat should continue to be responsive; i.e., room navigation should still work, and I should be able to start typing another message.

Is it environment-specific?

  • OS: Solus 4.7
  • Version of the library: 0.9.3
  • Linkage: dynamic

Additional context

perf output files:
neochat_perf.zip

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions