https://bugs.winehq.org/show_bug.cgi?id=55962
Bug ID: 55962 Summary: Program that mixes 32-bit and 64-bit typelibs fails to find a referenced typelib Product: Wine Version: 8.21 Hardware: x86-64 OS: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: oleaut32 Assignee: wine-bugs@winehq.org Reporter: dmitry@baikal.ru CC: julliard@winehq.org Regression SHA1: 43e5f9e4bfa65ccea633df244a7ec0c790ed8ffb Distribution: ---
I have a 32-bit program that has a 32-bit typelib (SYS_WIN32) in its resources. This program also ships a bunch of 32-bit dlls that also have typelibs in their resources, and these typelibs referense a typelib from main exe by guid. However all the typelibs in 32-bit dlls have syskind SYS_WIN64, and that prevents finding a referenced typelib from main exe. This is a regression, and it's caused by
commit 43e5f9e4bfa65ccea633df244a7ec0c790ed8ffb Author: Alexandre Julliard julliard@winehq.org Date: Fri Sep 9 17:27:27 2022 +0200
oleaut32: Check that the 32/64 syskind matches when getting a typelib from the cache.
Fixes test failures on 64-bit.
Reverting this commit makes the program work again.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #1 from Alexandre Julliard julliard@winehq.org --- Do you have a test case or a way of reproducing this?
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #2 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Alexandre Julliard from comment #1)
Do you have a test case or a way of reproducing this?
No, I don't have a test case.
https://bugs.winehq.org/show_bug.cgi?id=55962
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO
--- Comment #3 from Alexandre Julliard julliard@winehq.org --- Is there any other way that you can provide more info? I don't think it's possible to figure it out from such a vague description.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #4 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Alexandre Julliard from comment #3)
Is there any other way that you can provide more info? I don't think it's possible to figure it out from such a vague description.
Would you like to see a log? What kind of debug info would be useful in that case?
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- We can start with a log, but most likely it would need some way of reproducing the issue.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Alexandre Julliard from comment #5)
We can start with a log, but most likely it would need some way of reproducing the issue.
I don't think that it's a realistic requirement to ask for a test for any regression. Looking at the commit that has caused the regression I'd ask instead what kind of failures did it try to fix? Probably there's another way to fix them? Regarding a log, what kind of debug channels would be useful for a start?
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #7 from Austin English austinenglish@gmail.com --- Does this application does have a public demo/download that can reproduce the issue?
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #8 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Austin English from comment #7)
Does this application does have a public demo/download that can reproduce the issue?
No.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- We can start with a log, but most likely it would need some way of reproducing the issue.(In reply to Dmitry Timoshkov from comment #6)
(In reply to Alexandre Julliard from comment #5)
We can start with a log, but most likely it would need some way of reproducing the issue.
I don't think that it's a realistic requirement to ask for a test for any regression.
I don't think it's unreasonable to ask for a way to reproduce the issue. Usually that means a download link, but for private apps, a test case is the most helpful. It doesn't need to be integrated in the Wine test suite, a stand-alone program would be fine.
Regarding a log, what kind of debug channels would be useful for a start?
+ole,+typelib probably.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #10 from Dmitry Timoshkov dmitry@baikal.ru --- Created attachment 75651 --> https://bugs.winehq.org/attachment.cgi?id=75651 Test case
Attached test case is supposed to reproduce the problem.
https://bugs.winehq.org/show_bug.cgi?id=55962
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase Status|NEEDINFO |NEW
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- (In reply to Dmitry Timoshkov from comment #10)
Created attachment 75651 [details] Test case
Attached test case is supposed to reproduce the problem.
That's very helpful, thanks!
https://bugs.winehq.org/show_bug.cgi?id=55962
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |4ffc313d9da37c4bc6e577e680f | |673ff72b18c7d
--- Comment #12 from Dmitry Timoshkov dmitry@baikal.ru --- The offending commit has been reverted. Thanks Alexandre.
https://bugs.winehq.org/show_bug.cgi?id=55962
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Thanks for the test case!
Mixing 32/64-bit typelibs is still quite broken, but further fixes will have to wait until after code freeze. Hopefully it's good enough for your use case.
https://bugs.winehq.org/show_bug.cgi?id=55962
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.0-rc3.