Bug 492383 - Freezes when trying to login
Summary: Freezes when trying to login
Status: RESOLVED FIXED
Alias: None
Product: Tokodon
Classification: Applications
Component: general (show other bugs)
Version: 24.08.0
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Unassigned bugs mailing-list
URL:
Keywords: qt6
: 492694 492954 (view as bug list)
Depends on: 483184
Blocks:
  Show dependency treegraph
 
Reported: 2024-08-30 02:22 UTC by Samega 7Cattac
Modified: 2024-09-10 18:10 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed In: 24.08.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samega 7Cattac 2024-08-30 02:22:10 UTC
+++ This bug was initially created as a clone of Bug #483184 +++

SUMMARY
In the welcome page it freezes when I click on "login".

STEPS TO REPRODUCE
1. Install tokodon from official extra arch repo
2. Open tokodon
3. In the welcome page click on "login"

OBSERVED RESULT
The application freezes

EXPECTED RESULT
Ask for login

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 6.1.4
KDE Frameworks Version: 6.5.0
Qt Version: 6.7.2

ADDITIONAL INFORMATION
Terminal output:
```
$ tokodon 
kf.config.core: Migrating old staterc "" -> "/home/user/.local/state/tokodonstaterc"
QFile::rename: Empty or null file name
kf.config.core: Failed to migrate "" -> "/home/user/.local/state/tokodonstaterc"
qrc:/qt/qml/org/kde/kirigami/dialogs/Dialog.qml:344:18: QML ScrollView: Binding loop detected for property "calculatedImplicitHeight"
qrc:/qt/qml/org/kde/kirigami/dialogs/Dialog.qml:401:33: QML Binding: Binding loop detected for property "value"
qrc:/qt/qml/org/kde/tokodon/content/ui/LoginFlow/WelcomePage.qml:14:1: QML WelcomePage: Created graphical object was not placed in the graphics scene.
kf.config.core: Migrating old staterc "" -> "/home/user/.local/state/tokodonstaterc"
QFile::rename: Empty or null file name
kf.config.core: Failed to migrate "" -> "/home/user/.local/state/tokodonstaterc"
qrc:/qt/qml/org/kde/tokodon/content/ui/Main.qml:510: TypeError: Cannot read property 'followRequestCount' of null
qrc:/qt/qml/org/kde/tokodon/content/ui/LoginFlow/LoginPage.qml:15:1: QML LoginPage: Created graphical object was not placed in the graphics scene.
```

SUMMARY
On Plasma Mobile on postmarketOS, Tokodon freezes when attempting to login, and can only be closed when running pkill -9 tokodon.

STEPS TO REPRODUCE
1. Open tokodon
2. Press 'Login'
3. Put in a Server URL
4. Press "Continue"

OBSERVED RESULT
The application is frozen

EXPECTED RESULT
The application goes to the next page 

SOFTWARE/OS VERSIONS
KDE Plasma Version: 6.0.0
KDE Frameworks Version: 6.0.0
Qt Version: 6.6

ADDITIONAL INFORMATION
postmarketOS Edge (OnePlus 6)
Comment 1 Antonio Rojas 2024-08-30 08:44:13 UTC
Bisected to https://invent.kde.org/network/tokodon/-/commit/8c7ac58bd6ef6f06c50a1994e0e55d58e250f819

Backtrace:
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38      cmpq $-4095, %rax       /* Check %rax for error.  */
(gdb) bt
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff4eae4f1 in __cxxabiv1::__cxa_guard_acquire (g=0x555555b2bf20 <guard variable for NetworkController::instance()::_instance>)
    at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/guard.cc:348
#2  0x000055555571fc60 in NetworkController::instance () at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.cpp:41
#3  0x0000555555741182 in NetworkController::create () at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.h:24
#4  QQmlPrivate::createSingletonInstance<NetworkController, NetworkController, (QQmlPrivate::SingletonConstructionMode)2> (q=<optimized out>, 
    j=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:180
#5  0x00007ffff6eb2939 in std::function<QObject* (QQmlEngine*, QJSEngine*)>::operator()(QQmlEngine*, QJSEngine*) const (this=0x55555629bf68, 
    __args#0=0x7fffffffdf70, __args#1=0x7fffffffdf70) at /usr/include/c++/14.2.1/bits/std_function.h:591
#6  QQmlEnginePrivate::singletonInstance<QJSValue> (this=0x5555561f8160, type=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine.cpp:1836
#7  0x00007ffff6dcdf7c in QQmlEnginePrivate::singletonInstance<QObject*> (this=this@entry=0x5555561f8160, type=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine_p.h:391
#8  0x00007ffff6dcf75e in QV4::QQmlContextWrapper::getPropertyAndBase (resource=<optimized out>, id=..., receiver=receiver@entry=0x0, 
    hasProperty=hasProperty@entry=0x7fffffff4ad0, base=base@entry=0x0, lookup=lookup@entry=0x5555572fea30)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qmlcontext.cpp:225
#9  0x00007ffff6dcfbbd in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter (l=0x5555572fea30, engine=0x555556215690, base=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qmlcontext.cpp:543
#10 0x00007ffff6e473b2 in QV4::Moth::VME::interpret (frame=0x7fffffff4fa0, engine=0x555556215690, code=0x7fffc1219f86 "\030\006\002")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:609
#11 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#12 0x00007ffff6d8be64 in QV4::doCall (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    context=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:52
#13 0x00007ffff6edb153 in QQmlJavaScriptExpression::evaluate (this=0x555557565aa0, callData=0x7fffc01bfac0, isUndefined=0x7fffffff5160) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:238
#14 0x00007ffff6e72154 in QQmlBinding::evaluate (this=0x555557565aa0, isUndefined=0x7fffffff5160)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:188
#15 0x00007ffff6e7e209 in QQmlBinding::doUpdate (this=0x555557565aa0, watcher=..., flags=..., scope=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:702
#16 0x00007ffff6e75a7e in QQmlBinding::update (this=0x555557565aa0, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:164
#17 0x00007ffff6f0d426 in QQmlObjectCreator::finalize (this=0x5555572fd110, interrupt=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1520
#18 0x00007ffff6e90c89 in QQmlComponentPrivate::complete (enginePriv=0x5555561f8160, state=state@entry=0x555556480d78)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qbipointer_p.h:133
#19 0x00007ffff6e90fde in QQmlComponentPrivate::completeCreate (this=0x555556480cc0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1280
#20 0x00007ffff6e94425 in QQmlComponent::completeCreate (this=0x555556491250)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1254
#21 QQmlComponentPrivate::createWithProperties (this=0x555556480cc0, parent=<optimized out>, properties=..., context=<optimized out>, 
    behavior=QQmlComponentPrivate::CreateWarnAboutRequiredProperties, createFromQml=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:967
#22 0x00007ffff6e99221 in QQmlComponent::createObject (this=<optimized out>, parent=0x5555562ab820, properties=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1880
#23 0x00007ffff6e9e898 in QQmlComponent::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffff5918)
    at /usr/src/debug/qt6-declarative/build/src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:231
#24 0x00007ffff6e9ebbf in QQmlComponent::qt_metacall (this=0x555556491250, _c=QMetaObject::InvokeMetaMethod, _id=10, _a=0x7fffffff5918)
    at /usr/src/debug/qt6-declarative/build/src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:290
#25 0x00007ffff6f0bb0b in QQmlObjectOrGadget::metacall (this=0x7fffffff5c00, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, 
    argv=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:14
#26 0x00007ffff6ddff8a in QV4::CallMethod (object=..., index=<optimized out>, returnType=..., argCount=<optimized out>, argTypes=<optimized out>, 
    engine=<optimized out>, callArgs=<optimized out>, callType=<optimized out>) at /usr/include/qt6/QtCore/qvarlengtharray.h:85
#27 QV4::QObjectMethod::callPrecise (object=..., data=..., engine=<optimized out>, engine@entry=0x555556215690, callArgs=<optimized out>, 
    callArgs@entry=0x7fffc01bfa88, callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1978
#28 0x00007ffff6de2ecd in operator() (__closure=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#29 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> > (__closure=<synthetic pointer>, call=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2951
#30 QV4::QObjectMethod::callInternal (this=0x7fffffff5d00, thisObject=<optimized out>, argv=0x7fffc01bfa50, argc=1)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#31 0x00007ffff6e4786f in QV4::Moth::VME::interpret (frame=0x7fffffff60e0, engine=0x555556215690, code=0x5555562b4070 "p:\333\366\377\177")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:798
#32 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#33 0x00007ffff6d8be64 in QV4::doCall (self=self@entry=0x555555bd64b0, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    context=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:52
#34 0x00007ffff6d94b1a in operator() (__closure=<synthetic pointer>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:71
#35 QV4::coerceAndCall<QV4::Function::call(const QV4::Value*, const QV4::Value*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, int)> > (
    engine=<optimized out>, typedFunction=<optimized out>, compiledFunction=0x7fffc0e353a0, argv=0x7fffffff8950, argc=<optimized out>, call=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4jscall_p.h:420
#36 QV4::Function::call (this=this@entry=0x555555bd64b0, thisObject=<optimized out>, argv=argv@entry=0x7fffc01bf9c8, argc=argc@entry=0, 
    context=context@entry=0x7fffc004adb0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:68
#37 0x00007ffff6d94ce9 in operator() (__closure=<synthetic pointer>, thisObject=<optimized out>, argv=0x7fffc01bf9c8, argc=0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:28
#38 QV4::convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*, int)> > (engine=<optimized out>, thisObject=0x55555649cf60, a=0x7fffffff6460, types=0x7fffffff6450, argc=0, call=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4jscall_p.h:199
#39 QV4::Function::call (this=0x555555bd64b0, thisObject=0x55555649cf60, a=0x7fffffff6460, types=0x7fffffff6450, argc=0, context=0x7fffc004adb0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:25
#40 0x00007ffff6edb514 in QQmlJavaScriptExpression::evaluate (this=<optimized out>, a=<optimized out>, types=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression_p.h:248
#41 0x00007ffff6e82203 in QQmlBoundSignalExpression::evaluate (this=0x5555566a2550, a=a@entry=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:200
#42 0x00007ffff6e88e7f in QQmlBoundSignal_callback (e=0x5555566a2500, a=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:73
#43 QQmlBoundSignal_callback (e=0x5555566a2500, a=0x0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:294
#44 0x00007ffff6efefdc in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:70
#45 0x00007ffff53b18ea in doActivate<false> (sender=0x555555b2bc20 <AccountManager::instance()::accountManager>, signal_index=30, argv=0x0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4010
#46 0x000055555571ddb3 in AccountManager::accountsReloaded (this=0x555555b2bc20 <AccountManager::instance()::accountManager>)
    at /usr/src/debug/tokodon/build/src/tokodon_static_autogen/include/moc_accountmanager.cpp:642
#47 AccountManager::reloadAccounts (this=0x555555b2bc20 <AccountManager::instance()::accountManager>)
    at /usr/src/debug/tokodon/tokodon-24.08.0/src/account/accountmanager.cpp:211
#48 NetworkController::setApplicationProxy (this=this@entry=0x555555b2bea0 <NetworkController::instance()::_instance>)
    at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.cpp:116
#49 0x000055555571fd91 in NetworkController::NetworkController (this=0x555555b2bea0 <NetworkController::instance()::_instance>, parent=0x0)
    at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.cpp:25
#50 NetworkController::instance () at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.cpp:41
#51 0x0000555555741182 in NetworkController::create () at /usr/src/debug/tokodon/tokodon-24.08.0/src/network/networkcontroller.h:24
#52 QQmlPrivate::createSingletonInstance<NetworkController, NetworkController, (QQmlPrivate::SingletonConstructionMode)2> (q=<optimized out>, 
    j=<optimized out>) at /usr/include/qt6/QtQml/qqmlprivate.h:180
#53 0x00007ffff6eb2939 in std::function<QObject* (QQmlEngine*, QJSEngine*)>::operator()(QQmlEngine*, QJSEngine*) const (this=0x55555629bf68, 
    __args#0=0x7fffffffdf70, __args#1=0x7fffffffdf70) at /usr/include/c++/14.2.1/bits/std_function.h:591
#54 QQmlEnginePrivate::singletonInstance<QJSValue> (this=0x5555561f8160, type=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine.cpp:1836
#55 0x00007ffff6dcdf7c in QQmlEnginePrivate::singletonInstance<QObject*> (this=this@entry=0x5555561f8160, type=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine_p.h:391
#56 0x00007ffff6dcf75e in QV4::QQmlContextWrapper::getPropertyAndBase (resource=<optimized out>, id=..., receiver=receiver@entry=0x0, 
    hasProperty=hasProperty@entry=0x7fffffff8480, base=base@entry=0x0, lookup=lookup@entry=0x555557659fa0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qmlcontext.cpp:225
#57 0x00007ffff6dcfbbd in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter (l=0x555557659fa0, engine=0x555556215690, base=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qmlcontext.cpp:543
#58 0x00007ffff6e473b2 in QV4::Moth::VME::interpret (frame=0x7fffffff8950, engine=0x555556215690, code=0x7fffc018a97e "\030\006\002")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:609
#59 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#60 0x00007ffff6d8be64 in QV4::doCall (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    context=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:52
#61 0x00007ffff6edb153 in QQmlJavaScriptExpression::evaluate (this=0x5555562c24f0, callData=0x7fffc01bf8f8, isUndefined=0x7fffffff8b10)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:238
#62 0x00007ffff6e72154 in QQmlBinding::evaluate (this=0x5555562c24f0, isUndefined=0x7fffffff8b10)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:188
#63 0x00007ffff6e7e209 in QQmlBinding::doUpdate (this=0x5555562c24f0, watcher=..., flags=..., scope=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:702
#64 0x00007ffff6e75a7e in QQmlBinding::update (this=0x5555562c24f0, flags=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:164
#65 0x00007ffff6f0d426 in QQmlObjectCreator::finalize (this=0x555557658b00, interrupt=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1520
#66 0x00007ffff6e90c89 in QQmlComponentPrivate::complete (enginePriv=0x5555561f8160, state=state@entry=0x5555568339c8)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qbipointer_p.h:133
#67 0x00007ffff6e90fde in QQmlComponentPrivate::completeCreate (this=0x555556833910)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1280
#68 0x00007ffff6e94425 in QQmlComponent::completeCreate (this=0x555556b72eb0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1254
#69 QQmlComponentPrivate::createWithProperties (this=0x555556833910, parent=<optimized out>, properties=..., context=<optimized out>, 
    behavior=QQmlComponentPrivate::CreateWarnAboutRequiredProperties, createFromQml=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:967
#70 0x00007ffff6e99221 in QQmlComponent::createObject (this=<optimized out>, parent=0x555556328260, properties=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1880
#71 0x00007ffff6e9e898 in QQmlComponent::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffff92c8)
    at /usr/src/debug/qt6-declarative/build/src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:231
#72 0x00007ffff6e9ebbf in QQmlComponent::qt_metacall (this=0x555556b72eb0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fffffff92c8)
    at /usr/src/debug/qt6-declarative/build/src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:290
#73 0x00007ffff6f0bb0b in QQmlObjectOrGadget::metacall (this=0x7fffffff95b0, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, 
    argv=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:14
#74 0x00007ffff6ddff8a in QV4::CallMethod (object=..., index=<optimized out>, returnType=..., argCount=<optimized out>, argTypes=<optimized out>, 
    engine=<optimized out>, callArgs=<optimized out>, callType=<optimized out>) at /usr/include/qt6/QtCore/qvarlengtharray.h:85
#75 QV4::QObjectMethod::callPrecise (object=..., data=..., engine=<optimized out>, engine@entry=0x555556215690, callArgs=<optimized out>, 
    callArgs@entry=0x7fffc01bf8b8, callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1978
#76 0x00007ffff6de2ecd in operator() (__closure=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#77 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> > (__closure=<synthetic pointer>, call=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2951
#78 QV4::QObjectMethod::callInternal (this=0x7fffffff96b0, thisObject=<optimized out>, argv=0x7fffc01bf868, argc=2)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2974
#79 0x00007ffff6e4786f in QV4::Moth::VME::interpret (frame=0x7fffffff9a90, engine=0x555556215690, code=0x555556306b40 "p:\333\366\377\177")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:798
#80 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#81 0x00007ffff6d957af in qfoDoCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:527
#82 0x00007ffff6dfd46b in QV4::FunctionObject::call (this=0x7fffffff9b48, thisObject=0x7fffc01bf800, argv=0x7fffc01bf7b8, argc=2)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:187
#83 QV4::Runtime::CallQmlContextPropertyLookup::call (engine=0x555556215690, index=<optimized out>, argv=0x7fffc01bf7b8, argc=2)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1449
#84 0x00007ffff6e46a6d in QV4::Moth::VME::interpret (frame=0x7fffffff9ff0, engine=0x555556215690, code=0x7fffc8056de7 "\030\a/\212\002")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:833
#85 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#86 0x00007ffff6d957af in qfoDoCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:527
#87 0x00007ffff6e4786f in QV4::Moth::VME::interpret (frame=0x7fffffffa4d0, engine=0x555556215690, code=0x555556306720 "\020\363\332\366\377\177")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:798
#88 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#89 0x00007ffff6d957af in qfoDoCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:527
#90 0x00007ffff6e4786f in QV4::Moth::VME::interpret (frame=0x7fffffffa9b0, engine=0x555556215690, code=0x5555562ff730 "\020\363\332\366\377\177")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:798
#91 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#92 0x00007ffff6d957af in qfoDoCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:527
#93 0x00007ffff6e4786f in QV4::Moth::VME::interpret (frame=0x7fffffffae90, engine=0x555556215690, code=0x555556b26ff0 "\020\363\332\366\377\177")
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:798
#94 0x00007ffff6e4af0f in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#95 0x00007ffff6d8be64 in QV4::doCall (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    context=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:52
#96 0x00007ffff6d949f8 in QV4::Function::call (this=this@entry=0x555556b20240, thisObject=<optimized out>, argv=argv@entry=0x7fffc01bf4f8, 
    argc=argc@entry=0, context=context@entry=0x7fffc0022fc0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:77
#97 0x00007ffff6d94ce9 in operator() (__closure=<synthetic pointer>, thisObject=<optimized out>, argv=0x7fffc01bf4f8, argc=0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:28
#98 QV4::convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*, int)> > (engine=<optimized out>, thisObject=0x55555677c570, a=0x7fffffffb170, types=0x7fffffffb160, argc=0, call=...)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4jscall_p.h:199
#99 QV4::Function::call (this=0x555556b20240, thisObject=0x55555677c570, a=0x7fffffffb170, types=0x7fffffffb160, argc=0, context=0x7fffc0022fc0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4function.cpp:25
#100 0x00007ffff6edb514 in QQmlJavaScriptExpression::evaluate (this=<optimized out>, a=<optimized out>, types=<optimized out>, argc=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmljavascriptexpression_p.h:248
#101 0x00007ffff6e82203 in QQmlBoundSignalExpression::evaluate (this=0x555556786730, a=a@entry=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:200
#102 0x00007ffff6e88e7f in QQmlBoundSignal_callback (e=0x5555567867a0, a=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:73
#103 QQmlBoundSignal_callback (e=0x5555567867a0, a=0x0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlboundsignal.cpp:294
#104 0x00007ffff6efefdc in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:70
#105 0x00007ffff53b18ea in doActivate<false> (sender=0x55555677c570, signal_index=65, argv=0x0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4010
#106 0x00007ffff44b233a in QQuickAbstractButtonPrivate::handleRelease (this=this@entry=0x55555677c650, point=..., timestamp=timestamp@entry=41222021)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickabstractbutton.cpp:188
#107 0x00007ffff44cf130 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quicktemplates/qquickcontrol.cpp:2029
#108 0x00007ffff77a2c05 in QQuickItemPrivate::deliverPointerEvent (this=this@entry=0x55555677c650, event=event@entry=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:5645
#109 0x00007ffff77a2e5b in QQuickItem::event (this=0x55555677c570, ev=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:9057
#110 0x00007ffff62fd49a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55555677c570, e=0x7fffffffd8c0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#111 0x00007ffff53584e8 in QCoreApplication::notifyInternal2 (receiver=0x55555677c570, event=0x7fffffffd8c0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
#112 0x00007ffff535852d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1598
#113 0x00007ffff79638e0 in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=this@entry=0x5555562995d0, item=item@entry=0x55555677c570, 
    isGrabber=isGrabber@entry=true, pointerEvent=pointerEvent@entry=0x7fffffffd8c0, handlersOnly=handlersOnly@entry=false)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2400
#114 0x00007ffff7963f7a in QQuickDeliveryAgentPrivate::deliverUpdatedPoints (this=this@entry=0x5555562995d0, event=event@entry=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2178
#115 0x00007ffff7965ca3 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=this@entry=0x5555562995d0, event=event@entry=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2018
#116 0x00007ffff7966d9d in QQuickDeliveryAgentPrivate::handleMouseEvent (this=this@entry=0x5555562995d0, event=event@entry=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1775
#117 0x00007ffff7967543 in QQuickDeliveryAgent::event (this=<optimized out>, ev=0x7fffffffd8c0)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:814
#118 0x00007ffff785da2f in QQuickWindow::event (this=0x5555562ab820, event=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1540
#119 0x00007ffff62fd49a in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5555562ab820, e=0x7fffffffd8c0)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3294
#120 0x00007ffff53584e8 in QCoreApplication::notifyInternal2 (receiver=0x5555562ab820, event=0x7fffffffd8c0)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
#121 0x00007ffff535853d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1612
#122 0x00007ffff598507b in QGuiApplicationPrivate::processMouseEvent (e=0x7fffc4001830)
    at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:2392
#123 0x00007ffff5a00c64 in QWindowSystemInterface::sendWindowSystemEvents (flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1114
#124 0x00007ffff5e4f674 in userEventSourceDispatch (source=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#125 0x00007ffff4b1d299 in g_main_dispatch (context=0x7fffcc000f30) at ../glib/glib/gmain.c:3344
#126 0x00007ffff4b7fec7 in g_main_context_dispatch_unlocked (context=0x7fffcc000f30) at ../glib/glib/gmain.c:4152
#127 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fffcc000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/glib/gmain.c:4217
#128 0x00007ffff4b1c795 in g_main_context_iteration (context=0x7fffcc000f30, may_block=1) at ../glib/glib/gmain.c:4282
#129 0x00007ffff55c3bc2 in QEventDispatcherGlib::processEvents (this=0x555555bac3b0, flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:397
#130 0x00007ffff5362266 in QEventLoop::processEvents (this=0x7fffffffdd80, flags=...)
    at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#131 QEventLoop::exec (this=0x7fffffffdd80, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#132 0x00007ffff535996f in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#133 0x0000555555601015 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/tokodon/tokodon-24.08.0/src/main.cpp:291
Comment 2 Bug Janitor Service 2024-08-31 17:16:37 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/tokodon/-/merge_requests/529
Comment 3 Joshua Goins 2024-08-31 17:17:18 UTC
(In reply to Bug Janitor Service from comment #2)
> A possibly relevant merge request was started @
> https://invent.kde.org/network/tokodon/-/merge_requests/529

That was an extremely helpful backtrace, thanks Antonio! I have created a possible fix and would appreciate some testing as I'm having trouble re-creating it locally, see this ^
Comment 4 Antonio Rojas 2024-08-31 17:31:17 UTC
The MR fixes the issue for me
Comment 5 Joshua Goins 2024-08-31 21:44:33 UTC
(In reply to Antonio Rojas from comment #4)
> The MR fixes the issue for me

Thanks, I'm going to go ahead and merge that/cherry-pick. I'll wait on closing this issue until my other reporter responds later today.
Comment 6 Joshua Goins 2024-08-31 21:45:10 UTC
Git commit c0f910a3439e30cb18b375f69ebc61574290caba by Joshua Goins.
Committed on 31/08/2024 at 17:16.
Pushed by redstrate into branch 'master'.

Do not reload accounts when initially setting the application proxy

This is quite the sneaky issue, but I think it goes like this:

1. NetworkController is initialized by the QML engine and it's
constructor is called
2. setApplicationProxy is called within said constructor
3. AccountManager's reloadAccounts is called, which in turn emits
accountsReloaded
4. accountsReloaded can trigger some signal handler in QML, in turn
making the QML engine initialize NetworkController again

Now setApplicationProxy has an optional parameter used by
NetworkController's constructor to prevent this situation from happening
in the first place.

M  +7    -3    src/network/networkcontroller.cpp
M  +2    -1    src/network/networkcontroller.h

https://invent.kde.org/network/tokodon/-/commit/c0f910a3439e30cb18b375f69ebc61574290caba
Comment 7 Joshua Goins 2024-08-31 21:45:18 UTC
Git commit 1eafb32a84faae1280333c0d75ae9c623ff32a75 by Joshua Goins.
Committed on 31/08/2024 at 17:08.
Pushed by redstrate into branch 'master'.

Only emit reload accounts signal if they actually were

This should prevent odd situations where this signal was emitted even
though nothing interesting actually happened.

M  +6    -1    src/account/accountmanager.cpp

https://invent.kde.org/network/tokodon/-/commit/1eafb32a84faae1280333c0d75ae9c623ff32a75
Comment 8 Joshua Goins 2024-08-31 21:48:21 UTC
Git commit 5950882cbe1bc264cb4b6dac1c5ddae72ed0a6c1 by Joshua Goins.
Committed on 31/08/2024 at 21:48.
Pushed by redstrate into branch 'release/24.08'.

Only emit reload accounts signal if they actually were

This should prevent odd situations where this signal was emitted even
though nothing interesting actually happened.
(cherry picked from commit 1eafb32a84faae1280333c0d75ae9c623ff32a75)

M  +6    -1    src/account/accountmanager.cpp

https://invent.kde.org/network/tokodon/-/commit/5950882cbe1bc264cb4b6dac1c5ddae72ed0a6c1
Comment 9 Joshua Goins 2024-08-31 21:48:29 UTC
Git commit 469ee2325aabbd294bf4f1358786c0f7db68b471 by Joshua Goins.
Committed on 31/08/2024 at 21:48.
Pushed by redstrate into branch 'release/24.08'.

Do not reload accounts when initially setting the application proxy

This is quite the sneaky issue, but I think it goes like this:

1. NetworkController is initialized by the QML engine and it's
constructor is called
2. setApplicationProxy is called within said constructor
3. AccountManager's reloadAccounts is called, which in turn emits
accountsReloaded
4. accountsReloaded can trigger some signal handler in QML, in turn
making the QML engine initialize NetworkController again

Now setApplicationProxy has an optional parameter used by
NetworkController's constructor to prevent this situation from happening
in the first place.
(cherry picked from commit c0f910a3439e30cb18b375f69ebc61574290caba)

M  +7    -3    src/network/networkcontroller.cpp
M  +2    -1    src/network/networkcontroller.h

https://invent.kde.org/network/tokodon/-/commit/469ee2325aabbd294bf4f1358786c0f7db68b471
Comment 10 Samega 7Cattac 2024-09-02 09:32:42 UTC
Can confirm it works now.
Comment 11 Joshua Goins 2024-09-06 07:10:09 UTC
*** Bug 492694 has been marked as a duplicate of this bug. ***
Comment 12 Antonio Rojas 2024-09-10 18:10:17 UTC
*** Bug 492954 has been marked as a duplicate of this bug. ***