This patch removes a work around that causes a crash in Unravel Two.
There is a callback in Unravel Two that appears to add a reference to a
IMediaSample, which this work around treats as a leak and releases. However, the
application also releases the reference causing a negative overflow and
an assertion failure on line 345 of dlls/quartz/memallocator.c.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51616
Signed-off-by: Brendan McGrath <brendan(a)redmandi.com>
---
Although I'm not convinced just deleting 12 yr old code is a great idea,
the original author did describe this work around as "ugly". I would
describe it as unsafe. See Wine Bug 51616.
I think it may also be possible for the work around to fail in a
multi-threaded scenario, where the IMediaSample is accessed in parallel
to the callback; potentially with a negative overflow of its own (and
looping 4294967295 times). Although I'm not familiar enough with the uses
of qedit to understand if this is even plausible.
Unfortunately, I've only tested the removal of this work around with the one
application; Unravel Two.
Also note that I've only been able to test this "fix" with a local build of
Proton 7 Experimental. I couldn't get the application to run in vanilla Wine
(as the Origin launcher failed to install).
Definitely interested in thoughts.
dlls/qedit/samplegrabber.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/dlls/qedit/samplegrabber.c b/dlls/qedit/samplegrabber.c
index 9b9780e564a8..cefb2f370785 100644
--- a/dlls/qedit/samplegrabber.c
+++ b/dlls/qedit/samplegrabber.c
@@ -164,9 +164,6 @@ static void SampleGrabber_callback(struct sample_grabber *This, IMediaSample *sa
if (ref)
{
ERR("(%p) Callback referenced sample %p by %lu\n", This, sample, ref);
- /* ugly as hell but some apps are sooo buggy */
- while (ref--)
- IMediaSample_Release(sample);
}
}
break;
--
2.34.1
Binary packages for various distributions will be available from:
https://www.winehq.org/download
Summary since last release
* Rebased to current wine 7.15 (536 patches are applied to wine vanilla)
Upstreamed (Either directly from staging or fixed with a similar patch).
* xactengine3_7: Record context for each notification.
* xactengine3_7: Add helper function to add entries.
* xactengine3_7: Map SoundBank interfaces.
* xactengine3_7: Map IXACT3Cue interfaces.
* xactengine3_7: Map IXACT3Wave interfaces.
* xactengine3_7: Implement callback for supported messages.
Added:
* [52396] ntdll: Don't use Wine frames during exception processing on x64.
* [52396] dsdmo: Add more FX interfaces.
* [53497] wined3d: Use wined3d_array_reserve() in
wined3d_adapter_create_output()
Updated:
* none
Where can you help
* Run Steam/Battle.net/GOG/UPlay/Epic
* Test your favorite game.
* Test your favorite applications.
* Improve staging patches and get them accepted upstream.
As always, if you find a bug, please report it via
https://bugs.winehq.org
Best Regards
Alistair.
Hi,
It looks like your patch introduced the new failures shown below.
Please investigate and fix them before resubmitting your patch.
If they are not new, fixing them anyway would help a lot. Otherwise
please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how
to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=121042
Your paranoid android.
=== w10pro64 (64 bit report) ===
mshtml:
htmldoc.c:350: Test failed: expected Exec_SETTITLE
htmldoc.c:2859: Test failed: unexpected call Exec_SETTITLE
Hey folks,
I've just learned that what we've done all these years is an un
conference (https://en.wikipedia.org/wiki/Unconference) or a BarCamp
(https://en.wikipedia.org/wiki/BarCamp). So we were cool *long* before
these other cats starting copying us.
However, since we are partnering with X.org on Wine Conf, and they use
the slick Indico conference system, we should get with the program.
I would really appreciate it if folks could submit talk ideas:
https://indico.freedesktop.org/event/2/abstracts/
We have, a non zero number of scheduled presentations already, but think
that number may be one. So I would really appreciate it if folks would
submit abstracts.
Cheers,
Jeremy
p.s. Other reminders:
- We have funds available to sponsor travel. If cost makes you
hesitate, please reach out to me privately.
- There is a hotel block you can sign up for
- New this year, it's nice if you sign to show you are coming:
https://indico.freedesktop.org/event/2/registrations/2/.