On Thu, 28 Dec 2023 09:48:52 GMT, Matthias Baesken <[email protected]> wrote:

> When running with fastdebug binaries we run intermittent into the issue below 
> in
> jtreg test 
> java/awt/image/MultiResolutionImage/MultiResolutionImageObserverTest.java .
> Seems we miss checking of successful HBITMAP creation before calling 
> GetDIBits.
> 
>   HDC hBMDC = this->GetDC();
>   HBITMAP hBM = ::CreateCompatibleBitmap(hBMDC, 1, 1);
>   VERIFY(::GetDIBits(hBMDC, hBM, 0, 1, NULL, gpBitmapInfo, DIB_RGB_COLORS));
> 
> in awt_Win32GraphicsDevice.cpp . Thats why the releast of hBMDC / hBM fails 
> as well at the end of the function causing the seond and third warning.
> 
> 
> Sat Nov 18 17:29:23 CET 2023
> 
> *********************
> AWT Assertion Failure
> *********************
> ::GetDIBits(hBMDC, hBM, 0, 1, 0, gpBitmapInfo, 0)
> File 
> 'e:\openjdk\openjdk-21u-windows_x86_64-dbg\jdk\src\java.desktop\windows\native\libawt\windows\awt_Win32GraphicsDevice.cpp',
>  at line 184
> GetLastError() is 57 : The parameter is incorrect.
> 
> Do you want to break into the debugger?
> *********************
> *********************
> AWT Assertion Failure
> *********************
> ::DeleteObject(hBM)
> File 
> 'e:\openjdk\openjdk-21u-windows_x86_64-dbg\jdk\src\java.desktop\windows\native\libawt\windows\awt_Win32GraphicsDevice.cpp',
>  at line 297
> GetLastError() is 57 : The parameter is incorrect.
> 
> So it seems, we should have some additional checks/tracing.

> Is the purpose of this review to just add traces?
> 
> The errors seems to come from _headless_ environment. A better fix would be 
> to add `@key headful` to the `MultiResolutionImageObserverTest.java` test, 
> even though the test does not display UI.

Hi Alexey, I am not against adding the key to the test, probably this makes 
sense.
But still I think the coding itself should work better also in headless mode.

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

PR Comment: https://git.openjdk.org/jdk/pull/17197#issuecomment-1874983286

Reply via email to