https://bugs.winehq.org/show_bug.cgi?id=49425
Bug ID: 49425 Summary: gdiplus:image tests fail when accessing files Product: Wine Version: 5.11 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: madewokherd@gmail.com Distribution: ---
Running gdiplus:image using make test, I get the following failures: image.c:503: Test failed: Expected 0, got 1 image.c:510: Test failed: Expected 0, got 1 image.c:523: Test failed: Delete failed. image.c:579: Test failed: Expected 0, got 1 image.c:700: Test failed: Delete 1.tif failed.
Digging in a bit, seems to be some kind of permissions or sharing issue: 00c0:trace:gdiplus:GdipSaveImageToFile 0000000000BD3060 (L"a.bmp") 0000000000000000 0000000000000000 00c0:trace:gdiplus:GdipGetImageEncodersSize 000000000031F7C0 000000000031F7C8 00c0:trace:gdiplus:GdipGetImageEncoders 5 520 0000000000A8BDD0 00c0:trace:gdiplus:GdipSaveImageToFile 0000000000BD3060 (L"a.bmp") 0000000000A8BDD0 0000000000000000 00c0:trace:gdiplus:GdipCreateStreamOnFile (L"a.bmp", 1073741824, 000000000031F6D8) 00c0: create_file( access=c0100080, sharing=00000001, create=5, options=00000060, attrs=00000000, objattr={rootdir=0000,attributes=00000040,sd={},name=L""}, filename="/home/wine/.wine/dosdevices/z:/a.bmp" ) 00c0: create_file() = ACCESS_DENIED { handle=0000 } image.c:503: Test failed: Expected 0, got 1
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source, testcase
https://bugs.winehq.org/show_bug.cgi?id=49425
--- Comment #1 from Esme Povirk madewokherd@gmail.com --- I see the problem, even though I'm in the test directory, the current directory is being set to z:\ for some reason, and I do not have permissions to write there.
https://bugs.winehq.org/show_bug.cgi?id=49425
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- Sure enough, chaining through "wine cmd", which ends up in the correct directory, works.
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|gdiplus:image tests fail |"make test" runs tests in |when accessing files |z:\ rather than the tests | |directory
https://bugs.winehq.org/show_bug.cgi?id=49425
--- Comment #3 from Esme Povirk madewokherd@gmail.com --- It seems that if a path to a specific .exe file is passed to wine, it loses the working directory.
wine@wiley:~/wine/wine64$ ./wine winepath -u . /home/wine/.wine/dosdevices/z:/home/wine/wine/wine64 wine@wiley:~/wine/wine64$ ./wine programs/winepath/winepath.exe -u . /home/wine/.wine/dosdevices/z:/
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|"make test" runs tests in |"wine" command changes the |z:\ rather than the tests |working directory when |directory |given a path to a .exe
--- Comment #4 from Esme Povirk madewokherd@gmail.com --- This does not only apply when running the "wine" script, the installed "wine" binary is also affected.
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49425
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=49425
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |df5e4764870e8ad1d8b206cb347 | |5a073bc034e48 Component|-unknown |ntdll
--- Comment #5 from Esme Povirk madewokherd@gmail.com --- df5e4764870e8ad1d8b206cb3475a073bc034e48 is the first bad commit commit df5e4764870e8ad1d8b206cb3475a073bc034e48 Author: Alexandre Julliard julliard@winehq.org Date: Wed Jun 17 16:19:38 2020 +0200
ntdll: Move the current directory initialization to the Unix library.
https://bugs.winehq.org/show_bug.cgi?id=49425
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fgouget@codeweavers.com
--- Comment #6 from François Gouget fgouget@codeweavers.com --- This also partially breaks the TestBot: when one manually submits a job to run in the 64-bit Wine, the TestBot chdirs() to c:\ where the test executable is and then runs ".../wine TestLauncher64.exe foo_test.exe xxx". But wine resets the current directory to / before hitting TestLauncher's main() which then cannot do its executable dependency checks.
Interestingly this is specific to the 32-bit -> 64-bit cross-calls: wine foo32.exe -> current directory is preserved wine foo64.exe -> current directory is reset to / wine64 foo64.exe -> current directory is preserved
This is also why the pure 32-bit and 32-bit WoW tests still run fine. The patches submitted to wine-devel also work but for a different reason: instead of TestLauncher those go through winetest.exe in a way that does not depend on the current directory.
https://bugs.winehq.org/show_bug.cgi?id=49425
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #7 from François Gouget fgouget@codeweavers.com --- This is fixed by:
commit 6ff0bb786c43ac3348dec6a977feb36af8bc4bcf Author: Alexandre Julliard julliard@winehq.org Date: Mon Jun 22 11:44:09 2020 +0200
ntdll: Set the Unix current directory also in the exec process case.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49425 Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=49425
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6ff0bb786c43ac3348dec6a977f | |eb36af8bc4bcf
https://bugs.winehq.org/show_bug.cgi?id=49425
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xantares09@hotmail.com
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- *** Bug 49451 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49425
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |suokkos@gmail.com
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- *** Bug 49499 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=49425
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.12.