[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1070687: systemsettings: received signal SIGSEGV, Segmentation fault



On Tue, 07 May 2024 11:30:41 +0200 antonio <antdev66@gmail.com> wrote:

Dear Maintainer,
when I try to add a online account (Systemsettings->Pesonalization->Online
Accounts->Add new account... button) I get this error:

Thread 1 "systemsettings" received signal SIGSEGV, Segmentation fault.
0x00007fffc40f8765 in Accounts::Provider::~Provider() () from
/usr/lib/x86_64-linux-gnu/libaccounts-qt5.so.1

where:
libaccounts-qt5-1=1.17-1


Dear Maintainer,
I still can reproduce this with current Trixie/testing [1] [2].

The crash seems to happen because for some reason the member m_tags
contains an invalid pointer 0x1 [3].

With rr-debugger I could record such a crash and reverse execute to
where m_tags got overwritten with this 0x1 [4].

Unfortunately I still cannot tell the exact reason,
because the crash no longer happens with a locally rebuilt
package libkaccounts2.

Therefore, might this be an ABI break?
And could be solved by a binNMU of libkaccounts2?

Kind regards,
Bernhard


[1]
#4  <signal handler called>
#5  0x00007f1fb43a2765 in Accounts::Provider::~Provider() () from /lib/x86_64-linux-gnu/libaccounts-qt5.so.1
#6  0x00007f1fb43bf198 in ProvidersModel::data(QModelIndex const&, int) const () from /lib/x86_64-linux-gnu/libkaccounts.so.2
#7  0x00007f1fce9d44f0 in ?? () from /lib/x86_64-linux-gnu/libQt5QmlModels.so.5


[2]
With debug symbols:
#4  <signal handler called>
#5  std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=<error reading variable: Cannot access memory at address 0x1>) at /usr/include/c++/13/bits/atomic_base.h:503
#6  QAtomicOps<int>::loadRelaxed<int> (_q_value=<error reading variable: Cannot access memory at address 0x1>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:239
#7  QBasicAtomicInteger<int>::loadRelaxed (this=<error reading variable: Cannot access memory at address 0x1>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:107
#8  QtPrivate::RefCount::deref (this=<error reading variable: Cannot access memory at address 0x1>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:66
#9  QHash<QString, QHashDummyValue>::~QHash (this=0x1, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:250
#10 QSet<QString>::~QSet (this=0x1, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qset.h:53
#11 Accounts::Provider::~Provider (this=<optimized out>, __in_chrg=<optimized out>) at ./Accounts/provider.cpp:93
#12 0x00007f1fb43bf198 in ProvidersModel::data (this=<optimized out>, index=..., role=<optimized out>) at ./src/lib/providersmodel.cpp:105
#13 0x00007f1fce9d44f0 in QModelIndex::data (arole=261, this=0x7ffddfe29ce0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:460


[3]
93              delete m_tags;
(rr) print this
$1 = (Accounts::Provider * const) 0x7ffc316dca20
(rr) print *this
$2 = {m_provider = 0x55b1af209730, m_tags = 0x1}
(rr) print &this->m_tags
$4 = (QSet<QString> **) 0x7ffc316dca28


[4]
(rr) watch *0x7ffc316dca28
Hardware watchpoint 1: *0x7ffc316dca28
(rr) reverse-cont
Continuing.
Thread 1 hit Hardware watchpoint 1: *0x7ffc316dca28
Old value = 1
New value = 0
0x00007f97bc1bc223 in ProvidersModel::data (this=0x55b1af23c460, index=..., role=261) at ./src/lib/providersmodel.cpp:86
86                      data.setValue(!provider.isSingleAccount());
(rr) bt
#0  0x00007f97bc1bc223 in ProvidersModel::data(QModelIndex const&, int) const (this=0x55b1af23c460, index=<optimized out>, role=261) at ./src/lib/providersmodel.cpp:86
#1  0x00007f97c8a6f4f0 in QModelIndex::data(int) const (arole=261, this=0x7ffc316dcac0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qabstractitemmodel.h:460
#2  QQmlDMAbstractItemModelData::value(int) const (role=261, this=0x55b1af0f5610) at ./src/qmlmodels/qqmladaptormodel.cpp:414
#3  QQmlDMCachedModelData::metaCall(QMetaObject::Call, int, void**) (this=0x55b1af0f5610, call=<optimized out>, id=<optimized out>, arguments=0x7ffc316dcb70) at ./src/qmlmodels/qqmladaptormodel.cpp:282
#4  0x00007f97cada4fd6 in  () at /lib/x86_64-linux-gnu/libQt5Qml.so.5


Reply to: