[Libreoffice-bugs] [Bug 141209] New: URP bridge disposed by invalid UTF-16 (lone low surrogate) in Writer document
bugzilla-daemon at bugs.documentfoundation.org
bugzilla-daemon at bugs.documentfoundation.org
Tue Mar 23 18:38:54 UTC 2021
https://bugs.documentfoundation.org/show_bug.cgi?id=141209
Bug ID: 141209
Summary: URP bridge disposed by invalid UTF-16 (lone low
surrogate) in Writer document
Product: LibreOffice
Version: 7.0.5.2 release
Hardware: x86-64 (AMD64)
OS: Windows (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: sdk
Assignee: libreoffice-bugs at lists.freedesktop.org
Reporter: thomas.kraemer at posteo.de
Created attachment 170669
--> https://bugs.documentfoundation.org/attachment.cgi?id=170669&action=edit
Java project which reproduces the problem
1. Start the attached Java project (It is based on the "DocumentLoader.java"
example from the 7.1 SDK. So you can just drop the Main.java into your
preferred environment if maven is not to your taste.) The example code starts a
new LibreOffice Writer process, waits for 30 seconds and then prints the
content of the document to sysout via
com.sun.star.text.XTextDocument.getText().
2. To reproduce the problem enter a lone low surrogate into the Writer
document. E.g. enter "df09" into the document and then press Alt+X (or Alt+C
depending on your locale).
3. Wait until the 30 s timeout has passed.
Observed result:
----------------
The example program will exit with the following exception:
com.sun.star.lang.DisposedException
at
com.sun.star.lib.uno.environments.remote.JobQueue.removeJob(JobQueue.java:201)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:308)
at
com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:281)
at
com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:81)
at
com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:619)
at
com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:145)
at
com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:129)
at com.sun.proxy.$Proxy6.getString(Unknown Source)
at com.vector.Main.main(Main.java:28)
Caused by: java.io.EOFException
at java.base/java.io.DataInputStream.readInt(DataInputStream.java:396)
at com.sun.star.lib.uno.protocols.urp.urp.readBlock(urp.java:364)
at com.sun.star.lib.uno.protocols.urp.urp.readMessage(urp.java:96)
at
com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge$MessageDispatcher.run(java_remote_bridge.java:92)
The LibreOffice process is still running afterwards but the socket connection
is closed. (There is no issue when “closing” the surrogate pair, e.g. for the
input 🌉(\ud83c\udf09).)
Expected result
---------------
The URP bridge is still usable for further requests by the "client" after
catching the exception for getText().
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210323/2a376f1e/attachment.htm>
More information about the Libreoffice-bugs
mailing list