Bug 512960

Summary: Discover crashes/asserts in FlatpakBackend::checkForUpdates() on line 2092
Product: [Applications] Discover Reporter: Darryl <ddrs>
Component: discoverAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: crash CC: aleixpol, kdedev, nate
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.5.3   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/316380/events/fff491b4335d465f9083b6b53dd7f1bf/
Attachments: New crash information added by DrKonqi

Description Darryl 2025-12-04 23:14:44 UTC
Application: plasma-discover (6.5.3)

ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.21.0
Operating System: Linux 6.14.0-36-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Testing Edition
DrKonqi: 6.5.3 [CoredumpBackend]

-- Information about the crash:
I wasn't doing anything when I noticed the bug for a crash in system tray.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x00007410dee4527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007410dee288ff in __GI_abort () at ./stdlib/abort.c:79
#11 0x00007410dfb32891 in qAbort () at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qassert.cpp:46
#12 qt_maybe_message_fatal<QString&> (message=..., context=<optimized out>, msgType=QtFatalMsg) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qlogging.cpp:2166
[...]
#14 0x00007410dfb33653 in QMessageLogger::fatal (this=<optimized out>, msg=0x7410df84e8e8 "ASSERT: \"%s\" in file %s, line %d") at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qlogging.cpp:901
#15 0x00007410dfb21020 in qt_assert (assertion=assertion@entry=0x7410d42a1cf8 "!m_refreshAppstreamMetadataJobs.contains(source->remote())", file=file@entry=0x7410d42a0da0 "./libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp", line=line@entry=2092) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qassert.cpp:113
#16 0x00007410d4267dae in FlatpakBackend::checkForUpdates (this=0x63a2eaf9ef40) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:2092
#17 0x00007410e2226c1c in ResourcesModel::checkForUpdates (this=<optimized out>) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/libdiscover/resources/ResourcesModel.cpp:319
#18 0x00007410dfa9fc89 in QtPrivate::QSlotObjectBase::call (a=0x7ffcd6d037f8, r=<optimized out>, this=0x63a2eb3f1fe0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobjectdefs_impl.h:461
#19 doActivate<false> (sender=0x63a2eb430830, signal_index=3, argv=0x7ffcd6d037f8) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobject.cpp:4257
#20 0x00007410e22290cf in DiscoverAction::qt_metacall (this=0x63a2eb430830, _c=<optimized out>, _id=6, _a=0x7ffcd6d03bb0) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/obj-x86_64-linux-gnu/libdiscover/DiscoverCommon_autogen/include/moc_DiscoverAction.cpp:184
#21 0x00007410e0a9b50a in QQmlObjectOrGadget::metacall (this=0x7ffcd6d03e50, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/qqmlobjectorgadget.cpp:14
#22 0x00007410e0b996c3 in QV4::CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=<optimized out>, engine=0x63a2eaffd980, argTypes=0x0, argCount=0, returnType=..., index=10, object=...) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:1728


Reported using DrKonqi
Comment 1 Darryl 2025-12-04 23:14:47 UTC
Created attachment 187342 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2025-12-08 22:07:02 UTC
Full backtrace


Thread 1 (Thread 0x7410e0eaf340 (LWP 3382)):
[KCrash Handler]
#6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#7  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#8  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#9  0x00007410dee4527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#10 0x00007410dee288ff in __GI_abort () at ./stdlib/abort.c:79
#11 0x00007410dfb32891 in qAbort () at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qassert.cpp:46
#12 qt_maybe_message_fatal<QString&> (message=..., context=<optimized out>, msgType=QtFatalMsg) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qlogging.cpp:2166
#13 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7410df84e8e8 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7ffcd6d03478) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qlogging.cpp:412
#14 0x00007410dfb33653 in QMessageLogger::fatal (this=<optimized out>, msg=0x7410df84e8e8 "ASSERT: \"%s\" in file %s, line %d") at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qlogging.cpp:901
#15 0x00007410dfb21020 in qt_assert (assertion=assertion@entry=0x7410d42a1cf8 "!m_refreshAppstreamMetadataJobs.contains(source->remote())", file=file@entry=0x7410d42a0da0 "./libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp", line=line@entry=2092) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qassert.cpp:113
#16 0x00007410d4267dae in FlatpakBackend::checkForUpdates (this=0x63a2eaf9ef40) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/libdiscover/backends/FlatpakBackend/FlatpakBackend.cpp:2092
#17 0x00007410e2226c1c in ResourcesModel::checkForUpdates (this=<optimized out>) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/libdiscover/resources/ResourcesModel.cpp:319
#18 0x00007410dfa9fc89 in QtPrivate::QSlotObjectBase::call (a=0x7ffcd6d037f8, r=<optimized out>, this=0x63a2eb3f1fe0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobjectdefs_impl.h:461
#19 doActivate<false> (sender=0x63a2eb430830, signal_index=3, argv=0x7ffcd6d037f8) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobject.cpp:4257
#20 0x00007410e22290cf in DiscoverAction::qt_metacall (this=0x63a2eb430830, _c=<optimized out>, _id=6, _a=0x7ffcd6d03bb0) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/obj-x86_64-linux-gnu/libdiscover/DiscoverCommon_autogen/include/moc_DiscoverAction.cpp:184
#21 0x00007410e0a9b50a in QQmlObjectOrGadget::metacall (this=0x7ffcd6d03e50, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/qqmlobjectorgadget.cpp:14
#22 0x00007410e0b996c3 in QV4::CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=<optimized out>, engine=0x63a2eaffd980, argTypes=0x0, argCount=0, returnType=..., index=10, object=...) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:1728
#23 QV4::QObjectMethod::callPrecise (object=..., data=..., engine=<optimized out>, engine@entry=0x63a2eaffd980, callArgs=<optimized out>, callArgs@entry=0x7410d44c9590, callType=callType@entry=QMetaObject::InvokeMetaMethod) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:2088
#24 0x00007410e0b9d185 in operator() (__closure=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:3114
#25 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> > (call=<optimized out>, __closure=<synthetic pointer>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:3091
#26 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=0x7410d44c9510, argc=0) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4qobjectwrapper.cpp:3114
#27 0x00007410e0ce43f5 in QV4::Moth::VME::interpret (frame=0xd36, frame@entry=0x7ffcd6d04320, engine=0x63a2eaffd980, code=0x7410d44c9548 "@\036\250\251\020t") at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4vme_moth.cpp:804
#28 0x00007410e0ce761c in QV4::Moth::VME::exec (frame=<optimized out>, engine=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4vme_moth.cpp:493
#29 0x00007410e0c0d6c4 in QV4::doCall (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4function.cpp:53
#30 0x00007410e0c0dcb8 in QV4::Function::call (this=this@entry=0x63a2eb440060, thisObject=<optimized out>, argv=argv@entry=0x7410d44c9500, argc=argc@entry=1, context=context@entry=0x7410a07581b0) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4function.cpp:78
#31 0x00007410e0c0e5c6 in operator() (argc=1, argv=0x7410d44c9500, thisObject=<optimized out>, __closure=<synthetic pointer>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4function.cpp:29
#32 QV4::convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*, int)> > (call=..., argc=1, types=0x7ffcd6d04608, a=0x7ffcd6d06110, thisObject=0x63a2eb623430, engine=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4jscall_p.h:200
#33 QV4::Function::call (this=0x63a2eb440060, thisObject=0x63a2eb623430, a=0x7ffcd6d06110, types=0x7ffcd6d04608, argc=1, context=0x7410a07581b0) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/jsruntime/qv4function.cpp:26
#34 0x00007410e0a7bf07 in QQmlJavaScriptExpression::evaluate (this=<optimized out>, a=<optimized out>, types=<optimized out>, argc=<optimized out>) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/qqmljavascriptexpression_p.h:248
#35 0x00007410e0b32fea in QQmlBoundSignalExpression::evaluate (this=this@entry=0x63a2eb624910, a=a@entry=0x7ffcd6d06110) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qvarlengtharray.h:91
#36 0x00007410e0b3444f in QQmlBoundSignal_callback (a=0x7ffcd6d06110, e=0x63a2eb624a90) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/ftw/qqmlrefcount_p.h:73
#37 QQmlBoundSignal_callback (e=0x63a2eb624a90, a=0x7ffcd6d06110) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/qqmlboundsignal.cpp:294
#38 0x00007410e0a8f03c in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x7ffcd6d06110) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/qml/qml/qqmlnotifier.cpp:74
#39 0x00007410dfa9f930 in doActivate<false> (sender=0x63a2eb623430, signal_index=11, argv=0x7ffcd6d06110) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobject.cpp:4147
#40 0x00007410de81a984 in QMetaObject::activate<void, QObject*> (ret=0x0, local_signal_index=8, mo=<optimized out>, sender=0x63a2eb623430) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qobjectdefs.h:319
#41 QQuickAction::triggered (this=this@entry=0x63a2eb623430, _t1=<optimized out>, _t1@entry=0x63a2ee68f340) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/obj-x86_64-linux-gnu/src/quicktemplates/QuickTemplates2_autogen/include/moc_qquickaction_p.cpp:307
#42 0x00007410de81d401 in QQuickActionPrivate::trigger (this=0x63a2eb623500, source=0x63a2ee68f340, doToggle=false) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quicktemplates/qquickaction.cpp:532
#43 0x00007410de815363 in QQuickAbstractButtonPrivate::trigger (this=0x63a2ee6943b0, doubleClick=false) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quicktemplates/qquickabstractbutton.cpp:387
#44 0x00007410de81610a in QQuickAbstractButtonPrivate::handleRelease (this=this@entry=0x63a2ee6943b0, point=..., timestamp=timestamp@entry=4170703) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quicktemplates/qquickabstractbutton.cpp:194
#45 0x00007410de8304e1 in QQuickControl::mouseReleaseEvent (this=<optimized out>, event=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quicktemplates/qquickcontrol.cpp:2068
#46 0x00007410e167f7d5 in QQuickItemPrivate::deliverPointerEvent (this=<optimized out>, event=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/items/qquickitem.cpp:5673
#47 0x00007410e1687618 in QQuickItem::event (this=0x63a2ee68f340, ev=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/items/qquickitem.cpp:9165
#48 0x00007410e1e3d68d in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x63a2ee68f340, e=0x7ffcd6d06d80) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/widgets/kernel/qapplication.cpp:3305
#49 0x00007410dfad6ec0 in QCoreApplication::notifyInternal2 (receiver=0x63a2ee68f340, event=0x7ffcd6d06d80) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qcoreapplication.cpp:1109
#50 0x00007410dfad6f0d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qcoreapplication.cpp:1549
#51 0x00007410e14bdd3d in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=this@entry=0x63a2eb485e50, item=item@entry=0x63a2ee68f340, isGrabber=isGrabber@entry=true, pointerEvent=pointerEvent@entry=0x7ffcd6d06d80, handlersOnly=handlersOnly@entry=false) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/util/qquickdeliveryagent.cpp:2482
#52 0x00007410e14be3ea in QQuickDeliveryAgentPrivate::deliverUpdatedPoints (this=this@entry=0x63a2eb485e50, event=event@entry=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/util/qquickdeliveryagent.cpp:2260
#53 0x00007410e14c0abd in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=this@entry=0x63a2eb485e50, event=event@entry=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/util/qquickdeliveryagent.cpp:2073
#54 0x00007410e14c138b in QQuickDeliveryAgentPrivate::handleMouseEvent (this=0x63a2eb485e50, event=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/util/qquickdeliveryagent.cpp:1807
#55 0x00007410e14b7060 in QQuickDeliveryAgent::event (this=<optimized out>, ev=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/util/qquickdeliveryagent.cpp:824
#56 0x00007410e16200d7 in QQuickWindow::event (this=<optimized out>, event=0x7ffcd6d06d80) at /usr/src/qt6-declarative-6.10.1-0zneon+24.04+noble+stable+build79/src/quick/items/qquickwindow.cpp:1591
#57 0x00007410e1e3d68d in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7410cc001c10, e=0x7ffcd6d06d80) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/widgets/kernel/qapplication.cpp:3305
#58 0x00007410dfad6ec0 in QCoreApplication::notifyInternal2 (receiver=0x7410cc001c10, event=0x7ffcd6d06d80) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qcoreapplication.cpp:1109
#59 0x00007410dfad75ad in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qcoreapplication.cpp:1563
#60 0x00007410e00d339f in QGuiApplicationPrivate::processMouseEvent (e=0x7410cc004b00) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/gui/kernel/qguiapplication.cpp:2470
#61 0x00007410e013e97c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/gui/kernel/qwindowsysteminterface.cpp:1117
#62 0x00007410e01323c8 in QWindowSystemInterface::flushWindowSystemEvents (flags=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/gui/kernel/qwindowsysteminterface.cpp:1086
#63 0x00007410dfaa0204 in doActivate<false> (sender=0x63a2eaf96d40, signal_index=4, argv=0x7ffcd6d070a8) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qobject.cpp:4269
#64 0x00007410df88702b in QEventDispatcherGlib::processEvents (this=0x63a2eaf96d40, flags=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/kernel/qeventdispatcher_glib.cpp:406
#65 0x00007410dfae14e3 in QEventLoop::exec (this=0x7ffcd6d071f0, flags=...) at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qflags.h:77
#66 0x00007410dfadb62f in QCoreApplication::exec () at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/corelib/global/qflags.h:77
#67 0x00007410e00c75fd in QGuiApplication::exec () at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/gui/kernel/qguiapplication.cpp:1973
#68 0x00007410e1e3a1c9 in QApplication::exec () at /usr/src/qt6-base-6.10.1-0zneon+24.04+noble+stable+build122/src/widgets/kernel/qapplication.cpp:2575
#69 0x000063a2e076a848 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/plasma-discover-6.5.3+p24.04+vstable+git20251202.2257-0/discover/main.cpp:231