- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
P2: Important
 - 
    6.5.0
 - 
    None
 
- 
        
 - 
        666ce51d4 (dev)
 - 
        Foundation Sprint 84
 
Normally Qt seems to load plugins on Linux with RTLD_NODELETE flag set. But when the a plugin is available via multiple paths (via symlinks) this flag is not set.
This results in differences in linker debug output (LD_DEBUG=files):
834d833 < activating NODELETE for /home/iemeshch/repos/build-qt5/qtbase/plugins/platformthemes/libqgtk3.so [0] 1228a1228,1229 > > file=/home/iemeshch/repos/build-qt5/qtbase/plugins/platformthemes/libqgtk3.so [0]; destroying link map
I'm not sure jet whether there are any more serious problems with this, but I also don't think that this behavior is intentional. This is easier to reproduce with NixOS, but it is not required (replace Qt build path, this assumes dev build):
$ mkdir build
$ cd build
$ <qt-build-path>/qtbase/bin/qt-cmake ..
$ make
$ mkdir -p plugins/platformthemes/
$ ln -s <qt-build-path>/qtbase/plugins/platformthemes/libqgtk3.so plugins/platformthemes
$ LD_DEBUG=files QT_QPA_PLATFORMTHEME=gtk3 QT_PLUGIN_PATH=$PWD/plugins  ./simple-crash
I'm attaching the test program and two filtered outputs: with and without QT_PLUGIN_PATH.
- resulted from
 - 
                    
QTBUG-112258 QDBusConnection segmentation fault
-         
 - Closed
 
 -