https://bugs.documentfoundation.org/show_bug.cgi?id=172304

            Bug ID: 172304
           Summary: Graphics rendering glitches when LibreOffice 26.2.x is
                    started  from Java process (OOoBean embedding and
                    UNO-Bridge) - works fine standalone
           Product: LibreOffice
           Version: 26.2.3.2 release
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
          Assignee: [email protected]
          Reporter: [email protected]

Created attachment 207293
  --> https://bugs.documentfoundation.org/attachment.cgi?id=207293&action=edit
The screenshot shows how the UI elements are displayed in black. Some symbols
are not shown. The design has been firmly set to "Bright Design".

Product: LibreOffice
Component: VCL
Version: 26.2.3.2
OS: Windows 11 Pro 64-bit (Build 26200)
Hardware: Dell Precision 3660, Intel Core i7-13700, 32GB RAM

DESCRIPTION:
We embed LibreOffice Writer in a Java Swing desktop application 
using OOoBean (officebean.jar). Since upgrading from LibreOffice 
25.x to 26.2.3, we experience persistent graphics rendering 
glitches: black bars/stripes on toolbar icons and visual 
corruption in the UI.

CRITICAL FINDING:
LibreOffice started standalone (double-click on .odt file or via 
Start menu) renders PERFECTLY - no glitches at all.
The glitches ONLY appear when LibreOffice is started from a Java 
process, both via:
- OOoBean embedding (in-process, Java AWT heavyweight component)
- UNO-Bridge external window (separate soffice.exe process, 
  started via Java ProcessBuilder with 
  --accept=socket,host=localhost,port=2002;urp;...)

This strongly suggests the Java process environment or 
Java/VCL thread interaction affects LibreOffice's rendering 
pipeline.

TESTED RENDERING CONFIGURATIONS 
(all show glitches when started from Java):

1. Skia disabled (GDI fallback) via:
   - SAL_DISABLE_SKIA=1 as OS environment variable
   - Tools > Options > View > Skia unchecked
   - registrymodifications.xcu: UseSkia=false

2. Skia enabled with Vulkan (default)

3. Skia enabled with forced software rendering (Raster) via:
   - SAL_SKIA=raster as OS environment variable
   - Tools > Options > View > Force Skia software rendering
   - registrymodifications.xcu: ForceSkiaRaster=true

4. Windows GPU preference set to "High Performance" (AMD dGPU) 
   for soffice.exe, java.exe, and the application launcher

5. External window via UNO-Bridge socket connection 
   (soffice.exe as separate process started from Java via 
   ProcessBuilder): Same glitches despite being a separate 
   process.

None of these configurations resolve the issue.

GRAPHICS TEST RESULTS (Tools > Options > View > Graphics Test):

a) Skia enabled + Force software rendering (Skia/Raster):
   Backend: skia
   Passed: 58, Quirky: 51, Failed: 0, Skipped: 0
   51 quirky tests including: testDrawRect variants, 
   testDrawDiamond variants, testLinearGradientBorder, 
   testLinearGradientSteps, testAxialGradient, 
   testRadialGradient, testRadialGradientOfs, 
   testDrawDropShapeAA variants, testHalfEllipse variants, 
   testClosedBezier variants, testFilledAsymmetricalDropShape, 
   testTextDrawing, testDrawRectangleOnSize variants (1028/4096),
   testDrawOpenPolygon variants, testDrawOpenBezier variants

b) Skia disabled (GDI fallback):
   Backend: gdi
   Passed: 73, Quirky: 30, Failed: 1, Skipped: 5
   Failed: testRadialGradient

GPU INFORMATION:
- GPU 1 (iGPU): Intel UHD Graphics 770 (VEN_8086, DEV_A780)
  Driver: 32.0.101.7084 (January 2026), WDDM 3.2
- GPU 2 (dGPU): AMD Radeon Pro W6400 (VEN_1002, DEV_7422)
  Driver: 32.0.21037.1004 (November 2025), WDDM 3.2
- Display: 3440x1440, 32bit, 96 DPI (100% scaling)
- DirectX 12

JAVA ENVIRONMENT:
- Oracle JDK 21.0.11+9-LTS-211
- Red Hat OpenJDK 21.0.8+9-LTS (also tested, same result)
- Integration: OOoBean (officebean.jar)
- Application: Java Swing desktop application

CRASH REPORTS (from Windows Error Reporting):
soffice.bin 26.2.3.2 crashes when used via OOoBean:

1. BEX64:
   Faulting module: ucrtbase.dll (10.0.26100.8328)
   Exception code: c0000409
   Offset: 00000000000a4aee

2. APPCRASH:
   Faulting module: KERNELBASE.dll (10.0.26100.8457)
   Offset: 00000000000bfe0a

3. AppHangXProcB1 (cross-process hang):
   java.exe 21.0.11.0 hanging with soffice.bin 26.2.3.2

REGRESSION:
Yes. LibreOffice 25.x with Skia disabled via GUI option worked 
flawlessly with OOoBean embedding for years. The issue appeared 
after upgrading to 26.2.x.

STEPS TO REPRODUCE:
1. Create a Java Swing application that embeds LibreOffice Writer 
   using OOoBean (officebean.jar)
2. Start the Java application
3. Load a document via OOoBean.loadFromURL()
4. Observe toolbar icons with black bars/stripes

Alternatively (without OOoBean):
1. Start soffice.exe from a Java application via ProcessBuilder
   with --accept=socket,host=localhost,port=2002;urp;...
2. Connect via UNO-Bridge and load a document
3. Observe the same rendering glitches in the external LO window

Then for comparison:
4. Start LibreOffice Writer directly via Start menu or file 
   double-click (not from Java)
5. Observe perfect rendering - no glitches

EXPECTED BEHAVIOR:
Same clean rendering as standalone LibreOffice, regardless of 
how the process is started.

ACTUAL BEHAVIOR:
Black bars on toolbar icons, visual corruption. Only occurs when 
LibreOffice is started from a Java process.

WORKAROUND:
Downgrade to LibreOffice 25.x with Skia disabled.

RELATED BUGS:
- tdf#172008 (Intel Iris Xe blacklisted for Skia - similar 
  rendering symptoms but different root cause. Our Intel UHD 770 
  (DEV_A780) is not on the deny list. However, our issue only 
  occurs when started from Java, not standalone, so the deny 
  list would not resolve it.)

- tdf#170205 (Java threading crash fixed in 26.2.2 via "drop 
  NoYieldLock mode". We are on 26.2.3 so this fix is included, 
  but rendering glitches persist. The underlying cause was a 
  solar mutex change in tdf#168431 that broke Java interaction. 
  Our rendering issue may have a similar root cause in Java/VCL 
  thread interaction, as the glitches only appear when LO is 
  started from a Java process.)

- tdf#158129 (Bluescreen with dual GPU iGPU+dGPU configuration)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to