keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
20.01k stars 1.42k forks source link

Crash on GUI Test #10992

Closed Jookia closed 4 days ago

Jookia commented 5 days ago

Overview

Running the TestGui::testRemoteSyncDatabaseRequiresPassword test crashes on a NULL pointer dereference.

Steps to Reproduce

  1. Build KeePassXC
  2. Run the GUI tests

Expected Behavior

No crash, maybe a test failure at best.

Actual Behavior

A crash happens.

Context

********* Start testing of TestGui *********
Config: Using QtTest library 5.15.14, Qt 5.15.14 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 14.1.1 20240522), arch unknown
PASS   : TestGui::initTestCase()
QWARN  : TestGui::testRemoteSyncDatabaseRequiresPassword() QIODevice::read (QProcess): device not open
QWARN  : TestGui::testRemoteSyncDatabaseRequiresPassword() QIODevice::read (QProcess): device not open
AddressSanitizer:DEADLYSIGNAL
=================================================================
==2119878==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x7598c70cf6e4 bp 0x7ffdaaf42ff0 sp 0x7ffdaaf42888 T0)
==2119878==The signal is caused by a READ memory access.
==2119878==Hint: address points to the zero page.
    #0 0x7598c70cf6e4 in QObject::objectName() const (/usr/lib/libQt5Core.so.5+0x2cf6e4) (BuildId: 27be58211e72aed7186ac7822c0cfb519deaf3fc)
    #1 0x595b111105b1 in TestGui::testRemoteSyncDatabaseRequiresPassword() /home/jookia/keepassxc/tests/gui/TestGui.cpp:460
    #2 0x7598c70bc3a1 in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (/usr/lib/libQt5Core.so.5+0x2bc3a1) (BuildId: 27be58211e72aed7186ac7822c0cfb519deaf3fc)
    #3 0x7598c9302311 in QTest::qRun() (/usr/lib/libQt5Test.so.5+0x1a311) (BuildId: 96bb604a4da863556f0d341060814ed3e56901a0)
    #4 0x7598c9303ba8 in QTest::qExec(QObject*, int, char**) (/usr/lib/libQt5Test.so.5+0x1bba8) (BuildId: 96bb604a4da863556f0d341060814ed3e56901a0)
    #5 0x595b1104a24c in main /home/jookia/keepassxc/tests/gui/TestGui.cpp:90
    #6 0x7598c6839c87  (/usr/lib/libc.so.6+0x25c87) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b)
    #7 0x7598c6839d4b in __libc_start_main (/usr/lib/libc.so.6+0x25d4b) (BuildId: 32a656aa5562eece8c59a585f5eacd6cf5e2307b)
    #8 0x595b11078df4 in _start (/home/jookia/keepassxc/build/tests/gui/testgui+0x1e3df4) (BuildId: 5e556a0ddfde8db45db980f4391393e1a2bf667f)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/lib/libQt5Core.so.5+0x2cf6e4) (BuildId: 27be58211e72aed7186ac7822c0cfb519deaf3fc) in QObject::objectName() const
==2119878==ABORTING

KeePassXC - Version 2.8.0-snapshot Build Type: Snapshot Revision: a02ddc7

Qt 5.15.14 Debugging mode is disabled.

Operating system: Arch Linux CPU architecture: x86_64 Kernel: linux 6.9.1-arch1-2

Enabled extensions:

Cryptographic libraries:

Operating System: Linux Desktop Env: i3 Windowing System: X11