RFR: 8270269: Desktop.browse method fails if earlier CoInitialize call as COINIT_MULTITHREADED [v3]

Alexey Ivanov aivanov at openjdk.org
Mon Jan 29 20:59:44 UTC 2024


On Fri, 26 Jan 2024 20:11:07 GMT, MustavData <duke at openjdk.org> wrote:

>> Sergey Bylokhov has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Update src/java.desktop/windows/native/libawt/windows/awt_Desktop.cpp
>>   
>>   date
>>   
>>   Co-authored-by: Alexey Ivanov <alexey.ivanov at oracle.com>
>
> I am working to verify the initial fix of JDK-8270269 in OpenJDK 23 (beta).  The basic environment is:
> 
>     OpenJDK:  "Azul Systems, Inc.", "Zulu23+11-CA", "23-beta+1", "x86_64", ".:git:e278d5994c10+"
>     OS:  Windows 11, version 22H2, Build 22621.3007, VC++ 2015-2022 Runtime version 14.38.33130.0
> 
> The test application is a Java client with the user successfully logged in, following initial launch, against a web application.  Here are the basic tests that need to pass:
> 
> 1. Re-authentication after the standard web app timeout of 30 minutes, typically triggered when returning from lunch
> 2. Re-authentication after numerous hours, typically triggered when returning to work the next morning
> 
> Results so far:
> 
> 1. Without the initial fix, the Test 1 fails as reported in JDK-8270269
> 2. With the initial fix, Test 1 succeeds, and Test 2 fails with a `java.io.IOException` thrown upon a failure in `CoInitializeEx()`
> 
> Here is the stack trace from the Test 2 failure:
> 
> 
> java.io.IOException: Failed to open https://<web-app-url>. Error message: CoInitializeEx() failed.
> 	at java.desktop/sun.awt.windows.WDesktopPeer.ShellExecute(WDesktopPeer.java:115)
> 	at java.desktop/sun.awt.windows.WDesktopPeer.browse(WDesktopPeer.java:101)
> 	at java.desktop/java.awt.Desktop.browse(Desktop.java:533)

@MustavData, according to the line number, you're using a build without Segey's fix:

https://github.com/openjdk/jdk/blob/bff7725b4d81c12c0c826933fc2ad4f49a227536/src/java.desktop/windows/classes/sun/awt/windows/WDesktopPeer.java#L114-L117

In the file with this fix, the line number where the exception is thrown is 119:

https://github.com/openjdk/jdk/blob/b25ed57b764fc485e4e8ca4118ffb1cc70fdfe7f/src/java.desktop/windows/classes/sun/awt/windows/WDesktopPeer.java#L118-L121

-------------

PR Comment: https://git.openjdk.org/jdk/pull/17010#issuecomment-1915552689


More information about the client-libs-dev mailing list