Stefan Dösinger : ddraw/tests: Disable a test that causes heap corruption on some Nvidia.
Alexandre Julliard
julliard at winehq.org
Wed Jan 22 14:52:59 CST 2020
Module: wine
Branch: master
Commit: b9a9ad4c0355a7d42ee5515b0eefa3087bd930ca
URL: https://source.winehq.org/git/wine.git/?a=commit;h=b9a9ad4c0355a7d42ee5515b0eefa3087bd930ca
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Tue Jan 7 12:40:05 2020 +0100
ddraw/tests: Disable a test that causes heap corruption on some Nvidia.
Signed-off-by: Stefan Dösinger <stefan at codeweavers.com
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ddraw/tests/ddraw1.c | 16 +++++++++++++---
dlls/ddraw/tests/ddraw2.c | 16 +++++++++++++---
dlls/ddraw/tests/ddraw4.c | 16 +++++++++++++---
dlls/ddraw/tests/ddraw7.c | 16 +++++++++++++---
4 files changed, 52 insertions(+), 12 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index b513121fbb..80c96fccc4 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -12908,9 +12908,19 @@ static void test_clipper_refcount(void)
IDirectDrawClipper_Release(clipper);
IDirectDrawClipper_Release(clipper);
- hr = IDirectDrawSurface_GetClipper(surface, &clipper2);
- ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
- ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ if (!ddraw_is_nvidia(ddraw))
+ {
+ /* Disabled because it causes heap corruption (HeapValidate fails and random
+ * hangs in a later HeapFree) on Windows on one of my Machines: MacbookPro 10,1
+ * running Windows 10 18363.535 and Nvidia driver 425.31. Driver version 441.66
+ * is affected too.
+ *
+ * The same Windows and driver versions run the test without heap corruption on
+ * a Geforce 1060 GTX card. I have not seen the problem on AMD GPUs either. */
+ hr = IDirectDrawSurface_GetClipper(surface, &clipper2);
+ ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
+ ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ }
/* Show that invoking the Release method does not crash, but don't get the
* vtable through the clipper pointer because it is no longer pointing to
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index a2a27d86f0..390184e80d 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -13737,9 +13737,19 @@ static void test_clipper_refcount(void)
IDirectDrawClipper_Release(clipper);
IDirectDrawClipper_Release(clipper);
- hr = IDirectDrawSurface_GetClipper(surface, &clipper2);
- ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
- ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ if (!ddraw_is_nvidia(ddraw))
+ {
+ /* Disabled because it causes heap corruption (HeapValidate fails and random
+ * hangs in a later HeapFree) on Windows on one of my Machines: MacbookPro 10,1
+ * running Windows 10 18363.535 and Nvidia driver 425.31. Driver version 441.66
+ * is affected too.
+ *
+ * The same Windows and driver versions run the test without heap corruption on
+ * a Geforce 1060 GTX card. I have not seen the problem on AMD GPUs either. */
+ hr = IDirectDrawSurface_GetClipper(surface, &clipper2);
+ ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
+ ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ }
/* Show that invoking the Release method does not crash, but don't get the
* vtable through the clipper pointer because it is no longer pointing to
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index 77cf6f4511..1a16e2d571 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -16388,9 +16388,19 @@ static void test_clipper_refcount(void)
IDirectDrawClipper_Release(clipper);
IDirectDrawClipper_Release(clipper);
- hr = IDirectDrawSurface4_GetClipper(surface, &clipper2);
- ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
- ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ if (!ddraw_is_nvidia(ddraw))
+ {
+ /* Disabled because it causes heap corruption (HeapValidate fails and random
+ * hangs in a later HeapFree) on Windows on one of my Machines: MacbookPro 10,1
+ * running Windows 10 18363.535 and Nvidia driver 425.31. Driver version 441.66
+ * is affected too.
+ *
+ * The same Windows and driver versions run the test without heap corruption on
+ * a Geforce 1060 GTX card. I have not seen the problem on AMD GPUs either. */
+ hr = IDirectDrawSurface4_GetClipper(surface, &clipper2);
+ ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
+ ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ }
/* Show that invoking the Release method does not crash, but don't get the
* vtable through the clipper pointer because it is no longer pointing to
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index f4a709711b..20a1bc5f3a 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -16290,9 +16290,19 @@ static void test_clipper_refcount(void)
IDirectDrawClipper_Release(clipper);
IDirectDrawClipper_Release(clipper);
- hr = IDirectDrawSurface7_GetClipper(surface, &clipper2);
- ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
- ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ if (!ddraw_is_nvidia(ddraw))
+ {
+ /* Disabled because it causes heap corruption (HeapValidate fails and random
+ * hangs in a later HeapFree) on Windows on one of my Machines: MacbookPro 10,1
+ * running Windows 10 18363.535 and Nvidia driver 425.31. Driver version 441.66
+ * is affected too.
+ *
+ * The same Windows and driver versions run the test without heap corruption on
+ * a Geforce 1060 GTX card. I have not seen the problem on AMD GPUs either. */
+ hr = IDirectDrawSurface7_GetClipper(surface, &clipper2);
+ ok(SUCCEEDED(hr), "Failed to get clipper, hr %#x.\n", hr);
+ ok(clipper == clipper2, "Got clipper %p, expected %p.\n", clipper2, clipper);
+ }
/* Show that invoking the Release method does not crash, but don't get the
* vtable through the clipper pointer because it is no longer pointing to
More information about the wine-cvs
mailing list