Bug 429856 - Discover always crashes in Attica::ProviderManager::fileFinished()
Summary: Discover always crashes in Attica::ProviderManager::fileFinished()
Status: RESOLVED DUPLICATE of bug 427974
Alias: None
Product: frameworks-attica
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.76.0
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Frederik Gladhorn
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-11-30 16:40 UTC by Mohammed
Modified: 2020-12-03 14:32 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mohammed 2020-11-30 16:40:06 UTC
Application: plasma-discover (5.20.3)

Qt Version: 5.15.2
Frameworks Version: 5.76.0
Operating System: Linux 5.4.79-1-lts x86_64
Windowing system: X11
Distribution: Arch Linux

-- Information about the crash:
- What I was doing when the application crashed:
I am using discover,every time crush.
- Custom settings of the application:
I  may be from previous version , I guess.
Application: استكشف (plasma-discover), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fecfd6db6c0 in QNetworkReply::error() const () at /usr/lib/libQt5Network.so.5
#5  0x00007fecfda62dbb in Attica::ProviderManager::fileFinished(QString const&) () at /usr/lib/libKF5Attica.so.5
#6  0x00007fecfda62f07 in  () at /usr/lib/libKF5Attica.so.5
#7  0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#9  0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#12 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#13 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#14 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#15 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#16 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#17 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#18 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#19 0x00007fecbff7bfa5 in  () at /usr/lib/qt/plugins/attica_kde.so
#20 0x00007fecfda61244 in  () at /usr/lib/libKF5Attica.so.5
#21 0x00007fecfda55a2a in Attica::Provider::Provider(Attica::PlatformDependent*, QUrl const&, QString const&, QUrl const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&) () at /usr/lib/libKF5Attica.so.5
#22 0x00007fecfda624a8 in Attica::ProviderManager::parseProviderFile(QString const&, QUrl const&) () at /usr/lib/libKF5Attica.so.5
#23 0x00007fecfda62d4a in Attica::ProviderManager::addProviderFromXml(QString const&) () at /usr/lib/libKF5Attica.so.5
#24 0x00007fecbf675ae3 in  () at /usr/lib/libKF5NewStuffCore.so.5
#25 0x00007fecbf64f166 in KNSCore::Engine::slotProviderFileLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#26 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#27 0x00007fecbf63b9a3 in KNSCore::XmlLoader::signalLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#28 0x00007fecbf66d0b5 in KNSCore::XmlLoader::slotJobResult(KJob*) () at /usr/lib/libKF5NewStuffCore.so.5
#29 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#30 0x00007fecfefea2dd in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib/libKF5CoreAddons.so.5
#31 0x00007fecfefeae1c in KJob::finishJob(bool) () at /usr/lib/libKF5CoreAddons.so.5
#32 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#33 0x00007fecbf66feb2 in  () at /usr/lib/libKF5NewStuffCore.so.5
#34 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#35 0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#36 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#37 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#38 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#39 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#40 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#41 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#42 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#43 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#44 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#45 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#46 0x00007fecbff7bfa5 in  () at /usr/lib/qt/plugins/attica_kde.so
#47 0x00007fecfda61244 in  () at /usr/lib/libKF5Attica.so.5
#48 0x00007fecfda55a2a in Attica::Provider::Provider(Attica::PlatformDependent*, QUrl const&, QString const&, QUrl const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&) () at /usr/lib/libKF5Attica.so.5
#49 0x00007fecfda624a8 in Attica::ProviderManager::parseProviderFile(QString const&, QUrl const&) () at /usr/lib/libKF5Attica.so.5
#50 0x00007fecfda62d4a in Attica::ProviderManager::addProviderFromXml(QString const&) () at /usr/lib/libKF5Attica.so.5
#51 0x00007fecbf675ae3 in  () at /usr/lib/libKF5NewStuffCore.so.5
#52 0x00007fecbf64f166 in KNSCore::Engine::slotProviderFileLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#53 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#54 0x00007fecbf63b9a3 in KNSCore::XmlLoader::signalLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#55 0x00007fecbf66d0b5 in KNSCore::XmlLoader::slotJobResult(KJob*) () at /usr/lib/libKF5NewStuffCore.so.5
#56 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#57 0x00007fecfefea2dd in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib/libKF5CoreAddons.so.5
#58 0x00007fecfefeae1c in KJob::finishJob(bool) () at /usr/lib/libKF5CoreAddons.so.5
#59 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#60 0x00007fecbf66feb2 in  () at /usr/lib/libKF5NewStuffCore.so.5
#61 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#62 0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#63 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#64 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#65 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#66 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#67 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#68 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#69 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#70 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#71 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#72 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#73 0x00007fecbff7be81 in  () at /usr/lib/qt/plugins/attica_kde.so
#74 0x00007fecbff7c958 in  () at /usr/lib/qt/plugins/attica_kde.so
#75 0x00007fecfda6388c in Attica::ProviderManager::addProviderFile(QUrl const&) () at /usr/lib/libKF5Attica.so.5
#76 0x00007fecfda63db0 in Attica::ProviderManager::slotLoadDefaultProvidersInternal() () at /usr/lib/libKF5Attica.so.5
#77 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#78 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#79 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#80 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#81 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#82 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#83 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#84 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#85 0x00007fecfe2376e1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#86 0x00007fecfe1dd3fc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#87 0x00007fecfe1e5894 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#88 0x000055f33b6678cc in  ()
#89 0x00007fecfdba9152 in __libc_start_main () at /usr/lib/libc.so.6
#90 0x000055f33b667e6e in _start ()
[Inferior 1 (process 748) detached]

The crash can be reproduced every time.

-- Backtrace:
Application: استكشف (plasma-discover), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fecfd6db6c0 in QNetworkReply::error() const () at /usr/lib/libQt5Network.so.5
#5  0x00007fecfda62dbb in Attica::ProviderManager::fileFinished(QString const&) () at /usr/lib/libKF5Attica.so.5
#6  0x00007fecfda62f07 in  () at /usr/lib/libKF5Attica.so.5
#7  0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#9  0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#11 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#12 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#13 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#14 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#15 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#16 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#17 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#18 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#19 0x00007fecbff7bfa5 in  () at /usr/lib/qt/plugins/attica_kde.so
#20 0x00007fecfda61244 in  () at /usr/lib/libKF5Attica.so.5
#21 0x00007fecfda55a2a in Attica::Provider::Provider(Attica::PlatformDependent*, QUrl const&, QString const&, QUrl const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&) () at /usr/lib/libKF5Attica.so.5
#22 0x00007fecfda624a8 in Attica::ProviderManager::parseProviderFile(QString const&, QUrl const&) () at /usr/lib/libKF5Attica.so.5
#23 0x00007fecfda62d4a in Attica::ProviderManager::addProviderFromXml(QString const&) () at /usr/lib/libKF5Attica.so.5
#24 0x00007fecbf675ae3 in  () at /usr/lib/libKF5NewStuffCore.so.5
#25 0x00007fecbf64f166 in KNSCore::Engine::slotProviderFileLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#26 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#27 0x00007fecbf63b9a3 in KNSCore::XmlLoader::signalLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#28 0x00007fecbf66d0b5 in KNSCore::XmlLoader::slotJobResult(KJob*) () at /usr/lib/libKF5NewStuffCore.so.5
#29 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#30 0x00007fecfefea2dd in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib/libKF5CoreAddons.so.5
#31 0x00007fecfefeae1c in KJob::finishJob(bool) () at /usr/lib/libKF5CoreAddons.so.5
#32 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#33 0x00007fecbf66feb2 in  () at /usr/lib/libKF5NewStuffCore.so.5
#34 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#35 0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#36 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#37 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#38 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#39 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#40 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#41 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#42 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#43 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#44 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#45 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#46 0x00007fecbff7bfa5 in  () at /usr/lib/qt/plugins/attica_kde.so
#47 0x00007fecfda61244 in  () at /usr/lib/libKF5Attica.so.5
#48 0x00007fecfda55a2a in Attica::Provider::Provider(Attica::PlatformDependent*, QUrl const&, QString const&, QUrl const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&, QString const&) () at /usr/lib/libKF5Attica.so.5
#49 0x00007fecfda624a8 in Attica::ProviderManager::parseProviderFile(QString const&, QUrl const&) () at /usr/lib/libKF5Attica.so.5
#50 0x00007fecfda62d4a in Attica::ProviderManager::addProviderFromXml(QString const&) () at /usr/lib/libKF5Attica.so.5
#51 0x00007fecbf675ae3 in  () at /usr/lib/libKF5NewStuffCore.so.5
#52 0x00007fecbf64f166 in KNSCore::Engine::slotProviderFileLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#53 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#54 0x00007fecbf63b9a3 in KNSCore::XmlLoader::signalLoaded(QDomDocument const&) () at /usr/lib/libKF5NewStuffCore.so.5
#55 0x00007fecbf66d0b5 in KNSCore::XmlLoader::slotJobResult(KJob*) () at /usr/lib/libKF5NewStuffCore.so.5
#56 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#57 0x00007fecfefea2dd in KJob::result(KJob*, KJob::QPrivateSignal) () at /usr/lib/libKF5CoreAddons.so.5
#58 0x00007fecfefeae1c in KJob::finishJob(bool) () at /usr/lib/libKF5CoreAddons.so.5
#59 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#60 0x00007fecbf66feb2 in  () at /usr/lib/libKF5NewStuffCore.so.5
#61 0x00007fecfe215dd6 in  () at /usr/lib/libQt5Core.so.5
#62 0x00007fecfd724965 in  () at /usr/lib/libQt5Network.so.5
#63 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#64 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#65 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#66 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#67 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#68 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#69 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#70 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#71 0x00007fecfe237752 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#72 0x00007fecbff7b7b8 in  () at /usr/lib/qt/plugins/attica_kde.so
#73 0x00007fecbff7be81 in  () at /usr/lib/qt/plugins/attica_kde.so
#74 0x00007fecbff7c958 in  () at /usr/lib/qt/plugins/attica_kde.so
#75 0x00007fecfda6388c in Attica::ProviderManager::addProviderFile(QUrl const&) () at /usr/lib/libKF5Attica.so.5
#76 0x00007fecfda63db0 in Attica::ProviderManager::slotLoadDefaultProvidersInternal() () at /usr/lib/libKF5Attica.so.5
#77 0x00007fecfe20b582 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#78 0x00007fecff19b752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#79 0x00007fecfe1dea7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#80 0x00007fecfe1e1573 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#81 0x00007fecfe2380a4 in  () at /usr/lib/libQt5Core.so.5
#82 0x00007fecfc67c914 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#83 0x00007fecfc6d07d1 in  () at /usr/lib/libglib-2.0.so.0
#84 0x00007fecfc67b121 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#85 0x00007fecfe2376e1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#86 0x00007fecfe1dd3fc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#87 0x00007fecfe1e5894 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#88 0x000055f33b6678cc in  ()
#89 0x00007fecfdba9152 in __libc_start_main () at /usr/lib/libc.so.6
#90 0x000055f33b667e6e in _start ()
[Inferior 1 (process 748) detached]

Possible duplicates by query: bug 429643, bug 429504, bug 429420, bug 429344, bug 429000.

Reported using DrKonqi
Comment 1 Nate Graham 2020-11-30 22:34:54 UTC
[KCrash Handler]
#4  0x00007fecfd6db6c0 in QNetworkReply::error() const () at /usr/lib/libQt5Network.so.5
#5  0x00007fecfda62dbb in Attica::ProviderManager::fileFinished(QString const&) () at /usr/lib/libKF5Attica.so.5
Comment 2 Dan Leinir Turthra Jensen 2020-12-03 14:32:13 UTC
Thanks for the report, but i'm afraid it's the same one you already reported elsewhere, and while the fix was released with 5.77, you're still running Frameworks 5.76 :)

*** This bug has been marked as a duplicate of bug 427974 ***