Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.3.2
-
None
Description
Out QTest-based tests were found to crash on the system without display, where Qt will create a fake screen, but the test crashed somewhere in the test body. Sorry that I can't get a complete crash stack trace because I'm not clear on how to get the same configurations locally (the crash was found on our cloud testing service).
This is the Qt log. In the crash cases, the fake screen is always created with: geometry=0x0+0+0, availableGeometry=0x0+0+0
qt.qpa.plugin: init_platform called with pluginNamesWithArguments "xcb" platformPluginPath "" platformThemeName "" qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms" ... qt.core.plugin.factoryloader: looking at "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqoffscreen.so" qt.core.plugin.loader: Found metadata in lib /data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqoffscreen.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "offscreen" ] }, "archlevel": 1, "className": "QOffscreenIntegrationPlugin", "debug": false, "version": 393984 } qt.core.plugin.factoryloader: Got keys from plugin meta data QList("offscreen") qt.core.plugin.factoryloader: looking at "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqwayland-egl.so" qt.core.plugin.loader: Found metadata in lib /data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqwayland-egl.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "wayland-egl" ] }, "archlevel": 1, "className": "QWaylandEglPlatformIntegrationPlugin", "debug": false, "version": 393984 } qt.core.plugin.factoryloader: Got keys from plugin meta data QList("wayland-egl") qt.core.plugin.factoryloader: looking at "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqwayland-generic.so" qt.core.plugin.loader: Found metadata in lib /data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqwayland-generic.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "wayland" ] }, "archlevel": 1, "className": "QWaylandIntegrationPlugin", "debug": false, "version": 393984 } qt.core.plugin.factoryloader: Got keys from plugin meta data QList("wayland") qt.core.plugin.factoryloader: looking at "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqxcb.so" qt.core.plugin.loader: Found metadata in lib /data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqxcb.so, metadata= { "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3", "MetaData": { "Keys": [ "xcb" ] }, "archlevel": 1, "className": "QXcbIntegrationPlugin", "debug": false, "version": 393984 } qt.core.plugin.factoryloader: Got keys from plugin meta data QList("xcb") qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/platforms" ... qt.qpa.plugin: Attempting to load Qt platform plugin "xcb" with arguments QList() qt.core.library: "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforms/libqxcb.so" loaded library qt.qpa.xcb: Has MIT-SHM : true qt.qpa.xcb: Has MIT-SHM FD : true qt.qpa.xcb: Using XInput version 2.3 qt.qpa.xcb: failed to query selection owner qt.qpa.screen: create a fake screen: QXcbScreen(0xdd3e10, name=":0.0", geometry=0x0+0+0, availableGeometry=0x0+0+0, devicePixelRatio=1.0, logicalDpi=std::pair(96.0,96.0), physicalSize=-1.0x-1.0mm, screenNumber=0, virtualSize=640x480 (640.0x480.0mm), orientation=Qt::PrimaryOrientation, depth=24, refreshRate=60.0, root=1c8, windowManagerName="") qt.qpa.screen: adding QXcbScreen(0xdd3e10, name=":0.0", geometry=0x0+0+0, availableGeometry=0x0+0+0, devicePixelRatio=1.0, logicalDpi=std::pair(96.0,96.0), physicalSize=-1.0x-1.0mm, screenNumber=0, virtualSize=640x480 (640.0x480.0mm), orientation=Qt::PrimaryOrientation, depth=24, refreshRate=60.0, root=1c8, windowManagerName="") (Primary: true ) qt.qpa.screen: initializeScreens: primary output is ":0.0" qt.qpa.input.devices: register QPointingDevice("Virtual core pointer" Mouse id=2 seat=30002 caps=Position|Scroll|Hover) qt.qpa.input.devices: register QInputDevice("Virtual core keyboard", type=QInputDevice::DeviceType::Keyboard, ID=3, seat='30002') qt.qpa.input.devices: input device "Virtual core XTEST pointer" ID 4 qt.qpa.input.devices: has 10 buttons qt.qpa.input.devices: has valuator "Rel X" recognized? true qt.qpa.input.devices: has valuator "Rel Y" recognized? true qt.qpa.input.devices: it's a scrolling device qt.qpa.input.devices: it's a mouse qt.qpa.input.devices: register QPointingDevice("Virtual core XTEST pointer" Mouse id=4 seat=30002 caps=Position|Scroll|Hover) qt.qpa.input.devices: register QInputDevice("Virtual core XTEST keyboard", type=QInputDevice::DeviceType::Keyboard, ID=5, seat='30002') qt.qpa.input.devices: register QInputDevice("Power Button", type=QInputDevice::DeviceType::Keyboard, ID=6, seat='30002') qt.qpa.input.devices: register QInputDevice("Power Button", type=QInputDevice::DeviceType::Keyboard, ID=7, seat='30002') qt.qpa.input.devices: register QInputDevice("American Megatrends Inc. Virtual Keyboard and Mouse", type=QInputDevice::DeviceType::Keyboard, ID=8, seat='30002') qt.qpa.input.devices: input device "American Megatrends Inc. Virtual Keyboard and Mouse" ID 9 qt.qpa.input.devices: has 7 buttons qt.qpa.input.devices: has valuator "Abs X" recognized? true qt.qpa.input.devices: has valuator "Abs Y" recognized? true qt.qpa.input.devices: has valuator "Rel Horiz Scroll" recognized? true qt.qpa.input.devices: has valuator "Rel Vert Scroll" recognized? true qt.qpa.input.devices: it's a scrolling device qt.qpa.input.devices: it's a mouse qt.qpa.input.devices: register QPointingDevice("American Megatrends Inc. Virtual Keyboard and Mouse" Mouse id=9 seat=30002 caps=Position|Scroll|Hover) qt.qpa.plugin: Successfully loaded Qt platform plugin "xcb" QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' qt.qpa.theme: Adding platform integration's theme names to list of theme names: QList("unknown", "generic") qt.qpa.theme: Attempting to create platform theme "unknown" via QPlatformThemeFactory::create qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platformthemes" ... qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/platformthemes" ... qt.qpa.theme: Attempting to create platform theme "generic" via QPlatformThemeFactory::create qt.qpa.theme: Attempting to create platform theme "unknown" via createPlatformTheme qt.qpa.theme: Attempting to create platform theme "generic" via createPlatformTheme qt.qpa.fonts: default fonts: system QFont(Sans Serif,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1) fixed QFont(monospace,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1) qt.qpa.theme: Successfully created platform theme "generic" qt.qpa.xcb: using glib dispatcher qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/platforminputcontexts" ... qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/platforminputcontexts" ... qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/Plugins/styles" ... qt.core.plugin.factoryloader: checking directory path "/data/tmp/Bin/GraphicsTestsHost-Release-public-test/host/linux-desktop-nomad-x64/styles" ...
dmesg crash log:
[ 886.677555] UITest[26660]: segfault at 0 ip 00007f9e087f9457 sp 00007fff2b50b320 error 4 in libQt6XcbQpa.so.6[7f9e08783000+b4000] [ 886.677565] Code: 44 00 00 49 8b 7c 24 08 31 f6 e8 74 34 fc ff eb c4 66 90 4c 89 e7 e8 78 f3 ff ff 48 89 c7 48 8b 00 ff 90 b0 00 00 00 48 89 c7 <48> 8b 00 ff 90 80 00 00 00 4c 89 e7 48 89 44 24 2c e8 53 f3 ff ff
The Xorg.log shows no display was connected:
[ 801.838] (--) NVIDIA(GPU-0): DFP-0: disconnected [ 801.838] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort [ 801.838] (--) NVIDIA(GPU-0): DFP-0: 2670.0 MHz maximum pixel clock [ 801.838] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-1: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS [ 801.839] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock [ 801.839] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-2: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort [ 801.839] (--) NVIDIA(GPU-0): DFP-2: 2670.0 MHz maximum pixel clock [ 801.839] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-3: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS [ 801.839] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock [ 801.839] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-4: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-4: Internal TMDS [ 801.839] (--) NVIDIA(GPU-0): DFP-4: 165.0 MHz maximum pixel clock [ 801.839] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-5: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort [ 801.839] (--) NVIDIA(GPU-0): DFP-5: 2670.0 MHz maximum pixel clock [ 801.839] (--) NVIDIA(GPU-0): [ 801.839] (--) NVIDIA(GPU-0): DFP-6: disconnected [ 801.839] (--) NVIDIA(GPU-0): DFP-6: Internal TMDS [ 801.839] (--) NVIDIA(GPU-0): DFP-6: 165.0 MHz maximum pixel clock