Thank you!

-andy

From: Cormac Redmond <[email protected]>
Date: Friday, October 17, 2025 at 14:21
To: Andy Goryachev <[email protected]>
Cc: OpenJFX <[email protected]>
Subject: Re: [External] : Re: MacAccessible substring bug?


Hi Andy,

I know, and I share your frustration at not being able to reproduce it.

In this case, there are already two reproducible bugs related to this class in 
question, when VoiceOver is enabled (which comes preinstalled with macOS, not 
third-party software):

  *   JDK-8345536 (2019)<https://bugs.openjdk.org/browse/JDK-8345536>
  *   JDK-8235989 (2024)<https://bugs.openjdk.org/browse/JDK-8235989>

VoiceOver has many settings, which may be related as to why I cannot reproduce 
the exact issue described in JDK-8345536 (the StringIndexOutOfBoundsException), 
which seems likely the same one my user encountered. However, I can reproduce 
the second one (JDK-8235989) in my application, only when VoiceOver is enabled.

Both issues are already known, logged, and reproducible.

In my case, a global uncaught exception handler catches these and displays them 
to the user, which is not an uncommon pattern for a GUI (if there's an error, 
we don't want it swallowed and unnoticed, especially when we don't know what it 
affects). I think these are worth fixing.

It’s also worth noting that I have hundreds of unique macOS users each day, 
which further suggests that the original problem may be related to less common 
OS configurations or accessibility software such as VoiceOver, as otherwise I'd 
get more bug reports on these...


Kind regards,
Cormac

On Fri, 17 Oct 2025 at 17:25, Andy Goryachev 
<[email protected]<mailto:[email protected]>> wrote:
The goal here is to find a reproducible scenario, preferably without installing 
any additional software.  The details are important here - that's why I asked 
for a screenshot since it might help us find details that are often omitted by 
the users (understandably).  You mentioned you cannot reproduce the issue - 
without the steps to reproduce we can't even file a meaningful JBS ticket (I 
mean we can, but it will be promptly closed as "cannot reproduce" methinks).

If you can find out the reproducible scenario, and we can reproduce it here, 
I'll create a JBS ticket.

Thank you
-andy


From: Cormac Redmond <[email protected]<mailto:[email protected]>>
Date: Friday, October 17, 2025 at 08:38
To: Andy Goryachev <[email protected]<mailto:[email protected]>>
Cc: OpenJFX <[email protected]<mailto:[email protected]>>
Subject: [External] : Re: MacAccessible substring bug?

Hi,

They did follow-up to say it's happening on "every textinput", so I assume they 
mean every character they enter. They tried software restarts including their 
Mac Mini M2, no help..

I requested a screenshot, but the user has seemingly disappeared (it's a 
first-time user of free software so there's no incentive for them to stick 
around).

If anyone has a Mac Mini M2 or similar (with a clue about its accessibility 
software, which might be playing a part in this), I can link you to my 
software; it's straightforward to run, to see if reproducible?




Kind Regards,
Cormac

On Wed, 15 Oct 2025 at 21:02, Andy Goryachev 
<[email protected]<mailto:[email protected]>> wrote:
I wonder if menu's mnemonic parsing is involved.  Would it be possible to 
capture a screenshot of your application when this happens?

-andy

From: openjfx-dev 
<[email protected]<mailto:[email protected]>> on behalf 
of Cormac Redmond <[email protected]<mailto:[email protected]>>
Date: Wednesday, October 15, 2025 at 12:52
To: OpenJFX <[email protected]<mailto:[email protected]>>
Subject: MacAccessible substring bug?

Hi,

I have an application which a user is reporting as unusable. The below happens, 
repeatedly (sent to me by the user). After calling Dialog.showAndWait, 
MacAccessible is trying to use String.substring() illegally (JFX 25).

java.lang.StringIndexOutOfBoundsException: Range [1, 2) out of bounds for 
length 1
        at java.base/jdk.internal.util.Preconditions$1.apply(Unknown Source)
        at java.base/jdk.internal.util.Preconditions$1.apply(Unknown Source)
        at java.base/jdk.internal.util.Preconditions$4.apply(Unknown Source)
        at java.base/jdk.internal.util.Preconditions$4.apply(Unknown Source)
        at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source)
        at 
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Unknown 
Source)
        at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Unknown 
Source)
        at java.base/java.lang.String.checkBoundsBeginEnd(Unknown Source)
        at java.base/java.lang.String.substring(Unknown Source)
        at 
javafx.graphics@25-internal/com.sun.glass.ui.mac.MacAccessible.accessibilityAttributeValueForParameter(Unknown
 Source)
        at 
javafx.graphics@25-internal/com.sun.glass.ui.mac.MacApplication._enterNestedEventLoopImpl(Native
 Method)
        at 
javafx.graphics@25-internal/com.sun.glass.ui.mac.MacApplication._enterNestedEventLoop(Unknown
 Source)
        at 
javafx.graphics@25-internal/com.sun.glass.ui.Application.enterNestedEventLoop(Unknown
 Source)
        at javafx.graphics@25-internal/com.sun.glass.ui.EventLoop.enter(Unknown 
Source)
        at 
javafx.graphics@25-internal/com.sun.javafx.tk.quantum.QuantumToolkit.enterNestedEventLoop(Unknown
 Source)
        at javafx.graphics@25-internal/javafx.stage.Stage.showAndWait(Unknown 
Source)
        at 
javafx.controls@25-internal/javafx.scene.control.HeavyweightDialog.showAndWait(Unknown
 Source)
        at 
javafx.controls@25-internal/javafx.scene.control.Dialog.showAndWait(Unknown 
Source)
        <...SNIPPED...>

It seems a lot like this (unfixed) issue here: 
https://bugs.openjdk.org/browse/JDK-8235989, except the fallout isn't trivial 
in my application's case (though, I'm not sure how the error manifests itself 
to the user). I cannot reproduce the issue myself.

Is this a bug and can/should this be fixed?



Kind Regards,
Cormac

Reply via email to