lxqt / pcmanfm-qt

File manager and desktop icon manager (Qt port of PCManFM and libfm)
https://lxqt-project.org
GNU General Public License v2.0
420 stars 112 forks source link

pcmanfm-qt segfaults with --desktop parameter #1273

Closed papoteur-mga closed 3 years ago

papoteur-mga commented 3 years ago

The error occurs after the installation, at launch of the session. It is repeatable with the command line. Here is a backtrace from gdb. (I report this error from a Mageia user)

Expected Behavior

No segfault

System Information
 gdb --args pcmanfm-qt --desktop
GNU gdb (GDB) 8.2-8.1.mga7 (Mageia release 7)
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-mageia-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pcmanfm-qt...Reading symbols from /usr/lib/debug/usr/bin/pcmanfm-qt-0.14.1-2.mga7.x86_64.debug...done.
done.
(gdb) run
Starting program: /usr/bin/pcmanfm-qt --desktop
Missing separate debuginfos, use: debuginfo-install glibc-2.29-20.mga7.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff2f20700 (LWP 21528)]
[New Thread 0x7ffff1069700 (LWP 21530)]
[New Thread 0x7fffebfff700 (LWP 21531)]
[New Thread 0x7fffeb7fe700 (LWP 21532)]
isPrimaryInstance
[New Thread 0x7fffeaffd700 (LWP 21534)]
[New Thread 0x7fffea7fc700 (LWP 21535)]
[New Thread 0x7fffe9ffb700 (LWP 21536)]
[Thread 0x7fffe9ffb700 (LWP 21536) exited]
[New Thread 0x7fffea7fc700 (LWP 21537)]
[Thread 0x7fffea7fc700 (LWP 21535) exited]
[Thread 0x7fffeaffd700 (LWP 21534) exited]
[New Thread 0x7fffe9ffb700 (LWP 21538)]
[New Thread 0x7fffeaffd700 (LWP 21539)]
[New Thread 0x7fffe8a39700 (LWP 21540)]
[New Thread 0x7fffcffff700 (LWP 21541)]
[New Thread 0x7fffcf7fe700 (LWP 21542)]
[New Thread 0x7fffceffd700 (LWP 21543)]
[New Thread 0x7fffcd0bb700 (LWP 21545)]
[New Thread 0x7fffcc8ba700 (LWP 21546)]
[New Thread 0x7fffb88d2700 (LWP 21547)]
[New Thread 0x7fffabfff700 (LWP 21548)]
[New Thread 0x7fffa3fff700 (LWP 21549)]

Thread 1 "pcmanfm-qt" received signal SIGSEGV, Segmentation fault.
0x000000000045be61 in PCManFM::DesktopWindow::setDesktopFolder (
    this=this@entry=0x5764a0)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/desktopwindow.cpp:484
484         proxyModel_->setSourceModel(model_);
Missing separate debuginfos, use: debuginfo-install breeze-5.15.4.1-1.mga7.x86_64 gvfs-1.40.1-4.1.mga7.x86_64 lib64blkid1-2.33.2-1.mga7.x86_64 lib64breezecommon5_5-5.15.4.1-1.mga7.x86_64 lib64bsd0-0.9.1-3.1.mga7.x86_64 lib64bz2_1-1.0.8-1.mga7.x86_64 lib64dbus1_3-1.13.8-4.2.mga7.x86_64 lib64dbusmenu-qt5_2-0.9.3-1.20160218.3.mga7.x86_64 lib64double-conversion1-3.0.0-2.mga7.x86_64 lib64dri-drivers-20.2.3-1.mga7.x86_64 lib64drm2-2.4.102-1.mga7.x86_64 lib64drm_amdgpu1-2.4.102-1.mga7.x86_64 lib64drm_nouveau2-2.4.102-1.mga7.x86_64 lib64drm_radeon1-2.4.102-1.mga7.x86_64 lib64edit0-3.1-0.20181209.1.mga7.x86_64 lib64elfutils1-0.176-1.mga7.x86_64 lib64exif12-0.6.22-1.2.mga7.x86_64 lib64expat1-2.2.7-1.1.mga7.x86_64 lib64ffi6-3.2.1-7.mga7.x86_64 lib64fm_qt6-0.14.1-2.mga7.x86_64 lib64fontconfig1-2.13.1-1.mga7.x86_64 lib64freetype6-2.9.1-4.1.mga7.tainted.x86_64 lib64gcrypt20-1.8.5-1.mga7.x86_64 lib64gio2.0_0-2.60.2-1.4.mga7.x86_64 lib64glapi0-20.2.3-1.mga7.x86_64 lib64glib2.0_0-2.60.2-1.4.mga7.x86_64 lib64gpg-error0-1.36-1.mga7.x86_64 lib64graphite2_3-1.3.13-1.mga7.x86_64 lib64harfbuzz0-2.4.0-1.mga7.x86_64 lib64ice6-1.0.9-6.mga7.x86_64 lib64icu63-63.1-1.2.mga7.x86_64 lib64karchive5-5.57.0-2.mga7.x86_64 lib64kconfigGui5-5.57.0-1.1.mga7.x86_64 lib64kf5authcore5-5.57.0-1.mga7.x86_64 lib64kf5codecs5-5.57.0-1.mga7.x86_64 lib64kf5configwidgets5-5.57.0-1.mga7.x86_64 lib64kf5coreaddons5-5.57.0-1.mga7.x86_64 lib64kf5guiaddons5-5.57.0-1.mga7.x86_64 lib64kf5iconthemes5-5.57.0-1.mga7.x86_64 lib64kf5style5-5.57.0-1.mga7.x86_64 lib64kf5widgetsaddons5-5.57.0-1.mga7.x86_64 lib64lz4_1-1.9.2-1.mga7.x86_64 lib64lzma5-5.2.4-2.mga7.x86_64 lib64menu-cache3-1.1.0-3.mga7.x86_64 lib64mesagl1-20.2.3-1.mga7.x86_64 lib64mount1-2.33.2-1.mga7.x86_64 lib64openssl1.1-1.1.0l-1.1.mga7.x86_64 lib64pciaccess0-0.14-2.mga7.x86_64 lib64pcre1-8.44-1.mga7.x86_64 lib64pcre2_0-10.33-1.2.mga7.x86_64 lib64png16_16-1.6.37-1.mga7.x86_64 lib64qt5core5-5.12.6-4.mga7.x86_64 lib64qt5dbus5-5.12.6-4.mga7.x86_64 lib64qt5gui5-5.12.6-4.mga7.x86_64 lib64qt5qml5-5.12.6-1.mga7.x86_64 lib64qt5quick5-5.12.6-1.mga7.x86_64 lib64qt5widgets5-5.12.6-4.mga7.x86_64 lib64qt5x11extras5-5.12.6-1.mga7.x86_64 lib64qt5xcbqpa5-5.12.6-4.mga7.x86_64 lib64qt5xdgiconloader3-3.3.1-2.mga7.x86_64 lib64qt5xml5-5.12.6-4.mga7.x86_64 lib64sm6-1.2.3-1.mga7.x86_64 lib64systemd0-241-8.5.mga7.x86_64 lib64x11-xcb1-1.6.12-1.mga7.x86_64 lib64x11_6-1.6.12-1.mga7.x86_64 lib64xau6-1.0.9-1.mga7.x86_64 lib64xcb-dri2_0-1.13.1-1.mga7.x86_64 lib64xcb-dri3_0-1.13.1-1.mga7.x86_64 lib64xcb-glx0-1.13.1-1.mga7.x86_64 lib64xcb-icccm4-0.4.1-5.mga7.x86_64 lib64xcb-present0-1.13.1-1.mga7.x86_64 lib64xcb-render0-1.13.1-1.mga7.x86_64 lib64xcb-shape0-1.13.1-1.mga7.x86_64 lib64xcb-shm0-1.13.1-1.mga7.x86_64 lib64xcb-sync1-1.13.1-1.mga7.x86_64 lib64xcb-util-image0-0.4.0-3.mga7.x86_64 lib64xcb-util-keysyms1-0.4.0-4.mga7.x86_64 lib64xcb-util-renderutil0-0.3.9-5.mga7.x86_64 lib64xcb-util1-0.4.0-3.mga7.x86_64 lib64xcb-xfixes0-1.13.1-1.mga7.x86_64 lib64xcb-xkb1-1.13.1-1.mga7.x86_64 lib64xcb1-1.13.1-1.mga7.x86_64 lib64xdamage1-1.1.5-1.mga7.x86_64 lib64xdmcp6-1.1.3-1.mga7.x86_64 lib64xext6-1.3.4-1.mga7.x86_64 lib64xml2_2-2.9.9-2.4.mga7.x86_64 lib64xshmfence1-1.3-2.mga7.x86_64 lib64zlib1-1.2.11-7.mga7.x86_64 libgcc1-8.4.0-1.mga7.x86_64 libstdc++6-8.4.0-1.mga7.x86_64
(gdb) bt full
#0  0x000000000045be61 in PCManFM::DesktopWindow::setDesktopFolder()
    (this=this@entry=0x5764a0)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/desktopwindow.cpp:484
        path = 
            {gfile_ = {gobj_ = 0x7fffd8001480}, static homeDir_ = {gfile_ = {gobj_ = 0x0}, static homeDir_ = <same as static member of an already seen type>}}
#1  0x000000000045f055 in PCManFM::DesktopWindow::updateFromSettings(PCManFM::Settings&, bool)
    (this=this@entry=0x5764a0, settings=..., changeSlide=changeSlide@entry=true)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/desktopwindow.cpp:718
        wallpaperDir = {static null = {<No data fields>}, d = 0x2ff}
        interval = <optimized out>
#2  0x0000000000428b80 in PCManFM::Application::createDesktopWindow(int)
    (this=this@entry=0x7fffffffd900, screenNum=screenNum@entry=1)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/application.cpp:622
        window = 0x5764a0
#3  0x000000000042967f in PCManFM::Application::desktopManager(bool)
    (this=this@entry=0x7fffffffd900, enabled=enabled@entry=true)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/application.cpp:414
        window = 0x5766c0
--Type <RET> for more, q to quit, c to continue without paging--
        i = 1
        allScreens = 
            {<QListSpecialMethods<QScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x4f4390}, d = 0x4f4390}}
#4  0x000000000042c456 in PCManFM::Application::parseCommandLineArgs()
    (this=this@entry=0x7fffffffd900)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/application.cpp:224
        perFolderConfigFile = {static null = {<No data fields>}, d = 0x57eb60}
        keepRunning = false
        parser = {d = 0x5b10f0}
        profileOption = {d = {d = 0x5b0c10}}
        daemonOption = {d = {d = 0x5b0ea0}}
        quitOption = {d = {d = 0x5ae410}}
        desktopOption = {d = {d = 0x5aef80}}
        desktopOffOption = {d = {d = 0x555f60}}
        desktopPrefOption = {d = {d = 0x557b10}}
        newWindowOption = {d = {d = 0x5aec00}}
        findFilesOption = {d = {d = 0x5aa5f0}}
--Type <RET> for more, q to quit, c to continue without paging--
        setWallpaperOption = {d = {d = 0x556eb0}}
        wallpaperModeOption = {d = {d = 0x551eb0}}
        showPrefOption = {d = {d = 0x5ae680}}
#5  0x000000000042dde9 in PCManFM::Application::exec() (this=0x7fffffffd900)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/application.cpp:319
#6  0x0000000000423af0 in main(int, char**)
    (argc=<optimized out>, argv=0x7fffffffdc28)
    at /usr/src/debug/pcmanfm-qt-0.14.1-2.mga7.x86_64/pcmanfm/pcmanfm.cpp:13
        app = 
          {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff7d8d600 <QApplication::staticMetaObject>, stringdata = 0x478160 <qt_meta_stringdata_PCManFM__Application>, data = 0x477f80 <qt_meta_data_PCManFM__Application>, static_metacall = 0x424740 <PCManFM::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, isPrimaryInstance = true, libFm_ = {d = 0x558a40}, settings_ = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff71cf900 <QObject::staticMetaObject>, stringdata = 0x475140 <qt_meta_stringdata_PCManFM__Settings>, data = 0x475100 <qt_meta_data_PCManFM__Settings>, static_metacall = 0x423bf0 <PCManFM::Settings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, profileName_ = {static null = {<No data fields>}, d = 0x5a8fd0}, su--Type <RET> for more, q to quit, c to continue without paging--
pportTrash_ = true, fallbackIconThemeName_ = {static null = {<No data fields>}, d = 0x5b02e0}, useFallbackIconTheme_ = false, bookmarkOpenMethod_ = PCManFM::OpenInCurrentTab, suCommand_ = {static null = {<No data fields>}, d = 0x5b28f0}, terminal_ = {static null = {<No data fields>}, d = 0x5b2a90}, mountOnStartup_ = true, mountRemovable_ = true, autoRun_ = true, closeOnUnmount_ = true, wallpaperMode_ = 0, wallpaper_ = {static null = {<No data fields>}, d = 0x5b3c30}, lastSlide_ = {static null = {<No data fields>}, d = 0x5b2c20}, wallpaperDir_ = {static null = {<No data fields>}, d = 0x5b2c80}, slideShowInterval_ = 0, wallpaperRandomize_ = false, desktopBgColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}, desktopFgColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 65535, green = 65535, blue = 65535, pad = 0}, ahsv = {alpha = 65535, hue = 65535, saturation = 65535, value = 65535, pad = 0}, acmyk = {alpha = 65535, cyan = 65535, magenta = 65535, yellow = 65535, black = 0}, ahsl = {alpha = 65535, hue = 65535, saturation = 65535, lightness = 65535, pad = 0}, array = {65535, 65535, 65535, 65535, 0}}}, desktopShadowColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue --Type <RET> for more, q to quit, c to continue without paging--
= 0, saturation = 0, lightness = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}, desktopFont_ = {static staticMetaObject = {d = {superdata = 0x0, stringdata = 0x7ffff76b69c0, data = 0x7ffff76b6700, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {d = 0x5ab6f0}, resolve_mask = 895}, desktopIconSize_ = 48, desktopShortcuts_ = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7019a80 <QListData::shared_null>}, d = 0x7ffff7019a80 <QListData::shared_null>}}, <No data fields>}, showWmMenu_ = false, desktopShowHidden_ = false, desktopHideItems_ = false, desktopSortOrder_ = Qt::AscendingOrder, desktopSortColumn_ = Fm::FolderModel::ColumnFileName, desktopSortFolderFirst_ = true, alwaysShowTabs_ = true, showTabClose_ = true, rememberWindowSize_ = true, fixedWindowWidth_ = 640, fixedWindowHeight_ = 480, lastWindowWidth_ = 860, lastWindowHeight_ = 480, lastWindowMaximized_ = false, splitterPos_ = 150, sidePaneMode_ = Fm::SidePane::ModePlaces, showMenuBar_ = true, splitView_ = false, viewMode_ = Fm::FolderView::DetailedListMode, showHidden_ = false, sortOrder_ = Qt::AscendingOrder, sortColumn_ = Fm::FolderModel::ColumnFileName, sortFolderFirst_ = true, sortCaseSensitive_ = false, showFilter_ = false, pathBarButtons_ = true, singleClick_ = false, autoSelectionDelay_ = 600, useTrash_ = true, confirmDelete_ = true, noUsbTrash_ = false, confirmTrash_ = false, quickExec_ = false, selectNewFiles_ = false, showThumbnails_ = true, archiver_ = {static --Type <RET> for more, q to quit, c to continue without paging--
null = {<No data fields>}, d = 0x5b0bd0}, siUnit_ = false, backupAsHidden_ = false, showFullNames_ = false, shadowHidden_ = false, placesHome_ = true, placesDesktop_ = true, placesApplications_ = true, placesTrash_ = true, placesRoot_ = true, placesComputer_ = true, placesNetwork_ = true, hiddenPlaces_ = {q_hash = {{d = 0x5b9ff0, e = 0x5b9ff0}}}, bigIconSize_ = 48, smallIconSize_ = 24, sidePaneIconSize_ = 24, thumbnailIconSize_ = 128, onlyUserTemplates_ = false, templateTypeOnce_ = false, templateRunApp_ = false, folderViewCellMargins_ = {wd = 3, ht = 3}, desktopCellMargins_ = {wd = 3, ht = 1}, searchNameCaseInsensitive_ = false, searchContentCaseInsensitive_ = false, searchNameRegexp_ = true, searchContentRegexp_ = true, searchRecursive_ = false, searchhHidden_ = false, customColumnWidths_ = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7019a80 <QListData::shared_null>}, d = 0x7ffff7019a80 <QListData::shared_null>}}, hiddenColumns_ = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7019a80 <QListData::shared_null>}, d = 0x7ffff7019a80 <QListData::shared_null>}}}, profileName_ = {static null = {<No data fields>}, d = 0x5a8fd0}, daemonMode_ = false, enableDesktopManager_ = false, desktopWindows_ = {d = 0x5bb090}, preferencesDialog_ = {wp = {d = 0x0, value = 0x0}--Type <RET> for more, q to quit, c to continue without paging--
}, desktopPreferencesDialog_ = {wp = {d = 0x0, value = 0x0}}, editBookmarksialog_ = {wp = {d = 0x0, value = 0x0}}, translator = <incomplete type>, qtTranslator = <incomplete type>, volumeMonitor_ = 0x0, userDirsWatcher_ = 0x5562f0, userDirsFile_ = {static null = {<No data fields>}, d = 0x5ade30}, userDesktopFolder_ = {static null = {<No data fields>}, d = 0x5b00c0}, lxqtRunning_ = true, argc_ = 2, argv_ = 0x7fffffffdc28}
(gdb) 
tsujan commented 3 years ago

0.14.X is outdated.

zatox19 commented 3 years ago

Sur mon ordi de bureau j'ai pcmanfm version 1.3.1 et pcmanfm-qt version 0.14.1 et je n'ai pas de problème alors que j'ai les mêmes versions sur portable qui posent problème !

tsujan commented 3 years ago

We don't have "LTS" in LXQt. Old versions are old memories.

papoteur-mga commented 3 years ago

Hello tsujan, The user report that the same error happens in Mageia 8, using 0.16 LXQt. See https://www.mageialinux-online.org/forum/topic-28208-3+lxqt-probleme-bureau.php#m277915 He get the message (my translation) Desktop crashed several times. Automatic restart has been disabled until the next boot. However, he can't get a backtrace with pcmanfm-qt --desktop command, the crash doesn't occur. Is there another command to launch?

tsujan commented 3 years ago

@papoteur-mga When a crash isn't reproducible, nothing can be done — an app can crash for many reasons outside its code (a bad build, a build against an older version of Qt, an incompatible library version,...).

Either the sufficient conditions for the crash should be found and reported or a meaningful backtrace against the latest release of pcmanfm-qt should be provided.

tsujan commented 3 years ago

I'm getting suspicious that the problem may be about Mageia's packages. Are they built correctly (without external patches and against the installed Qt version, etc.)?

tsujan commented 3 years ago

Quoting from that page:

"Ce que veut dire tsujan, c'est qu'ils ne regarderont des rapports de bogues que sur la version actuelle, pas sur la 0.14 de Mageia 7 qu'ils considèrent comme ancienne."

I think there may a misunderstanding here. I didn't mean Mageia's version but LXQt version. 0.14 was released about 2 years ago; LXQt has changed a lot since then.

papoteur-mga commented 3 years ago

This is what we understand. The crash is reproducible, but not in gdb context. My question is to know which command is launched when the crash occurs. The user has several machines, some of them are OK with LXQt, but no this one, either in Mageia 7 or Mageia 8.

against the latest release of pcmanfm-qt

this is not something you can ask to an end user.

tsujan commented 3 years ago

The crash is reproducible, but not in gdb context.

"Reproducible" means reproducible for LXQt devs, who have the latest git LXQt.

this is not something you can ask to an end user

It's exactly what we ask users. As I said more than once and in various ways, we don't support old versions; they're dead.

papoteur-mga commented 3 years ago

Hello, Here is the crash from the 0.16.0 release.

uname -a
Linux localhost.localdomain 5.10.3-desktop-1.mga8 #1 SMP Sat Dec 26 16:25:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[robert@localhost ~]$ echo ${XDG_CURRENT_DESKTOP}
LXQt
[robert@localhost ~]$ gdb -ex=r --batch --args pcmanfm-qt --desktop
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff2aff640 (LWP 2575)]
[New Thread 0x7ffff0b23640 (LWP 2577)]
[New Thread 0x7fffebfff640 (LWP 2578)]
[New Thread 0x7fffeb7fe640 (LWP 2579)]
[New Thread 0x7fffeaffd640 (LWP 2581)]
[New Thread 0x7fffea7fc640 (LWP 2582)]
[New Thread 0x7fffe9ffb640 (LWP 2583)]
[Thread 0x7fffe9ffb640 (LWP 2583) exited]
[New Thread 0x7fffea7fc640 (LWP 2584)]
[Thread 0x7fffea7fc640 (LWP 2582) exited]
[Thread 0x7fffeaffd640 (LWP 2581) exited]
[New Thread 0x7fffeaffd640 (LWP 2585)]
[New Thread 0x7fffe9ffb640 (LWP 2586)]
[New Thread 0x7fffe88d3640 (LWP 2587)]
[New Thread 0x7fffcffff640 (LWP 2588)]
[New Thread 0x7fffcf7fe640 (LWP 2589)]
[New Thread 0x7fffceffd640 (LWP 2590)]
[New Thread 0x7fffcd11d640 (LWP 2592)]
[New Thread 0x7fffb7c92640 (LWP 2593)]
[New Thread 0x7fffb7491640 (LWP 2594)]
[New Thread 0x7fffb6c90640 (LWP 2595)]
[New Thread 0x7fffb648f640 (LWP 2596)]

Thread 1 "pcmanfm-qt" received signal SIGSEGV, Segmentation fault.
0x000000000045a075 in PCManFM::DesktopWindow::setDesktopFolder (this=this@entry=0x695aa0) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/desktopwindow.cpp:486
486         proxyModel_->setSourceModel(model_);

Is this version too old?

tsujan commented 3 years ago

Is this version too old?

No, but please provide a meaningful backtrace like the one you provided for 0.14. Then, the issue could be reopened because there will be something to work on.

tsujan commented 3 years ago

Some thoughts after the reporter's last comment:

Among so many changes that have been made to desktop since 0.14, this one is fundamental: https://github.com/lxqt/pcmanfm-qt/commit/2b295081a7b5c3f1e3f5c0d4a813ee780626c252.

Therefore, if a crash is possible with both 0.14 and 0.16, the responsible code should be common to both. The only scenario that seems possible to me is a problem in screen creation (in X11 or WM?), so that the proxy model is never created. That leads to the conclusion that a nullity check should be added to the code. Hence reopening...

I'll add the nullity check tonight.

papoteur-mga commented 3 years ago

Here the full backtrace:

[robert@localhost ~]$ gdb --args pcmanfm-qt --desktop
GNU gdb (GDB) 10.1-4.mga8 (Mageia release 8)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-mageia-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from pcmanfm-qt...
Reading symbols from /usr/lib/debug/usr/bin/pcmanfm-qt-0.16.0-2.mga8.x86_64.debug...
(gdb) set pagination off
(gdb) run
Starting program: /usr/bin/pcmanfm-qt --desktop
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff2aff640 (LWP 12160)]
[New Thread 0x7ffff0b23640 (LWP 12162)]
[New Thread 0x7fffebfff640 (LWP 12163)]
[New Thread 0x7fffeb7fe640 (LWP 12164)]
[New Thread 0x7fffeaffd640 (LWP 12166)]
[New Thread 0x7fffea7fc640 (LWP 12167)]
[New Thread 0x7fffe9ffb640 (LWP 12168)]
[Thread 0x7fffe9ffb640 (LWP 12168) exited]
[New Thread 0x7fffeaffd640 (LWP 12169)]
[Thread 0x7fffea7fc640 (LWP 12167) exited]
[Thread 0x7fffeaffd640 (LWP 12166) exited]
[New Thread 0x7fffea7fc640 (LWP 12170)]
[New Thread 0x7fffe9ffb640 (LWP 12171)]
[New Thread 0x7fffe88d3640 (LWP 12172)]
[New Thread 0x7fffcffff640 (LWP 12173)]
[New Thread 0x7fffcf7fe640 (LWP 12174)]
[New Thread 0x7fffceffd640 (LWP 12175)]
[New Thread 0x7fffcd11d640 (LWP 12177)]
[New Thread 0x7fffb7c92640 (LWP 12178)]
[New Thread 0x7fffb7491640 (LWP 12179)]
[New Thread 0x7fffb6c90640 (LWP 12180)]
[New Thread 0x7fffb648f640 (LWP 12181)]

Thread 1 "pcmanfm-qt" received signal SIGSEGV, Segmentation fault.
0x000000000045a075 in PCManFM::DesktopWindow::setDesktopFolder (this=this@entry=0x6bb480) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/desktopwindow.cpp:486
486         proxyModel_->setSourceModel(model_);
Missing separate debuginfos, use: debuginfo-install breeze-5.20.4-1.mga8.x86_64 gvfs-1.46.1-1.mga8.x86_64 lib64blkid1-2.36.1-4.mga8.x86_64 lib64breezecommon5_5-5.20.4-1.mga8.x86_64 lib64bsd0-0.10.0-2.mga8.x86_64 lib64bz2_1-1.0.8-2.mga8.x86_64 lib64com_err2-1.45.6-6.mga8.x86_64 lib64dbus1_3-1.13.18-3.mga8.x86_64 lib64dbusmenu-qt5_2-0.9.3-1.20160218.4.mga8.x86_64 lib64double-conversion3-3.1.5-2.mga8.x86_64 lib64dri-drivers-20.3.1-2.mga8.x86_64 lib64drm2-2.4.103-1.mga8.x86_64 lib64drm_amdgpu1-2.4.103-1.mga8.x86_64 lib64drm_intel1-2.4.103-1.mga8.x86_64 lib64drm_nouveau2-2.4.103-1.mga8.x86_64 lib64edit0-3.1-0.20191231.2.mga8.x86_64 lib64elfutils1-0.182-1.mga8.x86_64 lib64exif12-0.6.22-3.mga8.x86_64 lib64fam0-0.1.10-20.mga8.x86_64 lib64ffi7-3.3-2.mga8.x86_64 lib64fm-qt8-0.16.0-5.mga8.x86_64 lib64fontconfig1-2.13.93-4.mga8.x86_64 lib64freetype6-2.10.4-1.mga8.tainted.x86_64 lib64gcrypt20-1.8.7-1.mga8.x86_64 lib64gio2.0_0-2.66.4-1.mga8.x86_64 lib64gl1-1.3.2-16.mga8.x86_64 lib64glapi0-20.3.1-2.mga8.x86_64 lib64glib2.0_0-2.66.4-1.mga8.x86_64 lib64glx0-1.3.2-16.mga8.x86_64 lib64gpg-error0-1.39-1.mga8.x86_64 lib64graphite2_3-1.3.14-1.mga8.x86_64 lib64harfbuzz0-2.7.3-1.mga8.x86_64 lib64icu68-68.1-1.mga8.x86_64 lib64kf5archive5-5.76.0-1.mga8.x86_64 lib64kf5authcore5-5.76.0-1.mga8.x86_64 lib64kf5configgui5-5.76.0-1.mga8.x86_64 lib64kf5coreaddons5-5.76.0-1.mga8.x86_64 lib64kf5guiaddons5-5.76.0-1.mga8.x86_64 lib64kf5i18n5-5.76.0-1.mga8.x86_64 lib64kf5iconthemes5-5.76.0-1.mga8.x86_64 lib64kf5itemviews5-5.76.0-1.mga8.x86_64 lib64kf5style5-5.76.0-1.mga8.x86_64 lib64kf5widgetsaddons5-5.76.0-1.mga8.x86_64 lib64kf5windowsystem5-5.76.0-1.mga8.x86_64 lib64krb53-1.18.3-1.mga8.x86_64 lib64lz4_1-1.9.3-1.mga8.x86_64 lib64lzma5-5.2.5-1.mga8.x86_64 lib64md4c0-0.4.6-1.mga8.x86_64 lib64menu-cache3-1.1.0-5.mga8.x86_64 lib64mesagl1-20.3.1-2.mga8.x86_64 lib64mount1-2.36.1-4.mga8.x86_64 lib64pciaccess0-0.16-2.mga8.x86_64 lib64pcre1-8.44-1.mga8.x86_64 lib64pcre2_0-10.36-1.mga8.x86_64 lib64png16_16-1.6.37-2.mga8.x86_64 lib64qt5core5-5.15.2-2.mga8.x86_64 lib64qt5dbus5-5.15.2-2.mga8.x86_64 lib64qt5gui5-5.15.2-2.mga8.x86_64 lib64qt5qml5-5.15.2-1.mga8.x86_64 lib64qt5qmlmodels5-5.15.2-1.mga8.x86_64 lib64qt5quick5-5.15.2-1.mga8.x86_64 lib64qt5svg5-5.15.2-1.mga8.x86_64 lib64qt5widgets5-5.15.2-2.mga8.x86_64 lib64qt5x11extras5-5.15.2-1.mga8.x86_64 lib64qt5xcbqpa5-5.15.2-2.mga8.x86_64 lib64qt5xdgiconloader3-3.6.0-3.mga8.x86_64 lib64sm6-1.2.3-2.mga8.x86_64 lib64systemd0-246.9-1.mga8.x86_64 lib64vulkan-loader1-1.2.154.1-2.mga8.x86_64 lib64x11-xcb1-1.7.0-1.mga8.x86_64 lib64x11_6-1.7.0-1.mga8.x86_64 lib64xau6-1.0.9-2.mga8.x86_64 lib64xcb-dri3_0-1.14-1.mga8.x86_64 lib64xcb-icccm4-0.4.1-6.mga8.x86_64 lib64xcb-present0-1.14-1.mga8.x86_64 lib64xcb-randr0-1.14-1.mga8.x86_64 lib64xcb-render0-1.14-1.mga8.x86_64 lib64xcb-shape0-1.14-1.mga8.x86_64 lib64xcb-sync1-1.14-1.mga8.x86_64 lib64xcb-util-keysyms1-0.4.0-5.mga8.x86_64 lib64xcb-util-renderutil0-0.3.9-6.mga8.x86_64 lib64xcb-util1-0.4.0-4.mga8.x86_64 lib64xcb-xinerama0-1.14-1.mga8.x86_64 lib64xcb-xkb1-1.14-1.mga8.x86_64 lib64xcb1-1.14-1.mga8.x86_64 lib64xcursor1-1.2.0-2.mga8.x86_64 lib64xdamage1-1.1.5-2.mga8.x86_64 lib64xdmcp6-1.1.3-2.mga8.x86_64 lib64xfixes3-5.0.3-3.mga8.x86_64 lib64xkbcommon0-1.0.3-1.mga8.x86_64 lib64xml2_2-2.9.10-6.mga8.x86_64 lib64xrender1-0.9.10-3.mga8.x86_64 lib64zlib1-1.2.11-9.mga8.x86_64 lib64zstd1-1.4.8-1.mga8.x86_64 libgcc1-10.2.1-0.20201226.1.mga8.x86_64 libstdc++6-10.2.1-0.20201226.1.mga8.x86_64
(gdb) bt full
#0  0x000000000045a075 in PCManFM::DesktopWindow::setDesktopFolder() (this=this@entry=0x6bb480) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/desktopwindow.cpp:486
        path = {gfile_ = {gobj_ = 0x6ad220}, static homeDir_ = {gfile_ = {gobj_ = 0x0}, static homeDir_ = <same as static member of an already seen type>}}
#1  0x000000000045fe5c in PCManFM::DesktopWindow::updateFromSettings(PCManFM::Settings&, bool) (this=this@entry=0x6bb480, settings=..., changeSlide=changeSlide@entry=true) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/desktopwindow.cpp:853                      
        wallpaperDir = {static null = {<No data fields>}, d = 0x300}
        interval = <optimized out>
#2  0x0000000000429514 in PCManFM::Application::createDesktopWindow(int) (this=this@entry=0x7fffffffda60, screenNum=screenNum@entry=1) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/application.cpp:675                                                             
        window = 0x6bb480
#3  0x000000000042b297 in PCManFM::Application::desktopManager(bool) (this=this@entry=0x7fffffffda60, enabled=enabled@entry=true) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/application.cpp:422                                                                  
        window = 0x5d5de0
        i = 1
        allScreens = {<QListSpecialMethods<QScreen*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x4fe230}, d = 0x4fe230}}
#4  0x000000000042d783 in PCManFM::Application::parseCommandLineArgs() (this=this@entry=0x7fffffffda60) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/application.cpp:228
        perFolderConfigFile = {static null = {<No data fields>}, d = 0x5698f0}
        keepRunning = false
        parser = {d = 0x587880}
        profileOption = {d = {d = 0x56d3c0}}
        daemonOption = {d = {d = 0x5cf7b0}}
        quitOption = {d = {d = 0x5d04f0}}
        desktopOption = {d = {d = 0x5d0ee0}}
        desktopOffOption = {d = {d = 0x571b00}}
        desktopPrefOption = {d = {d = 0x56abe0}}
        newWindowOption = {d = {d = 0x56d630}}
        findFilesOption = {d = {d = 0x56b400}}
        setWallpaperOption = {d = {d = 0x5cfd50}}
        wallpaperModeOption = {d = {d = 0x56c1e0}}
        showPrefOption = {d = {d = 0x572f30}}
#5  0x000000000042e079 in PCManFM::Application::exec() (this=0x7fffffffda60) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/application.cpp:327                            
#6  0x0000000000425e91 in main(int, char**) (argc=<optimized out>, argv=0x7fffffffddb8) at /usr/src/debug/pcmanfm-qt-0.16.0-2.mga8.x86_64/pcmanfm/pcmanfm.cpp:13                      
        app = {<QApplication> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff7db2fa0 <QApplication::staticMetaObject>}, stringdata = 0x4770c0 <qt_meta_stringdata_PCManFM__Application>, data = 0x476ee0 <qt_meta_data_PCManFM__Application>, static_metacall = 0x426b80 <PCManFM::Application::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, isPrimaryInstance = true, libFm_ = {d = 0x584130}, settings_ = {<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = {direct = 0x7ffff70d7120 <QObject::staticMetaObject>}, stringdata = 0x473e80 <qt_meta_stringdata_PCManFM__Settings>, data = 0x473e40 <qt_meta_data_PCManFM__Settings>, static_metacall = 0x425fc0 <PCManFM::Settings::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, profileName_ = {static null = {<No data fields>}, d = 0x478480 <PCManFM::Application::Application(int&, char**)::{lambda()#1}::operator()() const::qstring_literal>}, supportTrash_ = true, fallbackIconThemeName_ = {static null = {<No data fields>}, d = 0x5d15f0}, useFallbackIconTheme_ = false, singleWindowMode_ = false, bookmarkOpenMethod_ = PCManFM::OpenInCurrentTab, suCommand_ = {static null = {<No data fields>}, d = 0x5d38f0}, terminal_ = {static null = {<No data fields>}, d = 0x5d3a90}, mountOnStartup_ = true, mountRemovable_ = true, autoRun_ = true, closeOnUnmount_ = true, wallpaperMode_ = 0, wallpaper_ = {static null = {<No data fields>}, d = 0x5d51b0}, wallpaperDialogSize_ = {wd = 700, ht = 500}, wallpaperDialogSplitterPos_ = 200, lastSlide_ = {static null = {<No data fields>}, d = 0x5d3b00}, wallpaperDir_ = {static null = {<No data fields>}, d = 0x5d57c0}, slideShowInterval_ = 0, wallpaperRandomize_ = false, transformWallpaper_ = false, perScreenWallpaper_ = false, desktopBgColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 0, greenF16 = 0, blueF16 = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}, desktopFgColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 65535, green = 65535, blue = 65535, pad = 0}, ahsv = {alpha = 65535, hue = 65535, saturation = 65535, value = 65535, pad = 0}, acmyk = {alpha = 65535, cyan = 65535, magenta = 65535, yellow = 65535, black = 0}, ahsl = {alpha = 65535, hue = 65535, saturation = 65535, lightness = 65535, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 65535, greenF16 = 65535, blueF16 = 65535, pad = 0}, array = {65535, 65535, 65535, 65535, 0}}}, desktopShadowColor_ = {cspec = QColor::Rgb, ct = {argb = {alpha = 65535, red = 0, green = 0, blue = 0, pad = 0}, ahsv = {alpha = 65535, hue = 0, saturation = 0, value = 0, pad = 0}, acmyk = {alpha = 65535, cyan = 0, magenta = 0, yellow = 0, black = 0}, ahsl = {alpha = 65535, hue = 0, saturation = 0, lightness = 0, pad = 0}, argbExtended = {alphaF16 = 65535, redF16 = 0, greenF16 = 0, blueF16 = 0, pad = 0}, array = {65535, 0, 0, 0, 0}}}, desktopFont_ = {static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7ffff76bc640, data = 0x7ffff76bc2c0, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {d = 0x5d2d30}, resolve_mask = 895}, desktopIconSize_ = 48, desktopShortcuts_ = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff6ef3490 <QListData::shared_null>}, d = 0x7ffff6ef3490 <QListData::shared_null>}}, <No data fields>}, desktopShowHidden_ = false, desktopHideItems_ = false, desktopSortOrder_ = Qt::AscendingOrder, desktopSortColumn_ = Fm::FolderModel::ColumnFileName, desktopSortFolderFirst_ = true, desktopSortHiddenLast_ = false, alwaysShowTabs_ = true, showTabClose_ = true, switchToNewTab_ = false, reopenLastTabs_ = false, tabPaths_ = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff6ef3490 <QListData::shared_null>}, d = 0x7ffff6ef3490 <QListData::shared_null>}}, <No data fields>}, rememberWindowSize_ = true, fixedWindowWidth_ = 640, fixedWindowHeight_ = 480, lastWindowWidth_ = 1197, lastWindowHeight_ = 480, lastWindowMaximized_ = false, splitterPos_ = 150, sidePaneVisible_ = true, sidePaneMode_ = Fm::SidePane::ModePlaces, showMenuBar_ = true, splitView_ = false, viewMode_ = Fm::FolderView::FirstViewMode, showHidden_ = false, sortOrder_ = Qt::AscendingOrder, sortColumn_ = Fm::FolderModel::ColumnFileName, sortFolderFirst_ = true, sortHiddenLast_ = false, sortCaseSensitive_ = false, showFilter_ = false, pathBarButtons_ = true, singleClick_ = false, autoSelectionDelay_ = 600, ctrlRightClick_ = false, useTrash_ = true, confirmDelete_ = true, noUsbTrash_ = false, confirmTrash_ = false, quickExec_ = false, selectNewFiles_ = false, showThumbnails_ = true, archiver_ = {static null = {<No data fields>}, d = 0x56b140}, siUnit_ = false, backupAsHidden_ = false, showFullNames_ = true, shadowHidden_ = true, noItemTooltip_ = false, hiddenPlaces_ = {q_hash = {{d = 0x56b270, e = 0x56b270}}}, bigIconSize_ = 48, smallIconSize_ = 24, sidePaneIconSize_ = 24, thumbnailIconSize_ = 128, onlyUserTemplates_ = false, templateTypeOnce_ = false, templateRunApp_ = false, folderViewCellMargins_ = {wd = 3, ht = 3}, desktopCellMargins_ = {wd = 3, ht = 1}, openWithDefaultFileManager_ = false, searchNameCaseInsensitive_ = false, searchContentCaseInsensitive_ = false, searchNameRegexp_ = true, searchContentRegexp_ = true, searchRecursive_ = false, searchhHidden_ = false, customColumnWidths_ = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff6ef3490 <QListData::shared_null>}, d = 0x7ffff6ef3490 <QListData::shared_null>}}, hiddenColumns_ = {<QListSpecialMethods<QVariant>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff6ef3490 <QListData::shared_null>}, d = 0x7ffff6ef3490 <QListData::shared_null>}}}, profileName_ = {static null = {<No data fields>}, d = 0x478480 <PCManFM::Application::Application(int&, char**)::{lambda()#1}::operator()() const::qstring_literal>}, daemonMode_ = false, enableDesktopManager_ = false, desktopWindows_ = {d = 0x5dd730}, preferencesDialog_ = {wp = {d = 0x0, value = 0x0}}, desktopPreferencesDialog_ = {wp = {d = 0x0, value = 0x0}}, editBookmarksialog_ = {wp = {d = 0x0, value = 0x0}}, translator = <incomplete type>, qtTranslator = <incomplete type>, volumeMonitor_ = 0x0, userDirsWatcher_ = 0x56c070, userDirsFile_ = {static null = {<No data fields>}, d = 0x5d1cc0}, userDesktopFolder_ = {static null = {<No data fields>}, d = 0x5d0c40}, lxqtRunning_ = true, argc_ = 2, argv_ = 0x7fffffffddb8}
(gdb) 
tsujan commented 3 years ago

Here the full backtrace:

It confirms my suspicion. Thanks!

An answer to the following question would be useful (although not needed for the patch): Under which circumstances does the crash happen? I ask because those circumstances can't be normal.

papoteur-mga commented 3 years ago

A

An answer to the following question would be useful (although not needed for the patch): Under which circumstances does the crash happen? I ask because those circumstances can't be normal.

This error occurs at opening the session

tsujan commented 3 years ago

This error occurs at opening the session

My question was about the difference of the session that causes the crash from a normal session. Definitely, there is a difference; otherwise, all LXQt users open a session and see no crash -- I use pcmanfm-qt under LXQt session for years.

papoteur-mga commented 3 years ago

The user reported that he installed Mageia 7 (LXQt 0.14) and 8 (LXQt 0.16) on two different machine. One is OK, not the other, with both Mageia 7 and 8. Even with a new user the error occurs. I will ask him again about what can be different in the installation.

tsujan commented 3 years ago

Anyway, the PR is here: https://github.com/lxqt/pcmanfm-qt/pull/1278. It'll be in 0.17. If you want to test it (which would be appreciated), you'll need to apply it to 0.16 manually.

Please note that, although the PR was logically needed (thanks to your last backtrace), there's no guarantee that you won't see weird things under the special circumstances that caused the crash — unless you find out exactly what those circumstances are and report them.

papoteur-mga commented 3 years ago

Do you have some tracks about where to look for what can be abnormal ? Environment variables ? I will ask to packagers to include the patch. Can it be also applied to 0.14?

tsujan commented 3 years ago

Do you have some tracks about where to look for what can be abnormal ?

Sorry, I have no clue. I've never encountered the crash with any window manager, compositor, or desktop display manager (sddm, lightdm, gdm).

Can it be also applied to 0.14?

No, because many changes have been made since 0.14; https://github.com/lxqt/pcmanfm-qt/commit/2b295081a7b5c3f1e3f5c0d4a813ee780626c252 is only one of them.

papoteur-mga commented 3 years ago

Hello, We applied the commit against 0.16.0 in Mageia cauldron. This is now OK. Thanks a lot. See https://www.mageialinux-online.org/forum/topic-28208-4+lxqt-probleme-bureau.php#m278079

tsujan commented 3 years ago

Thanks for testing and telling about the result!

I can see a problem in the screenshot of the link that you attached to your last comment: the wallpaper isn't scaled correctly. That may be one of the "weird things" I mentioned in https://github.com/lxqt/pcmanfm-qt/issues/1273#issuecomment-752710089.

Please add a comment here if you find the difference of that special session from a normal one! It could help us make the app better.

papoteur-mga commented 3 years ago

Could it be some information about the screen badly reported? Which lib or tool is used for that?

tsujan commented 3 years ago

I have no idea — I was able to make the PR only because of your good backtrace — but it should be related to the screen.