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.