Bug 166943 - EDITING: Crash on alt+X use on lone combining diacritical mark
Summary: EDITING: Crash on alt+X use on lone combining diacritical mark
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
25.2.4.3 release
Hardware: All All
: medium minor
Assignee: Mike Kaganski
URL:
Whiteboard: target:26.2.0 target:25.2.5 target:25...
Keywords: bibisected, bisected, regression
Depends on:
Blocks:
 
Reported: 2025-06-10 17:43 UTC by Hampus
Modified: 2025-06-14 05:50 UTC (History)
2 users (show)

See Also:
Crash report or crash signature: ["rtl::str::newReplaceStrAt<_rtl_uString,char16_t>(_rtl_uString * *,_rtl_uString *,long,long,char16_t const *,long)"]


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hampus 2025-06-10 17:43:29 UTC
Using alt+X to retrieve the Unicode code point for (probably) any empty combining diacritical mark (U+0300–U+036F; alt codes 770–879) crashes LO Writer on Windows 10.

To reproduce:
1. Write "U+0300" in an empty document
2. Press alt+X
3. Press alt+X

Actual results:
The text is converted to a combining diacritical mark in step 2. In step 3, Writer immediately freezes and crashes shortly after.

Expected results:
"U+0300" is converted to a combining diacritical mark in step 2. The mark is reverted to "U+0300" in step 3.

Version: 25.2.4.3
Build ID: 33e196637044ead23f5c3226cde09b47731f7e27
OS: Windows 10

Crash type: Write access violation

Comment:
Shouldn't the error be caught instead of the entire thing crashing? I don't know how computer applications are coded but to me it feels like there could just be an "unknown error" popup with the choice to keep editing instead of restarting the program. In web development class we just let the client side ignore errors whenever possible and send them to us. Maybe that's only in high school.
Comment 1 Xisco Faulí 2025-06-10 18:07:55 UTC
Regression introduced by:

commit 5f1579c6fe56960f529e96f629d9a37352752345	[log]
author	Mike Kaganski <mike.kaganski@collabora.com>	Wed Aug 28 17:18:09 2024 +0500
committer	Mike Kaganski <mike.kaganski@collabora.com>	Wed Aug 28 20:51:59 2024 +0200
tree 2afb7107a9390ef411e401415507a660a5a381bd
parent df6293ad0634a29ff4d0196d1f9230062ccc95ca [diff]

tdf#162656: make sure to replace correct range

Bisected with: linux64-25.2
Comment 2 Mike Kaganski 2025-06-10 20:18:29 UTC
https://gerrit.libreoffice.org/c/core/+/186341
Comment 3 Commit Notification 2025-06-11 03:52:34 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/58a7c6ccfd3fa590460dba1ecbdef4483dcd5e08

tdf#166943: zero passed to AllowMoreInput means "no more input"

It will be available in 26.2.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 4 Commit Notification 2025-06-14 05:49:07 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-25-2":

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

tdf#166943: zero passed to AllowMoreInput means "no more input"

It will be available in 25.2.5.

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 5 Commit Notification 2025-06-14 05:50:10 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-25-8":

https://git.libreoffice.org/core/commit/54ea623c76f5f739b56f820d52a0a784e3e73af6

tdf#166943: zero passed to AllowMoreInput means "no more input"

It will be available in 25.8.0.0.beta2.

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.