Bug 151627 - Skia rendering (both Vulkan and raster) artifacts in the sd slidesorter, no longer crashing with Vulkan rendering
Summary: Skia rendering (both Vulkan and raster) artifacts in the sd slidesorter, no l...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
Version:
(earliest affected)
7.0 all versions
Hardware: All Windows (All)
: high major
Assignee: Not Assigned
URL:
Whiteboard: target:7.5.1 target:7.4.6
Keywords: haveBacktrace
: 152559 (view as bug list)
Depends on:
Blocks: Skia
  Show dependency treegraph
 
Reported: 2022-10-18 17:05 UTC by robomurphy98
Modified: 2024-01-17 21:36 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
Stains (25.17 KB, application/x-7z-compressed)
2022-10-18 17:07 UTC, robomurphy98
Details
sd slidesorter resize Vulkan rendering crash, windbg stack trace and analyze LO 7.4.3.2 with current symbols (40.36 KB, text/plain)
2022-12-17 18:47 UTC, V Stuart Foote
Details
animated gif showing the visual glitch with Skia raster rendering on an Intel GPU (3.57 MB, image/gif)
2022-12-17 19:19 UTC, V Stuart Foote
Details
Video showing the problem (2.24 MB, video/mp4)
2022-12-17 19:43 UTC, robomurphy98
Details
Stains in Draw (632.77 KB, video/mp4)
2022-12-17 19:52 UTC, robomurphy98
Details
Stains in Impress (280.79 KB, video/mp4)
2022-12-17 19:53 UTC, robomurphy98
Details

Note You need to log in before you can comment on or make changes to this bug.
Description robomurphy98 2022-10-18 17:05:00 UTC
Description:
Hello, good afternoon, I have had version 7 for two years (since 7.0.x) and this is an error that has accompanied me, when I open Draw and activate "rendering all the program using Skia" and then restart I see that there are some "stains" on the page panel, this it gets worse when I force the representation.

If I deactivate it they are no longer visible but I can't understand why it is happening, I upload a file results and two photos in which the stains can be seen with normal Skia and with forced Skia.

Steps to Reproduce:
1.Open LO Draw
2.In Options > LibreOffice > View enable Represent all the program by Skia (or also force it)
3.Restart and see the stains in the panel

Actual Results:
Stains in the panel

Expected Results:
There should be no defects in the graphic of the program


Reproducible: Always


User Profile Reset: Yes



Additional Info:
I have a Nvidia GeForce GTX 950 with 8 GB RAM
Comment 1 robomurphy98 2022-10-18 17:07:20 UTC
Created attachment 183121 [details]
Stains
Comment 2 V Stuart Foote 2022-10-18 20:27:11 UTC
We operate Skia rendering in two modes represented by the check boxes:

1.) With Vulkan support (so Skia lib controlled GPU accelerated vector rendering)
2.) "forced" software only (Skia lib based raster rendering)

We can also avoid use of Skia, and use GDI+ graphics calls that can be hardware accelerated or by CPU calls only.

All of the rendering modes depend on the graphics drivers--for the CPU/APU and for the GPU if any.

So, make a better assessment of where you are--we need the hardware and driver details.

Please run "msinfo32.exe" and copy/paste the first doze line of the summary, and thefirst 8 lines of each GPU listed in the Components -> Display panel.

Then run LibreOffice and from Tools -> Options and check enabled the "Use Skia for all rendering" and uncheck "Force Skia software rendering" to activate Skia Vulkan mode. Restart LibreOffice.

Then open and copy/paste the content of the skia.log located in

C:\Users\<yourUserName>\AppData\Roaming\LibreOffice\4\cache

That additional detail would be helpful. And we may ask you to update your drivers depending on what you provide.
Comment 3 robomurphy98 2022-10-18 20:44:48 UTC
Understanding, then I show information from Components > Display

Nombre	NVIDIA GeForce GTX 950
Id. de dispositivo PNP	PCI\VEN_10DE&DEV_1402&SUBSYS_36C51458&REV_A1\4&3834D97&0&0008
Tipo de adaptador 	NVIDIA GeForce GTX 950, compatible con NVIDIA
Descripción de adaptador
NVIDIA GeForce GTX 950

RAM de adaptador	(2.147.483.648) bytes

Controladores instalados
	C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c43eff7079c4c90c\nvldumdx.dll,
C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c43eff7079c4c90c\nvldumdx.dll,
C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c43eff7079c4c90c\nvldumdx.dll,
C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_c43eff7079c4c90c\nvldumdx.dll

Versión del controlador	31.0.15.1640
Archivo INF	oem37.inf (sección Section013)
Esquema de color	No disponible
Entradas de tabla de colores	4294967296
Resolución	1280 x 1024 x 60 hercios
Bits/píxel	32
Dirección de memoria	0xF6000000-0xF6FFFFFF
Dirección de memoria	0xE0000000-0xEFFFFFFF
Dirección de memoria	0xF0000000-0xF1FFFFFF
Puerto E/S	0x0000E000-0x0000E07F
Canal IRQ	IRQ 16
Puerto E/S	0x000003B0-0x000003BB
Puerto E/S	0x000003C0-0x000003DF
Dirección de memoria	0xA0000-0xBFFFF
Controlador	C:\WINDOWS\SYSTEM32\DRIVERSTORE\FILEREPOSITORY\NV_DISPI.INF_AMD64_C43EFF7079C4C90C\NVLDDMKM.SYS (31.0.15.1640, 41,66 MB (43.683.808 bytes), 24/06/2022 22:33)
Comment 4 robomurphy98 2022-10-18 20:46:48 UTC
skia.log

RenderMethod: vulkan
Vendor: 0x10de
Device: 0x1402
API: 1.3.205
Driver: 516.160.0
DeviceType: discrete
DeviceName: NVIDIA GeForce GTX 950
Denylisted: no
Comment 5 V Stuart Foote 2022-10-18 21:45:14 UTC
OK, you have *no* issues with the currentness of your drivers.

Also, I can reproduce on Windows 10 (21H2) with nVidia K2000 GPU
Version: 7.4.2.3 (x64) / LibreOffice Community
Build ID: 382eef1f22670f7f4118c8c2dd222ec7ad009daf
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL

Visible with the "Slide pane" at its narrowest value.

Very noticeable if I grab the edge of the document frame and drag it smaller so that the preview on the slide pane scales larger. As the size increases, the "stain" a discolored tail at the bottom of the slide appears and disappears as the preview gets larger, or then reverse.

It is visible in both Skia rendering modes. I'll have to look at it on an Intel GPU system to see if it appears with all GPUs.
Comment 6 V Stuart Foote 2022-10-18 22:03:58 UTC
So, on same system with nVidia GPU the visual glitch is visible with current master Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 5a1f41a0d3aab15c113651f2edc9d4137ae99063
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded

And, it appears on the Impress "Slides pane" as well. It seems almost like a band of graphics buffer extending the width of the frame holding the page preview ion the pane.

Here are some steps to reproduce:

1. LO opened with either Skia rendering mode
2. open Draw
3. grab the edge of the drawing canvas between the "Pages pane" and the canvas
4. drag drawing canvas smaller in width
5. Page pane scales larger
6. follow the lower left corner of the page in the preview pane
7. the visual glitch will appear and disappear as the size of the preview increases.
8. reverse direction and drag canvas larger, preview will shrink scaling smaller
Comment 7 V Stuart Foote 2022-10-19 02:06:08 UTC
glitch with previews on the Pages pane and Slides pane are visible on Intel GPUs as well.

RenderMethod: vulkan
Vendor: 0x8086
Device: 0x8a52
API: 1.2.151
Driver: 0.402.661
DeviceType: integrated
DeviceName: Intel(R) Iris(R) Plus Graphics
Denylisted: no

Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 5a1f41a0d3aab15c113651f2edc9d4137ae99063
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded
Comment 8 Julien Nabet 2022-12-17 12:07:32 UTC
V Stuart Foote:
In https://bugs.documentfoundation.org/show_bug.cgi?id=151627, I see:
        <entry os="all" vendor="intel" compare="equal" version="0.402.743"> <!-- tdf#138729 -->
            <device id="all"/>
        </entry>

and seeing https://bugs.documentfoundation.org/show_bug.cgi?id=138729#c18, it seemed you had upgraded your graphic driver (from 0.402.743 to 0.402.1274), did you finally downgrade it?

Perhaps, we should change "equal" in the deny file list by "less_equal", at least it would take into account all the versions until 0.402.743
Comment 9 Julien Nabet 2022-12-17 12:20:11 UTC
https://gerrit.libreoffice.org/c/core/+/144377
Comment 10 robomurphy98 2022-12-17 13:07:41 UTC
Thank you! The truth is that I've been seeing the chains since I switched to version 7 two years ago, I always update the computer's drivers to keep it in optimal condition and it always happened to me.
Comment 11 Commit Notification 2022-12-17 13:14:00 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/f7b94d7ffd785470962e73408f6fd7f7728f8ec5

tdf#151627 + tdf#152559: blacklist Nvidia device id="0x1402"

It will be available in 7.6.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 12 Julien Nabet 2022-12-17 13:16:47 UTC
backport for 7.5: https://gerrit.libreoffice.org/c/core/+/144367
for 7.4: https://gerrit.libreoffice.org/c/core/+/144368

Since it's not a real fix but just a workaround, let's rather put NOTOURBUG.
Comment 13 V Stuart Foote 2022-12-17 18:45:50 UTC
Actually I don't think we can NOB this.

In fact seems we have a skia issue with the sd slidesorter (Draw & Impress) during its resizes.

They graphically manifest as the staining noted in OP--for me on both nVidia and Intel GPUs-- but also with both Vulkan and raster framing! So not simply a work around via denylist Vulkan rendering.

Worse, issue will also result in a crash with Vulkan rendering on Intel GPU

STR: still as in comment 6

GDI+ rendering is not affected, only Skia

Dragging the page preview in Draw, or the slide sorter in Impress, wider and narrower (zooming preview and page/slide preview in and out) -- will cause the shifting "stain" at the bottom edge of the sorter previews. 

With Skia Vulkan rendering it eventually would crash. With Skia raster rendering I windbg shows repeating:

"Unable to deliver callback. Unable to deliver callback. 3131" 

I get this stack trace (LO 7.4.3.2 with current symbols):

RenderMethod: vulkan
Vendor: 0x8086
Device: 0x8a52
API: 1.3.215
Driver: 0.404.2114
DeviceType: integrated
DeviceName: Intel(R) Iris(R) Plus Graphics
Denylisted: no

Full stack attached.

0:000> ~* kp

.  0  Id: 4008.1180 Suspend: 1 Teb: 000000f2`8a296000 Unfrozen
 # Child-SP          RetAddr               Call Site
00 000000f2`8ad8d7e0 00007ff9`2c331b69     ucrtbase!abort+0x4e
01 000000f2`8ad8d810 00007ff9`2c332b06     mergedlo!SkiaSalGraphicsImpl::postDraw(void)+0x89 [C:\cygwin64\home\buildslave\source\libo-core\vcl\skia\gdiimpl.cxx @ 456] 
02 000000f2`8ad8d840 00007ff9`2c332b6a     mergedlo!SkiaSalGraphicsImpl::privateDrawAlphaRect(int64 nX = 0n0, int64 nY = 0n0, int64 nWidth = 0n330, int64 nHeight = 0n873, double fTransparency = 0, bool blockAA = true)+0x2a6 [C:\cygwin64\home\buildslave\source\libo-core\vcl\skia\gdiimpl.cxx @ 770] 
03 000000f2`8ad8d9e0 00007ff9`2be95979     mergedlo!SkiaSalGraphicsImpl::drawRect(int64 nX = <Value unavailable error>, int64 nY = <Value unavailable error>, int64 nWidth = <Value unavailable error>, int64 nHeight = 0n873)+0x2a [C:\cygwin64\home\buildslave\source\libo-core\vcl\skia\gdiimpl.cxx @ 776] 
04 000000f2`8ad8da30 00007ff9`2be9f575     mergedlo!OutputDevice::DrawRect(class tools::Rectangle * rRect = 0x000000f2`8ad8dad0 330)+0x259 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\rect.cxx @ 86] 
05 000000f2`8ad8dab0 00007ff9`2be9f67e     mergedlo!OutputDevice::DrawColorWallpaper(int64 nX = 0n0, int64 nY = 0n0, int64 nWidth = 0n330, int64 nHeight = 0n873, class Wallpaper * rWallpaper = 0x000002b9`efb0ad50)+0xe5 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\wallpaper.cxx @ 91] 
06 (Inline Function) --------`--------     mergedlo!OutputDevice::DrawWallpaper(int64 nWidth = <Value unavailable error>, int64 nHeight = <Value unavailable error>, class Wallpaper * rWallpaper = <Value unavailable error>)+0x3b [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\wallpaper.cxx @ 73] 
07 000000f2`8ad8db10 00007ff9`2c043b8d     mergedlo!OutputDevice::Erase(void)+0xae [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\outdev\wallpaper.cxx @ 106] 
08 000000f2`8ad8db50 00007ff9`2c043f60     mergedlo!VirtualDevice::InnerImplSetOutputSizePixel(class Size * rNewSize = 0x000000f2`8ad8dcb0 W:330, H:873, bool bErase = <Value unavailable error>, unsigned char * pBuffer = <Value unavailable error>)+0xdd [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\gdi\virdev.cxx @ 294] 
09 000000f2`8ad8dc30 00007ff9`2339543b     mergedlo!VirtualDevice::ImplSetOutputSizePixel(class Size * rNewSize = 0x000000f2`8ad8dcb0 W:330, H:873, bool bErase = true, unsigned char * pBuffer = <Value unavailable error>)+0x30 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\gdi\virdev.cxx @ 360] 
0a (Inline Function) --------`--------     sdlo!sd::slidesorter::view::LayeredDevice::Resize(void)+0x24 [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\view\SlsLayeredDevice.cxx @ 295] 
0b 000000f2`8ad8dc90 00007ff9`2335da9b     sdlo!sd::slidesorter::view::SlideSorterView::Resize(void)+0x4b [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\view\SlideSorterView.cxx @ 270] 
0c 000000f2`8ad8dd00 00007ff9`2338c4e1     sdlo!sd::slidesorter::controller::SlideSorterController::Rearrange(bool bForce = true)+0x16b [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\controller\SlideSorterController.cxx @ 682] 
0d (Inline Function) --------`--------     sdlo!sd::slidesorter::controller::SlideSorterController::Resize(void)+0x52 [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\controller\SlideSorterController.cxx @ 640] 
0e 000000f2`8ad8dda0 00007ff9`23392646     sdlo!sd::slidesorter::SlideSorter::ArrangeGUIElements(class Point * rOffset = <Value unavailable error>, class Size * rSize = 0x000002b9`ef80f7e0 W:330, H:873)+0x131 [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\shell\SlideSorter.cxx @ 335] 
0f 000000f2`8ad8de10 00007ff9`235025c8     sdlo!sd::slidesorter::SlideSorterViewShell::ArrangeGUIElements(void)+0x36 [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\slidesorter\shell\SlideSorterViewShell.cxx @ 458] 
10 000000f2`8ad8de40 00007ff9`2b95e155     sdlo!sd::ViewShell::Resize(void)+0x68 [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\view\viewshel.cxx @ 885] 
11 000000f2`8ad8de80 00007ff9`2b828528     mergedlo!WindowListenerMultiplexer::windowResized(struct com::sun::star::awt::WindowEvent * evt = 0x000002b9`b38e7520)+0x105 [C:\cygwin64\home\buildslave\source\libo-core\toolkit\source\helper\listenermultiplexer.cxx @ 65] 
12 000000f2`8ad8df00 00007ff9`2bcb0d3b     mergedlo!VCLXWindow::ProcessWindowEvent(class VclWindowEvent * rVclWindowEvent = 0x000000f2`8ad8e080)+0x338 [C:\cygwin64\home\buildslave\source\libo-core\toolkit\source\awt\vclxwindow.cxx @ 475] 
13 (Inline Function) --------`--------     mergedlo!Link<VclWindowEvent &,void>::Call(void)+0x13 [C:\cygwin64\home\buildslave\source\libo-core\include\tools\link.hxx @ 111] 
14 000000f2`8ad8e060 00007ff9`2bd52483     mergedlo!vcl::Window::CallEventListeners(VclEventId nEvent = <Value unavailable error>, void * pData = <Value unavailable error>)+0x20b [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\event.cxx @ 262] 
15 (Inline Function) --------`--------     mergedlo!vcl::Window::ImplCallResize(void)+0x3d [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\event.cxx @ 529] 
16 000000f2`8ad8e150 00007ff9`2bd56219     mergedlo!vcl::Window::ImplPosSizeWindow(int64 nX = 0n30, int64 nY = 0n30, int64 nWidth = 0n330, int64 nHeight = 0n873, PosSizeFlags nFlags = PosSize (0n15))+0x733 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window.cxx @ 1631] 
17 000000f2`8ad8e3f0 00007ff9`2bd47f82     mergedlo!vcl::Window::setPosSizePixel(int64 nX = 0n3, int64 nY = 0n30, int64 nWidth = 0n330, int64 nHeight = 0n873, PosSizeFlags nFlags = PosSize (0n15))+0x4b9 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window.cxx @ 2791] 
18 000000f2`8ad8e4f0 00007ff9`2323a4ad     mergedlo!vcl::Window::SetPosSizePixel(class Point * rNewPos = <Value unavailable error>, class Size * rNewSize = <Value unavailable error>)+0x32 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window2.cxx @ 1295] 
19 000000f2`8ad8e530 00007ff9`2bd52474     sdlo!sd::TitledDockingWindow::impl_layout(void)+0x15d [C:\cygwin64\home\buildslave\source\libo-core\sd\source\ui\dlg\titledockwin.cxx @ 117] 
1a (Inline Function) --------`--------     mergedlo!vcl::Window::ImplCallResize(void)+0x2e [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\event.cxx @ 525] 
1b 000000f2`8ad8e5a0 00007ff9`2bd56219     mergedlo!vcl::Window::ImplPosSizeWindow(int64 nX = 0n2, int64 nY = 0n2, int64 nWidth = 0n336, int64 nHeight = 0n906, PosSizeFlags nFlags = PosSize (0n15))+0x724 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window.cxx @ 1629] 
1c 000000f2`8ad8e840 00007ff9`2bcae6b2     mergedlo!vcl::Window::setPosSizePixel(int64 nX = 0n0, int64 nY = 0n2, int64 nWidth = 0n336, int64 nHeight = 0n906, PosSizeFlags nFlags = PosSize (0n15))+0x4b9 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window.cxx @ 2791] 
1d (Inline Function) --------`--------     mergedlo!isLayoutEnabled(void)+0x23 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\layout.cxx @ 2920] 
1e 000000f2`8ad8e940 00007ff9`2bd47f82     mergedlo!DockingWindow::setPosSizePixel(int64 nX = 0n0, int64 nY = 0n2, int64 nWidth = 0n336, int64 nHeight = 0n906, PosSizeFlags nFlags = PosSize (0n15))+0x82 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\dockwin.cxx @ 843] 
1f 000000f2`8ad8e990 00007ff9`2bd10cca     mergedlo!vcl::Window::SetPosSizePixel(class Point * rNewPos = <Value unavailable error>, class Size * rNewSize = <Value unavailable error>)+0x32 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\window2.cxx @ 1295] 
20 000000f2`8ad8e9d0 00007ff9`2bd10c88     mergedlo!SplitWindow::ImplCalcSet2(class SplitWindow * pWindow = 0x000002b9`eed772c0, class ImplSplitSet * pSet = 0x000002b9`f881ead0, bool bHide = false, bool bRows = true)+0x26a [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\splitwin.cxx @ 762] 
21 000000f2`8ad8ea40 00007ff9`2bd12010     mergedlo!SplitWindow::ImplCalcSet2(class SplitWindow * pWindow = 0x000002b9`eed772c0, class ImplSplitSet * pSet = 0x000002b9`ef8298e0, bool bHide = false, bool bRows = false)+0x228 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\splitwin.cxx @ 754] 
22 000000f2`8ad8eab0 00007ff9`2bd14d01     mergedlo!SplitWindow::ImplCalcLayout(void)+0x210 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\splitwin.cxx @ 1336] 
23 000000f2`8ad8eb00 00007ff9`2bd1398e     mergedlo!SplitWindow::SplitItem(unsigned short nId = <Value unavailable error>, int64 nNewSize = <Value unavailable error>, bool bPropSmall = false, bool bPropGreat = false)+0x451 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\splitwin.cxx @ 2487] 
24 000000f2`8ad8eb50 00007ff9`2bd6082a     mergedlo!SplitWindow::Tracking(class TrackingEvent * rTEvt = 0x000000f2`8ad8ede8)+0x4be [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\splitwin.cxx @ 2001] 
25 000000f2`8ad8ec40 00007ff9`2bd6556a     mergedlo!ImplHandleMouseEvent(class VclPtr<vcl::Window> * xWindow = <Value unavailable error>, MouseNotifyEvent nSVEvent = MOUSEMOVE (0n3), bool bMouseLeave = true, int64 nX = 0n69, int64 nY = 0n784, unsigned int64 nMsgTime = 0x352597, unsigned short nCode = 1, MouseEventModifiers nMode = DRAGMOVE (0n2))+0x126a [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\winproc.cxx @ 673] 
26 000000f2`8ad8ee80 00007ff9`2bd66270     mergedlo!ImplHandleSalMouseMove(class vcl::Window * pWindow = <Value unavailable error>, struct SalMouseEvent * pEvent = <Value unavailable error>)+0x9a [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\winproc.cxx @ 2274] 
27 000000f2`8ad8eed0 00007ff9`2c347f2c     mergedlo!ImplWindowFrameProc(class vcl::Window * _pWindow = 0x000002b9`e5bc7b70, SalEvent nEvent = MouseMove (0n1), void * pEvent = 0x000000f2`8ad8f168)+0x90 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\window\winproc.cxx @ 2614] 
28 000000f2`8ad8f100 00007ff9`27d4d850     mergedlo!SalFrame::CallCallback(SalEvent nEvent = <Value unavailable error>, void * pEvent = <Value unavailable error>)+0x1c [C:\cygwin64\home\buildslave\source\libo-core\vcl\inc\salframe.hxx @ 308] 
29 000000f2`8ad8f130 00007ff9`27d537f4     vclplug_winlo!ImplHandleMouseMsg(struct HWND__ * hWnd = 0x00000000`000b07be, unsigned int nMsg = 0x200, unsigned int64 wParam = 0x000002b9`e1f38cd0, int64 lParam = 0n51380618)+0x240 [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\window\salframe.cxx @ 3234] 
2a 000000f2`8ad8f220 00007ff9`27d53f5d     vclplug_winlo!SalFrameWndProc(struct HWND__ * hWnd = 0x00000000`000b07be, unsigned int nMsg = 0x200, unsigned int64 wParam = 1, int64 lParam = 0n51380618, bool * rDef = 0x000000f2`8ad8f3b0)+0x1114 [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\window\salframe.cxx @ 5614] 
2b 000000f2`8ad8f380 00007ff9`be2ee7e8     vclplug_winlo!SalFrameWndProcW(struct HWND__ * hWnd = 0x00000000`000b07be, unsigned int nMsg = 0x200, unsigned int64 wParam = 1, int64 lParam = 0n51380618)+0x4d [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\window\salframe.cxx @ 5967] 
2c 000000f2`8ad8f410 00007ff9`be2ee47e     USER32!UserCallWinProcCheckWow+0x2f8
2d 000000f2`8ad8f5a0 00007ff9`873af0f0     USER32!CallWindowProcW+0x8e
2e 000000f2`8ad8f5f0 00007ff9`be2ee7e8     OpenGL32!wglWndProc+0x2a0
2f 000000f2`8ad8f660 00007ff9`be2ee229     USER32!UserCallWinProcCheckWow+0x2f8
30 000000f2`8ad8f7f0 00007ff9`27ce1916     USER32!DispatchMessageWorker+0x249
31 000000f2`8ad8f870 00007ff9`27ce1b85     vclplug_winlo!ImplSalDispatchMessage(struct tagMSG * pMsg = 0x000000f2`8ad8f8f0 {msg=0x200 wp=0x1 lp=0x310018a})+0x46 [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\app\salinst.cxx @ 476] 
32 000000f2`8ad8f8c0 00007ff9`27ce1d31     vclplug_winlo!ImplSalYield(bool bWait = true, bool bHandleAllCurrentEvents = false)+0x95 [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\app\salinst.cxx @ 508] 
33 000000f2`8ad8f940 00007ff9`2c15df4a     vclplug_winlo!WinSalInstance::DoYield(bool bWait = true, bool bHandleAllCurrentEvents = false)+0x91 [C:\cygwin64\home\buildslave\source\libo-core\vcl\win\app\salinst.cxx @ 581] 
34 000000f2`8ad8f970 00007ff9`2c15deb5     mergedlo!ImplYield(bool i_bWait = true, bool i_bAllEvents = false)+0x5a [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svapp.cxx @ 477] 
35 000000f2`8ad8f9a0 00007ff9`2ad9f349     mergedlo!Application::Execute(void)+0x175 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svapp.cxx @ 451] 
36 000000f2`8ad8fa00 00007ff9`2c16cde2     mergedlo!desktop::Desktop::Main(void)+0x11f9 [C:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\app.cxx @ 1600] 
37 000000f2`8ad8fcc0 00007ff9`2adc17a2     mergedlo!ImplSVMain(void)+0x62 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svmain.cxx @ 202] 
38 (Inline Function) --------`--------     mergedlo!SVMain(void)+0x5 [C:\cygwin64\home\buildslave\source\libo-core\vcl\source\app\svmain.cxx @ 234] 
39 000000f2`8ad8fd00 00007ff7`ae99101b     mergedlo!soffice_main(void)+0x282 [C:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\sofficemain.cxx @ 94] 
3a (Inline Function) --------`--------     soffice!sal_main(void)+0x6 [C:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\main.c @ 51] 
3b 000000f2`8ad8fe10 00007ff7`ae9912d4     soffice!main(int argc = <Value unavailable error>, char ** argv = <Value unavailable error>)+0x1b [C:\cygwin64\home\buildslave\source\libo-core\desktop\source\app\main.c @ 49] 
3c (Inline Function) --------`--------     soffice!invoke_main(void)+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78] 
3d 000000f2`8ad8fe40 00007ff9`bd687614     soffice!__scrt_common_main_seh(void)+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
3e 000000f2`8ad8fe80 00007ff9`bf5c26a1     KERNEL32!BaseThreadInitThunk+0x14
3f 000000f2`8ad8feb0 00000000`00000000     ntdll!RtlUserThreadStart+0x21
Comment 14 V Stuart Foote 2022-12-17 18:47:54 UTC
Created attachment 184210 [details]
sd slidesorter resize Vulkan rendering crash, windbg stack trace and analyze LO 7.4.3.2 with current symbols
Comment 15 robomurphy98 2022-12-17 18:53:11 UTC
Thanks!
Comment 16 V Stuart Foote 2022-12-17 19:19:27 UTC
Created attachment 184211 [details]
animated gif showing the visual glitch with Skia raster rendering on an Intel GPU

This screen capture is taken of
Version: 7.4.3.2 (x64) / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

On this laptop:
OS Name	Microsoft Windows 10 Pro
Version	10.0.19044 Build 19044
Other OS Description 	Not Available
OS Manufacturer	Microsoft Corporation
System Name	VSF-GALAXYBFLEX
System Manufacturer	SAMSUNG ELECTRONICS CO., LTD.
System Model	950QCG
System Type	x64-based PC
System SKU	SCAI-A5A5-A5A5-A5A5-PAJC
Processor	Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz, 1498 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date	American Megatrends Inc. P14AJC.054.211014.MK, 10/14/2021
SMBIOS Version	3.2
Embedded Controller Version	255.255
BIOS Mode	UEFI
BaseBoard Manufacturer	SAMSUNG ELECTRONICS CO., LTD.
BaseBoard Product	NP950QCG-K03US

 
With these graphics
Name	Intel(R) Iris(R) Plus Graphics
PNP Device ID	PCI\VEN_8086&DEV_8A52&SUBSYS_C189144D&REV_07\3&11583659&0&10
Adapter Type	Intel(R) Iris(R) Graphics Family, Intel Corporation compatible
Adapter Description	Intel(R) Iris(R) Plus Graphics
Adapter RAM	1.00 GB (1,073,741,824 bytes)
Installed Drivers	C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_d8bdffa26077ee9a\igdumdim64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_d8bdffa26077ee9a\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_d8bdffa26077ee9a\igd10iumd64.dll,C:\WINDOWS\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_d8bdffa26077ee9a\igd12umd64.dll
Driver Version	31.0.101.2114
INF File	oem7.inf (iICLD_w10_DS_N section)
Color Planes	Not Available
Color Table Entries	4294967296
Resolution	1920 x 1080 x 60 hertz
Comment 17 robomurphy98 2022-12-17 19:31:16 UTC
I am doing the same movement that you do to readjust the panel bigger and smaller and LO Draw crashes (apart from the stains of course).
Comment 18 robomurphy98 2022-12-17 19:43:57 UTC
Created attachment 184212 [details]
Video showing the problem
Comment 19 robomurphy98 2022-12-17 19:52:54 UTC
Created attachment 184215 [details]
Stains in Draw
Comment 20 robomurphy98 2022-12-17 19:53:27 UTC
Created attachment 184216 [details]
Stains in Impress
Comment 21 V Stuart Foote 2022-12-17 19:55:24 UTC
(In reply to Julien Nabet from comment #8)

> 
> Perhaps, we should change "equal" in the deny file list by "less_equal", at
> least it would take into account all the versions until 0.402.743

Hi Julien,

Those were two different Windows 10 laptops, but I did update drivers for the Intel Iris Plus GPU. It is now at 
Vendor: 0x8086
Device: 0x8a52
API: 1.3.215
Driver: 0.404.2114

with the latest (2022-10-20) Intel 31.0.101.2114 driver set.

But IMHO don't think this specific issue can be worked around by denylist.  There is an implementation issue of some sort in Skia for the resizing of the slide sorter.
Comment 22 Julien Nabet 2022-12-18 11:30:41 UTC
Ok let's put it back to NEW.

Luboš: thought you might be interested in this one, hoping you're still available for Skia rendering bugs.
Comment 23 V Stuart Foote 2022-12-18 18:04:38 UTC
*** Bug 152559 has been marked as a duplicate of this bug. ***
Comment 24 Commit Notification 2023-02-07 09:37:45 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/01dc36e9296f8b9ee5966360dbf53c0a48373880

tdf#151627 + tdf#152559: blacklist Nvidia device id="0x1402"

It will be available in 7.5.1.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 25 Commit Notification 2023-02-07 09:37:49 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-7-4":

https://git.libreoffice.org/core/commit/5bce4cbe19a5c5fc7fd7d7d682951826a93e4cad

tdf#151627 + tdf#152559: blacklist Nvidia device id="0x1402"

It will be available in 7.4.6.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 26 V Stuart Foote 2023-02-07 13:52:53 UTC
@Steve, Heiko, Telesto -- are you Apple macOS users seeing this framing glitch in the slide sorter with Skia or Skia/Metal implementations?
Comment 27 V Stuart Foote 2023-02-07 14:20:18 UTC
Visual framing glitch at the bottom of active thumbnail on the Slide/Pages slidesorter still occurs. But not crashing, at least on Intel Iris Plus (0x8a52)

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 9259f79517bec3e7ebbc423eca098694fbf2a079
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

RenderMethod: vulkan
Vendor: 0x8086
Device: 0x8a52
API: 1.2.151
Driver: 0.402.661
DeviceType: integrated
DeviceName: Intel(R) Iris(R) Plus Graphics
Denylisted: no
Comment 28 robomurphy98 2023-02-07 19:19:39 UTC
Good afternoon, I've been testing today's build and I have to say that LibreOffice Draw no longer crashes when I make the pages panel bigger or smaller. I have been testing in light and dark theme and also the Impress slide panel and it does not close!

The stains would remain but really thank you very much because I no longer have to keep saving all the time to avoid losing work, I often use Draw for layouts and diagrams.
Comment 29 Telesto 2023-02-07 22:59:09 UTC
(In reply to V Stuart Foote from comment #26)
> @Steve, Heiko, Telesto -- are you Apple macOS users seeing this framing
> glitch in the slide sorter with Skia or Skia/Metal implementations?

Yes, with Metal and Raster

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: d8ae6d1388f28c405c4de2dfe93dbfe2d8acd470
CPU threads: 8; OS: Mac OS X 12.6.3; UI render: Skia/Metal; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded
Comment 30 Heiko Tietze 2023-02-08 10:13:00 UTC
(In reply to V Stuart Foote from comment #26)
> @Steve, Heiko, Telesto -- are you Apple macOS users seeing this framing
> glitch in the slide sorter with Skia or Skia/Metal implementations?

No obvious issue with 

Version: 7.5.0.3 (X86_64) / LibreOffice Community
Build ID: c21113d003cd3efa8c53188764377a8272d9d6de
CPU threads: 8; OS: Mac OS X 13.1; UI render: Skia/Raster; VCL: osx
Locale: de-DE (en_DE.UTF-8); UI: en-US
Calc: threaded

(but I don't see myself as a macOS user)
Comment 31 Julien Nabet 2023-02-08 10:17:33 UTC
Alex: this bugtracker is "flagged" Windows but you might be interested in VStuart's comment, https://bugs.documentfoundation.org/show_bug.cgi?id=151627#c26 concerning macOS.

unassign myself since I don't know how to fix Skia part, I just know how to blacklist devices.
Comment 32 steve 2023-02-08 13:16:04 UTC
It would be great if we could stick to the terminology used in the app UI when diskussing skia. Or if we don't want to do that, change the naming in UI.

With skia enable for all rending and force skia software rendering disable I see small artifacts in Impress slide preview when resizing that column. Very subtle and easy to miss but they are there.

With skia enable for all rending and force skia software rendering enabled the same problem is seen.

Should this remaining problem be a new bug since this issue here got filed against a crasher which apparently has been fixed now.
Comment 33 V Stuart Foote 2023-02-08 15:42:49 UTC
(In reply to steve from comment #32)
 
> Should this remaining problem be a new bug since this issue here got filed
> against a crasher which apparently has been fixed now.

No. The crash is Vulkan hw device specific, taken care of by denylist of the hw. Lubos will have to implement similar for Metal hw.

The deny listing effectively disables GPU hw accelerated rendering using the Skia libs and "falls back" to skia lib based software rendering as raster for window "frames"

The visual glitches in the slidepane are the issue here--the overflow condition causing the crash with Vulkan hw acceleration is related--but not the real issue and the "fix" posted thusfar is just deny listing of an affected GPU device.

With skia support on macOS only recently enabled as default--behavior for skia/ Metal accelerated rendering and skia software rendering as raster issues that had previously affected only Windows will need to be looked at more broadly.
Comment 34 Matt K 2024-01-17 01:42:44 UTC
I don't repro any visual glitches or crashes using the following:

Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 9226cda52fd1c1a2bbca12bb4a761d49c9678833
CPU threads: 16; OS: Windows 10.0 Build 22631; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded

Is there a reason this bug is still open?
Comment 35 V Stuart Foote 2024-01-17 21:36:21 UTC
The visual glitches remain with current 20240117 nightly of master against 24.8, noticeable on the Draw page sorter or Impress slide sorter UI. The "stain" appears on the lower edges of the page/slide preview--on both the page/slide selected active to canvas, and on mouse over of thumbnail held on the page/slide sorter. As before, the "stain" glitch will appear *and disappear* as the page/slide sorter is dragged wider or narrower.

As noted comment 27, comment 28 there is no longer a crash of the UI with Vulkan rendering. But the visual artifacts on the sorter preview canvas holding the page/slide thumbnail comes and goes as the previews are resized.

=-testing-=


Version: 24.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: b8e393686c4ab6a69b091240065f440eadfff230
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded

RenderMethod: vulkan
Vendor: 0x10de
Device: 0x1380
API: 1.3.260
Driver: 546.4.0
DeviceType: discrete
DeviceName: NVIDIA GeForce GTX 750 Ti
Denylisted: no