Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: The calamares installer crashes right from start on Fedora-Workstation-Live-x86_64-31-1.9.iso Version-Release number of selected component (if applicable): fedora31 workstation live dvd x64 How reproducible: always Steps to Reproduce: 1. dnf -y install calamares 2. click on gnome calamares installer icon 3. journalctl shows a segfault Additional info: gdb output follows. It looks like the actual problem is in the yaml library, called L216 of: https://github.com/calamares/calamares/blob/master/src/libcalamares/Settings.cpp by config[ "modules-search" ] apparently (not sure!). I would expect the yaml library to raise an exception, not to crash. Note that "/usr/share/calamares/settings.conf" should be the file loaded and passed to YAML::Load(). So it looks to me that the actual problem is in the YAML library, and I reported this bug as such. results of: gdb --args calamares -D 8 (gdb) run Starting program: /usr/bin/calamares -D 8 Missing separate debuginfos, use: dnf debuginfo-install glibc-2.30-5.fc31.x86_64 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7fffe56cd700 (LWP 3491)] QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' 21:41:24 [6]: Using log file: "/root/.cache/calamares/session.log" 21:41:24 [6]: Calamares version: 3.2.11 21:41:24 [6]: languages: "ar, ast, bg, ca, cs_CZ, da, de, el, en, en_GB, es, es_MX, es_PR, et, eu, fi_FI, fr, gl, he, hi, hr, hu, id, is, it_IT, ja, ko, lt, mr, nb, nl, pl, pt_BR, pt_PT, ro, ru, sk, sl, sq, sr, sr@latin, sv, th, tr_TR, uk, zh_CN, zh_TW" 21:41:24 [6]: Using Calamares QML directory "/usr/share/calamares/qml" 21:41:24 [6]: Using Calamares settings file at "/usr/share/calamares/settings.conf" Thread 1 "calamares" received signal SIGSEGV, Segmentation fault. 0x00007ffff7ebd97b in std::__shared_ptr_access<YAML::detail::node_data, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get (this=0x3) at /usr/include/c++/9/bits/shared_ptr_base.h:1020 1020 /usr/include/c++/9/bits/shared_ptr_base.h: No such file or directory. Missing separate debuginfos, use: dnf debuginfo-install boost-python3-1.69.0-9.fc31.x86_64 bzip2-libs-1.0.8-1.fc31.x86_64 dbus-libs-1.12.16-3.fc31.x86_64 expat-2.2.8-1.fc31.x86_64 fontconfig-2.13.92-3.fc31.x86_64 freetype-2.10.0-3.fc31.x86_64 glib2-2.62.1-1.fc31.x86_64 graphite2-1.3.13-1.fc31.x86_64 harfbuzz-2.6.1-2.fc31.x86_64 kf5-kcoreaddons-5.64.0-1.fc31.x86_64 kf5-kcrash-5.64.0-1.fc31.x86_64 kf5-kwindowsystem-5.64.0-1.fc31.x86_64 libICE-1.0.10-2.fc31.x86_64 libSM-1.2.3-4.fc31.x86_64 libX11-1.6.8-3.fc31.x86_64 libX11-xcb-1.6.8-3.fc31.x86_64 libXau-1.0.9-2.fc31.x86_64 libXcursor-1.1.15-6.fc31.x86_64 libXext-1.3.4-2.fc31.x86_64 libXfixes-5.0.3-10.fc31.x86_64 libXrender-0.9.10-10.fc31.x86_64 libgcc-9.2.1-1.fc31.x86_64 libgcrypt-1.8.5-1.fc31.x86_64 libglvnd-1.1.1-5.fc31.x86_64 libglvnd-glx-1.1.1-5.fc31.x86_64 libgpg-error-1.36-2.fc31.x86_64 libicu-63.2-3.fc31.x86_64 libpng-1.6.37-2.fc31.x86_64 libstdc++-9.2.1-1.fc31.x86_64 libuuid-2.34-3.fc31.x86_64 libxcb-1.13.1-3.fc31.x86_64 libxkbcommon-0.8.4-2.fc31.x86_64 libxkbcommon-x11-0.8.4-2.fc31.x86_64 lz4-libs-1.9.1-1.fc31.x86_64 openssl-libs-1.1.1d-2.fc31.x86_64 pcre-8.43-2.fc31.1.x86_64 pcre2-utf16-10.33-14.fc31.x86_64 python3-libs-3.7.4-5.fc31.x86_64 qt5-qtbase-5.12.5-1.fc31.x86_64 qt5-qtbase-gui-5.12.5-1.fc31.x86_64 qt5-qtdeclarative-5.12.5-1.fc31.x86_64 qt5-qtsvg-5.12.5-1.fc31.x86_64 qt5-qtx11extras-5.12.5-1.fc31.x86_64 sssd-client-2.2.2-1.fc31.x86_64 systemd-libs-243-4.gitef67743.fc31.x86_64 xcb-util-image-0.4.0-13.fc31.x86_64 xcb-util-keysyms-0.4.0-11.fc31.x86_64 xz-libs-5.2.4-6.fc31.x86_64 zlib-1.2.11-19.fc31.x86_64 (gdb) bt #0 0x00007ffff7ebd97b in std::__shared_ptr_access<YAML::detail::node_data, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get (this=0x3) at /usr/include/c++/9/bits/shared_ptr_base.h:1020 #1 std::__shared_ptr_access<YAML::detail::node_data, (__gnu_cxx::_Lock_policy)2, false, false>::operator-> (this=0x3) at /usr/include/c++/9/bits/shared_ptr_base.h:1015 #2 YAML::detail::node_ref::get<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (pMemory=..., key="modules-search", this=0x3) at /usr/include/yaml-cpp/node/detail/node_ref.h:68 #3 YAML::detail::node::get<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (pMemory=..., key="modules-search", this=0x7fffffffd600) at /usr/include/yaml-cpp/node/detail/node.h:129 #4 YAML::Node::operator[]<char [15]> (key=<synthetic pointer>..., this=0x7fffffffd660) at /usr/include/yaml-cpp/node/impl.h:390 #5 Calamares::Settings::Settings (this=0x5555557841a0, settingsFilePath=..., debugMode=<optimized out>, parent=<optimized out>) at /usr/src/debug/calamares-3.2.11-2.fc31.x86_64/src/libcalamares/Settings.cpp:201 #6 0x000055555556a99e in CalamaresApplication::initSettings (this=0x7fffffffd950) at /usr/src/debug/calamares-3.2.11-2.fc31.x86_64/src/calamares/CalamaresApplication.cpp:281 #7 0x000055555556c139 in CalamaresApplication::init (this=0x7fffffffd950) at /usr/src/debug/calamares-3.2.11-2.fc31.x86_64/src/calamares/CalamaresApplication.cpp:77 #8 0x0000555555566726 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/calamares-3.2.11-2.fc31.x86_64/src/calamares/main.cpp:120 (gdb)
Hello, I recompiled calamares from source with the source RPM. That worked: calamares started without segfault. It doesn't explain what's wrong with the packaged version though (perhaps wrong yaml headers??). Anyway I think the bug should be assigned to "calamares" instead of "yaml-cpp" now.
Looks like some silent binary incompatibility (ABI breakage) in yaml-cpp. More precisely, it looks like the binary layout of some object class in yaml-cpp has changed, while the soname remained the same. So this is only caught at runtime.
Calamares has been rebuilt in 2020 so I'm going to assume this is fixed. Please reopen if that's not the case.