Dolphin terminates with "what(): std::bad_alloc"

New clean install of Ubuntu 24.04, dolphin installed using apt. Attempting to run fails with:

$ dolphin
QSocketNotifier: Can only be used with threads started with QThread
terminate called after throwing an instance of ‘std::bad_alloc’
what(): std::bad_alloc
Aborted (core dumped)
$

That’s worrying. This kind of error tells us the allocator failed, that is your memory is full (unlikely) or your RAM is not working properly or you system otherwise restricted dolphin to allocate memory.

What does coredumpctl -1 gdb dolphin outputs?
Type ‘c’ when the process stops, untile you get a line starting with gdb>, the following lines would be worse sharing.

Monitoring with ‘top’ while dolphin is runnint, the RES value steadily increases until it get close to physical memory (32Gb).

The output from coredumpctl is attached.

I can’t see the attachment in my reply so have made it available at g8hckcoukdolphin.coredumpctrl

g8hck . co .uk / dolphin.coredumpctrl

Enable debuginfod for this session? (y or [n])
Debuginfod has been disabled.

Please say yes to this, or enable otherwise debuginfod.
coredumps are useless with debug symbols and debuginfod will fetch them automatically.

https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

That’s definitely interesting, somehow dolphin tries to eat all your memory.

The stack trace should tell us why it happens.

I have an output with debuginfo enabled and a backtrace. Is there anything else I should gather?

This is the backtrace:

(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=)
at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=)
at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=, signo=signo@entry=6)
at ./nptl/pthread_kill.c:89
#3 0x00007c423e84526e in __GI_raise (sig=sig@entry=6)
at …/sysdeps/posix/raise.c:26
#4 0x00007c423e8288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007c423eca5ffe in __gnu_cxx::__verbose_terminate_handler ()
at …/…/…/…/src/libstdc+±v3/libsupc++/vterminate.cc:95
#6 0x00007c423ecbae9c in __cxxabiv1::__terminate (handler=)
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:48
#7 0x00007c423eca5a49 in std::terminate ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:58
#8 0x00007c423eca5a62 in __cxxabiv1::__cxa_rethrow ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_throw.cc:136
#9 0x00007c423f0d7998 in QList::append (this=, t=…)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:646
#10 0x00007c423f3afc3a in QList::push_back (t=…,
this=0x7ffd1eb2af50)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:377
#11 std::stack<QString, QStringList>::push (__x=…, this=0x7ffd1eb2af50)
at /usr/include/c++/13/bits/stl_stack.h:266
#12 QMimeDatabasePrivate::inherits (
this=this@entry=0x7c423f572d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…)
at mimetypes/qmimedatabase.cpp:443
#13 0x00007c423f3b0322 in QMimeDatabasePrivate::mimeInherits (
this=0x7c423f572d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…) at mimetypes/qmimedatabase.cpp:310
#14 0x00007c423f3b298c in QMimeType::inherits (mimeTypeName=…,
this=0x7ffd1eb2b120) at mimetypes/qmimetype.cpp:515
#15 0x00007c424097cf2a in KBuildServiceFactory::populateServiceTypes (
this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:305
#16 KBuildServiceFactory::postProcessServices (this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:236
#17 KBuildSycoca::save (str=, this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:526
–Type for more, q to quit, c to continue without paging–c
#18 KBuildSycoca::recreate (this=, incremental=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:426
#19 0x00007c42409699a0 in KSycocaPrivate::buildSycoca (this=0x5b73eb98e100)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/ksycoca.cpp:701
#20 0x00007c4240969b2d in KSycocaPrivate::checkDatabase (this=,
ifNotFound=…, ifNotFound@entry=…)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/ksycoca.cpp:513
#21 0x00007c424096ad72 in KSycoca::ensureCacheValid (this=0x5b73eb778170)
at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121
#22 0x00007c42409479f1 in KService::serviceByDesktopName (_name=…)
at /usr/src/kservice-5.115.0-0ubuntu4/src/services/kservice.cpp:658
#23 0x00005b73e9a529e0 in DolphinNavigatorsWidgetAction::newNetworkFolderButton
(parent=0x5b73eb613760, urlNavigator=0x5b73eb65a5c0, this=0x5b73eb699190)
at /usr/src/dolphin-4:23.08.5-0ubuntu4/src/dolphinnavigatorswidgetaction.cpp:256
#24 DolphinNavigatorsWidgetAction::createNavigatorWidget (this=0x5b73eb699190,
side=)
at /usr/src/dolphin-4:23.08.5-0ubuntu4/src/dolphinnavigatorswidgetaction.cpp:184
#25 0x00005b73e9a2b368 in DolphinNavigatorsWidgetAction::DolphinNavigatorsWidgetAction (parent=0x5b73eb503910, this=0x5b73eb699190)
at /usr/src/dolphin-4:23.08.5-0ubuntu4/src/dolphinnavigatorswidgetaction.cpp:36
#26 DolphinMainWindow::DolphinMainWindow (this=0x5b73eb503910,
__in_chrg=, __vtt_parm=)
at /usr/src/dolphin-4:23.08.5-0ubuntu4/src/dolphinmainwindow.cpp:151
#27 main (argc=, argv=)
at /usr/src/dolphin-4:23.08.5-0ubuntu4/src/main.cpp:201
(gdb)

Can you try launching command kbuildsycoca5 and launch dolphin again ?

kbuildsycoca5 aborted in the same way, here is the backtrace

(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=)
at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=)
at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=, signo=signo@entry=6)
at ./nptl/pthread_kill.c:89
#3 0x00007ae1ece4526e in __GI_raise (sig=sig@entry=6)
at …/sysdeps/posix/raise.c:26
#4 0x00007ae1ece2898f in __GI_abort () at ./stdlib/abort.c:100
#5 0x00007ae1ecaa5ffe in __gnu_cxx::__verbose_terminate_handler ()
at …/…/…/…/src/libstdc+±v3/libsupc++/vterminate.cc:95
#6 0x00007ae1ecabae9c in __cxxabiv1::__terminate (handler=)
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:48
#7 0x00007ae1ecaa5a49 in std::terminate ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:58
#8 0x00007ae1ecaa5a62 in __cxxabiv1::__cxa_rethrow ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_throw.cc:136
#9 0x00007ae1ed2d7998 in QList::append (this=, t=…)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:646
#10 0x00007ae1ed5afc3a in QList::push_back (t=…,
this=0x7ffccec838b0)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:377
#11 std::stack<QString, QStringList>::push (__x=…, this=0x7ffccec838b0)
at /usr/include/c++/13/bits/stl_stack.h:266
#12 QMimeDatabasePrivate::inherits (
this=this@entry=0x7ae1ed772d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…)
at mimetypes/qmimedatabase.cpp:443
#13 0x00007ae1ed5b0322 in QMimeDatabasePrivate::mimeInherits (
this=0x7ae1ed772d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…) at mimetypes/qmimedatabase.cpp:310
#14 0x00007ae1ed5b298c in QMimeType::inherits (mimeTypeName=…,
this=0x7ffccec83a80) at mimetypes/qmimetype.cpp:515
#15 0x00007ae1ed944f2a in KBuildServiceFactory::populateServiceTypes (
this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:305
#16 KBuildServiceFactory::postProcessServices (this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:236
#17 KBuildSycoca::save (str=, this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:526
–Type for more, q to quit, c to continue without paging–c
#18 KBuildSycoca::recreate (this=this@entry=0x7ffccec83be0,
incremental=incremental@entry=true)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:426
#19 0x000060755c068ce5 in main (argc=, argv=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/kbuildsycoca/kbuildsycoca_main.cpp:135
(gdb)

Some extra information which may, or may not, be relevant:

  • clean install of Ubuntu 24.04 onto new disk
  • initially installed snap version of dolphin
  • lots of problems (wierd icons, inability to cross mount points), google search for issues got recommendation to use apt installed version
  • snap remove then apt install

Did this change your situation, does dolphin launches now ?

Nothing has changed. The snap install runs but has wierd icons and complains when I try to access files across a mount point.

I have a disk mounted on /data. snap dolphin viewing / does not show an icon for data. I have 2 mounts in /mnt; when I double click on mnt, I get the error message “Could not enter folder /mnt”. I have some symlinks in my home directory to directories in /data. When snap dolphin is viewing Home, the symlinks have icons with a ‘?’. Double clicking on any of them (e.g. Downloads) gets the message “Failed to open file:///home/andy/Downloads”.

The apt install still grabs all memory and then aborts.

I am currently having to use xfe but much prefer dolphin which was running well on Ubuntu 22.04,

It seems kbuildsycoca gets stuck in an infinite loop. This component is used to cache file type association.

Could you run QT_LOGGING_RULES="kf5.service.sycoca.debug=true" kbuildsycoca5 it should tell us more.

That aborted. The only output was “kbuildsycoca5 running…”. Is there a log file? The back trace is:

#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=)
at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=)
at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=, signo=signo@entry=6)
at ./nptl/pthread_kill.c:89
#3 0x00007158d744526e in __GI_raise (sig=sig@entry=6)
at …/sysdeps/posix/raise.c:26
#4 0x00007158d742898f in __GI_abort () at ./stdlib/abort.c:100
#5 0x00007158d70a5ffe in __gnu_cxx::__verbose_terminate_handler ()
at …/…/…/…/src/libstdc+±v3/libsupc++/vterminate.cc:95
#6 0x00007158d70bae9c in __cxxabiv1::__terminate (handler=)
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:48
#7 0x00007158d70a5a49 in std::terminate ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_terminate.cc:58
#8 0x00007158d70a5a62 in __cxxabiv1::__cxa_rethrow ()
at …/…/…/…/src/libstdc+±v3/libsupc++/eh_throw.cc:136
#9 0x00007158d78d7998 in QList::append (this=, t=…)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:646
#10 0x00007158d7bafc3a in QList::push_back (t=…,
this=0x7ffc7a91b6a0)
at …/…/include/QtCore/…/…/src/corelib/tools/qlist.h:377
#11 std::stack<QString, QStringList>::push (__x=…, this=0x7ffc7a91b6a0)
at /usr/include/c++/13/bits/stl_stack.h:266
#12 QMimeDatabasePrivate::inherits (
this=this@entry=0x7158d7d72d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…)
at mimetypes/qmimedatabase.cpp:443
#13 0x00007158d7bb0322 in QMimeDatabasePrivate::mimeInherits (
this=0x7158d7d72d40 <(anonymous namespace)::Q_QGS_staticQMimeDatabase::innerFunction()::holder>, mime=…, parent=…) at mimetypes/qmimedatabase.cpp:310
#14 0x00007158d7bb298c in QMimeType::inherits (mimeTypeName=…,
this=0x7ffc7a91b870) at mimetypes/qmimetype.cpp:515
#15 0x00007158d7fe9f2a in KBuildServiceFactory::populateServiceTypes (
this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:305
#16 KBuildServiceFactory::postProcessServices (this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildservicefactory.cpp:236
#17 KBuildSycoca::save (str=, this=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:526
#18 KBuildSycoca::recreate (this=this@entry=0x7ffc7a91b9d0,
incremental=incremental@entry=true)
at /usr/src/kservice-5.115.0-0ubuntu4/src/sycoca/kbuildsycoca.cpp:426
#19 0x000055e61b1d4ce5 in main (argc=, argv=)
at /usr/src/kservice-5.115.0-0ubuntu4/src/kbuildsycoca/kbuildsycoca_main.cpp:135