Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2021
- 82 participants
- 1899 messages
[PATCH v2 4/5] winebus.sys: Handle IRP_MN_SURPRISE_REMOVAL and set removed flag.
by Rémi Bernon
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
---
dlls/winebus.sys/main.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c
index b1e44c147bd..c1c59b8a8e1 100644
--- a/dlls/winebus.sys/main.c
+++ b/dlls/winebus.sys/main.c
@@ -372,10 +372,6 @@ void bus_unlink_hid_device(DEVICE_OBJECT *device)
EnterCriticalSection(&device_list_cs);
list_remove(&pnp_device->entry);
LeaveCriticalSection(&device_list_cs);
-
- EnterCriticalSection(&ext->cs);
- ext->removed = TRUE;
- LeaveCriticalSection(&ext->cs);
}
void bus_remove_hid_device(DEVICE_OBJECT *device)
@@ -698,13 +694,18 @@ static NTSTATUS pdo_pnp_dispatch(DEVICE_OBJECT *device, IRP *irp)
status = STATUS_SUCCESS;
break;
+ case IRP_MN_SURPRISE_REMOVAL:
+ EnterCriticalSection(&ext->cs);
+ remove_pending_irps(device);
+ ext->removed = TRUE;
+ LeaveCriticalSection(&ext->cs);
+ break;
+
case IRP_MN_REMOVE_DEVICE:
{
struct pnp_device *pnp_device = ext->pnp_device;
- EnterCriticalSection(&ext->cs);
remove_pending_irps(device);
- LeaveCriticalSection(&ext->cs);
ext->vtbl->free_device(device);
--
2.32.0
June 30, 2021
[PATCH v2 3/5] winebus.sys: Introduce new remove_pending_irps helper.
by Rémi Bernon
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
---
dlls/winebus.sys/main.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c
index a512015d478..b1e44c147bd 100644
--- a/dlls/winebus.sys/main.c
+++ b/dlls/winebus.sys/main.c
@@ -235,6 +235,20 @@ static WCHAR *get_compatible_ids(DEVICE_OBJECT *device)
return dst;
}
+static void remove_pending_irps(DEVICE_OBJECT *device)
+{
+ struct device_extension *ext = device->DeviceExtension;
+ LIST_ENTRY *entry;
+
+ while ((entry = RemoveHeadList(&ext->irp_queue)) != &ext->irp_queue)
+ {
+ IRP *queued_irp = CONTAINING_RECORD(entry, IRP, Tail.Overlay.s.ListEntry);
+ queued_irp->IoStatus.u.Status = STATUS_DELETE_PENDING;
+ queued_irp->IoStatus.Information = 0;
+ IoCompleteRequest(queued_irp, IO_NO_INCREMENT);
+ }
+}
+
DEVICE_OBJECT *bus_create_hid_device(const WCHAR *busidW, WORD vid, WORD pid,
WORD input, DWORD version, DWORD uid, const WCHAR *serialW, BOOL is_gamepad,
const platform_vtbl *vtbl, DWORD platform_data_size)
@@ -687,16 +701,9 @@ static NTSTATUS pdo_pnp_dispatch(DEVICE_OBJECT *device, IRP *irp)
case IRP_MN_REMOVE_DEVICE:
{
struct pnp_device *pnp_device = ext->pnp_device;
- LIST_ENTRY *entry;
EnterCriticalSection(&ext->cs);
- while ((entry = RemoveHeadList(&ext->irp_queue)) != &ext->irp_queue)
- {
- IRP *queued_irp = CONTAINING_RECORD(entry, IRP, Tail.Overlay.s.ListEntry);
- queued_irp->IoStatus.u.Status = STATUS_DELETE_PENDING;
- queued_irp->IoStatus.Information = 0;
- IoCompleteRequest(queued_irp, IO_NO_INCREMENT);
- }
+ remove_pending_irps(device);
LeaveCriticalSection(&ext->cs);
ext->vtbl->free_device(device);
--
2.32.0
June 30, 2021
[PATCH v2 2/5] ntoskrnl.exe/tests: Add some pending / remove tests.
by Rémi Bernon
This shows that removing a device should send IRP_MN_SURPRISE_REMOVAL
only, and that it's still possible to use DeviceIoControl on already
opened handles.
IRP_MN_REMOVE_DEVICE should only be sent when all then opened handles
are closed.
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
---
dlls/ntoskrnl.exe/tests/driver.h | 2 +
dlls/ntoskrnl.exe/tests/driver_pnp.c | 99 ++++++++++++++++++++++++++--
dlls/ntoskrnl.exe/tests/ntoskrnl.c | 30 ++++++++-
3 files changed, 125 insertions(+), 6 deletions(-)
diff --git a/dlls/ntoskrnl.exe/tests/driver.h b/dlls/ntoskrnl.exe/tests/driver.h
index 2c62baa0a61..455695ad36b 100644
--- a/dlls/ntoskrnl.exe/tests/driver.h
+++ b/dlls/ntoskrnl.exe/tests/driver.h
@@ -35,6 +35,8 @@
#define IOCTL_WINETEST_RETURN_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80a, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_WINETEST_MISMATCHED_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80b, METHOD_NEITHER, FILE_ANY_ACCESS)
#define IOCTL_WINETEST_COMPLETION CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80c, METHOD_NEITHER, FILE_ANY_ACCESS)
+#define IOCTL_WINETEST_MARK_PENDING CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80d, METHOD_NEITHER, FILE_ANY_ACCESS)
+#define IOCTL_WINETEST_CHECK_REMOVED CTL_CODE(FILE_DEVICE_UNKNOWN, 0x80e, METHOD_NEITHER, FILE_ANY_ACCESS)
#define IOCTL_WINETEST_BUS_MAIN CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_WINETEST_BUS_REGISTER_IFACE CTL_CODE(FILE_DEVICE_BUS_EXTENDER, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
diff --git a/dlls/ntoskrnl.exe/tests/driver_pnp.c b/dlls/ntoskrnl.exe/tests/driver_pnp.c
index 774c98bae89..98ca2ff7961 100644
--- a/dlls/ntoskrnl.exe/tests/driver_pnp.c
+++ b/dlls/ntoskrnl.exe/tests/driver_pnp.c
@@ -41,6 +41,56 @@ static UNICODE_STRING control_symlink, bus_symlink;
static DRIVER_OBJECT *driver_obj;
static DEVICE_OBJECT *bus_fdo, *bus_pdo;
+static DWORD remove_device_count;
+static DWORD surprise_removal_count;
+static DWORD query_remove_device_count;
+static DWORD cancel_remove_device_count;
+
+struct irp_queue
+{
+ KSPIN_LOCK lock;
+ LIST_ENTRY list;
+};
+
+static IRP *irp_queue_pop(struct irp_queue *queue)
+{
+ KIRQL irql;
+ IRP *irp;
+
+ KeAcquireSpinLock(&queue->lock, &irql);
+ if (IsListEmpty(&queue->list)) irp = NULL;
+ else irp = CONTAINING_RECORD(RemoveHeadList(&queue->list), IRP, Tail.Overlay.ListEntry);
+ KeReleaseSpinLock(&queue->lock, irql);
+
+ return irp;
+}
+
+static void irp_queue_push(struct irp_queue *queue, IRP *irp)
+{
+ KIRQL irql;
+
+ KeAcquireSpinLock(&queue->lock, &irql);
+ InsertTailList(&queue->list, &irp->Tail.Overlay.ListEntry);
+ KeReleaseSpinLock(&queue->lock, irql);
+}
+
+static void irp_queue_clear(struct irp_queue *queue)
+{
+ IRP *irp;
+
+ while ((irp = irp_queue_pop(queue)))
+ {
+ irp->IoStatus.Status = STATUS_DELETE_PENDING;
+ IoCompleteRequest(irp, IO_NO_INCREMENT);
+ }
+}
+
+static void irp_queue_init(struct irp_queue *queue)
+{
+ KeInitializeSpinLock(&queue->lock);
+ InitializeListHead(&queue->list);
+}
+
struct device
{
struct list entry;
@@ -49,6 +99,7 @@ struct device
BOOL removed;
UNICODE_STRING child_symlink;
DEVICE_POWER_STATE power_state;
+ struct irp_queue irp_queue;
};
static struct list device_list = LIST_INIT(device_list);
@@ -207,6 +258,8 @@ static NTSTATUS pdo_pnp(DEVICE_OBJECT *device_obj, IRP *irp)
POWER_STATE state = {.DeviceState = PowerDeviceD0};
NTSTATUS status;
+ irp_queue_init(&device->irp_queue);
+
ok(!stack->Parameters.StartDevice.AllocatedResources, "expected no resources\n");
ok(!stack->Parameters.StartDevice.AllocatedResourcesTranslated, "expected no translated resources\n");
@@ -223,6 +276,14 @@ static NTSTATUS pdo_pnp(DEVICE_OBJECT *device_obj, IRP *irp)
}
case IRP_MN_REMOVE_DEVICE:
+ /* should've been checked and reset by IOCTL_WINETEST_CHECK_REMOVED */
+ ok(remove_device_count == 0, "expected no IRP_MN_REMOVE_DEVICE\n");
+ todo_wine ok(surprise_removal_count == 0, "expected no IRP_MN_SURPRISE_REMOVAL\n");
+ ok(query_remove_device_count == 0, "expected no IRP_MN_QUERY_REMOVE_DEVICE\n");
+ ok(cancel_remove_device_count == 0, "expected no IRP_MN_CANCEL_REMOVE_DEVICE\n");
+
+ remove_device_count++;
+ irp_queue_clear(&device->irp_queue);
if (device->removed)
{
IoSetDeviceInterfaceState(&device->child_symlink, FALSE);
@@ -289,8 +350,20 @@ static NTSTATUS pdo_pnp(DEVICE_OBJECT *device_obj, IRP *irp)
break;
}
- case IRP_MN_QUERY_REMOVE_DEVICE:
case IRP_MN_SURPRISE_REMOVAL:
+ surprise_removal_count++;
+ irp_queue_clear(&device->irp_queue);
+ ret = STATUS_SUCCESS;
+ break;
+
+ case IRP_MN_QUERY_REMOVE_DEVICE:
+ query_remove_device_count++;
+ irp_queue_clear(&device->irp_queue);
+ ret = STATUS_SUCCESS;
+ break;
+
+ case IRP_MN_CANCEL_REMOVE_DEVICE:
+ cancel_remove_device_count++;
ret = STATUS_SUCCESS;
break;
}
@@ -579,8 +652,10 @@ static NTSTATUS fdo_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG code)
}
}
-static NTSTATUS pdo_ioctl(struct device *device, IRP *irp, IO_STACK_LOCATION *stack, ULONG code)
+static NTSTATUS pdo_ioctl(DEVICE_OBJECT *device_obj, IRP *irp, IO_STACK_LOCATION *stack, ULONG code)
{
+ struct device *device = device_obj->DeviceExtension;
+
switch (code)
{
case IOCTL_WINETEST_CHILD_GET_ID:
@@ -590,6 +665,22 @@ static NTSTATUS pdo_ioctl(struct device *device, IRP *irp, IO_STACK_LOCATION *st
irp->IoStatus.Information = sizeof(device->id);
return STATUS_SUCCESS;
+ case IOCTL_WINETEST_MARK_PENDING:
+ IoMarkIrpPending(irp);
+ irp_queue_push(&device->irp_queue, irp);
+ return STATUS_PENDING;
+
+ case IOCTL_WINETEST_CHECK_REMOVED:
+ ok(remove_device_count == 0, "expected IRP_MN_REMOVE_DEVICE\n");
+ ok(surprise_removal_count == 1, "expected IRP_MN_SURPRISE_REMOVAL\n");
+ ok(query_remove_device_count == 0, "expected no IRP_MN_QUERY_REMOVE_DEVICE\n");
+ ok(cancel_remove_device_count == 0, "expected no IRP_MN_CANCEL_REMOVE_DEVICE\n");
+ remove_device_count = 0;
+ surprise_removal_count = 0;
+ query_remove_device_count = 0;
+ cancel_remove_device_count = 0;
+ return STATUS_SUCCESS;
+
default:
ok(0, "Unexpected ioctl %#x.\n", code);
return STATUS_NOT_IMPLEMENTED;
@@ -605,10 +696,10 @@ static NTSTATUS WINAPI driver_ioctl(DEVICE_OBJECT *device, IRP *irp)
if (device == bus_fdo)
status = fdo_ioctl(irp, stack, code);
else
- status = pdo_ioctl(device->DeviceExtension, irp, stack, code);
+ status = pdo_ioctl(device, irp, stack, code);
irp->IoStatus.Status = status;
- IoCompleteRequest(irp, IO_NO_INCREMENT);
+ if (status != STATUS_PENDING) IoCompleteRequest(irp, IO_NO_INCREMENT);
return status;
}
diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
index a3c2a303a59..71dbfe1a5e9 100644
--- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
@@ -1150,10 +1150,11 @@ static void test_pnp_devices(void)
};
HDEVNOTIFY notify_handle;
DWORD size, type, dword;
+ HANDLE bus, child, tmp;
OBJECT_ATTRIBUTES attr;
UNICODE_STRING string;
+ OVERLAPPED ovl = {0};
IO_STATUS_BLOCK io;
- HANDLE bus, child;
HDEVINFO set;
HWND window;
BOOL ret;
@@ -1349,6 +1350,14 @@ static void test_pnp_devices(void)
CloseHandle(child);
+ ret = NtOpenFile(&child, SYNCHRONIZE, &attr, &io, 0, 0);
+ ok(!ret, "failed to open child: %#x\n", ret);
+
+ ret = DeviceIoControl(child, IOCTL_WINETEST_MARK_PENDING, NULL, 0, NULL, 0, &size, &ovl);
+ ok(!ret, "DeviceIoControl succeded\n");
+ ok(GetLastError() == ERROR_IO_PENDING, "got error %u\n", GetLastError());
+ ok(size == 0, "got size %u\n", size);
+
id = 1;
ret = DeviceIoControl(bus, IOCTL_WINETEST_BUS_REMOVE_CHILD, &id, sizeof(id), NULL, 0, &size, NULL);
ok(ret, "got error %u\n", GetLastError());
@@ -1357,7 +1366,24 @@ static void test_pnp_devices(void)
ok(got_child_arrival == 1, "got %u child arrival messages\n", got_child_arrival);
ok(got_child_removal == 1, "got %u child removal messages\n", got_child_removal);
- ret = NtOpenFile(&child, SYNCHRONIZE, &attr, &io, 0, FILE_SYNCHRONOUS_IO_NONALERT);
+ ret = DeviceIoControl(child, IOCTL_WINETEST_CHECK_REMOVED, NULL, 0, NULL, 0, &size, NULL);
+ todo_wine ok(ret, "got error %u\n", GetLastError());
+
+ ret = NtOpenFile(&tmp, SYNCHRONIZE, &attr, &io, 0, FILE_SYNCHRONOUS_IO_NONALERT);
+ todo_wine ok(ret == STATUS_NO_SUCH_DEVICE, "got %#x\n", ret);
+
+ ret = GetOverlappedResult(child, &ovl, &size, TRUE);
+ ok(!ret, "unexpected success.\n");
+ ok(GetLastError() == ERROR_ACCESS_DENIED, "got error %u\n", GetLastError());
+ ok(size == 0, "got size %u\n", size);
+
+ CloseHandle(child);
+
+ pump_messages();
+ ok(got_child_arrival == 1, "got %u child arrival messages\n", got_child_arrival);
+ ok(got_child_removal == 1, "got %u child removal messages\n", got_child_removal);
+
+ ret = NtOpenFile(&tmp, SYNCHRONIZE, &attr, &io, 0, FILE_SYNCHRONOUS_IO_NONALERT);
ok(ret == STATUS_OBJECT_NAME_NOT_FOUND, "got %#x\n", ret);
CloseHandle(bus);
--
2.32.0
June 30, 2021
[PATCH v2 1/5] include: Declare KeInitializeSpinLock as static FORCEINLINE.
by Rémi Bernon
And internally rename the ntoskrnl.exe export.
Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com>
---
v2: Use a static inline KeInitializeSpinLock, as it's apparently not
exported on 64bit W7.
Reoder patches, tweak removal CS usage in winebus.sys.
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
dlls/ntoskrnl.exe/sync.c | 2 +-
include/ddk/wdm.h | 5 ++++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 5fdaa922f45..9bea60817b3 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -575,7 +575,7 @@
@ stdcall KeInitializeMutex(ptr long)
@ stub KeInitializeQueue
@ stdcall KeInitializeSemaphore(ptr long long)
-@ stdcall KeInitializeSpinLock(ptr)
+@ stdcall KeInitializeSpinLock(ptr) NTOSKRNL_KeInitializeSpinLock
@ stdcall KeInitializeTimer(ptr)
@ stdcall KeInitializeTimerEx(ptr long)
@ stub KeInsertByKeyDeviceQueue
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 445c8d890ab..2751032f13d 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -523,7 +523,7 @@ NTSTATUS WINAPI KeDelayExecutionThread( KPROCESSOR_MODE mode, BOOLEAN alertable,
/***********************************************************************
* KeInitializeSpinLock (NTOSKRNL.EXE.@)
*/
-void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
+void WINAPI NTOSKRNL_KeInitializeSpinLock( KSPIN_LOCK *lock )
{
TRACE("lock %p.\n", lock);
*lock = 0;
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 447833c4bc9..ca369c22d09 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1754,7 +1754,10 @@ void WINAPI KeInitializeDpc(KDPC*,PKDEFERRED_ROUTINE,void*);
void WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN);
void WINAPI KeInitializeMutex(PRKMUTEX,ULONG);
void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG);
-void WINAPI KeInitializeSpinLock(KSPIN_LOCK*);
+static FORCEINLINE void WINAPI KeInitializeSpinLock( KSPIN_LOCK *lock )
+{
+ *lock = 0;
+}
void WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE);
void WINAPI KeInitializeTimer(KTIMER*);
void WINAPI KeLeaveCriticalRegion(void);
--
2.32.0
June 30, 2021
Re: [PATCH 6/6] kernelbase: Return HKEY_PERFORMANCE_TEXT when trying to open the Perflib\009 key.
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93323
Your paranoid android.
=== w2008s64 (32 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got 80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w864 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1507 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1809 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064_tsign (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w10pro64 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== wvistau64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w2008s64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w10pro64_ar (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_he (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_ja (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_zh_CN (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== debiant2 (32 bit Arabic:Morocco report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit German report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit French report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Hebrew:Israel report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Hindi:India report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Japanese:Japan report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Chinese:China report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
June 30, 2021
Re: [PATCH 5/6] server: Create the special Perflib\009 key.
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93322
Your paranoid android.
=== w2008s64 (32 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got 80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w864 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1507 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1809 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064_tsign (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w10pro64 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== wvistau64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w2008s64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3889: Test failed: got name (null)
registry.c:3893: Test failed: got 0xc0000008
=== w10pro64_ar (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_he (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_ja (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_zh_CN (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== debiant2 (32 bit Arabic:Morocco report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit German report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit French report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Hebrew:Israel report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Hindi:India report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Japanese:Japan report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
=== debiant2 (32 bit Chinese:China report) ===
advapi32:
registry.c:3901: Test failed: got 2
registry.c:3905: Test failed: got 6
registry.c:3908: Test failed: got 6
June 30, 2021
Re: [PATCH 4/6] advapi32/tests: Add some test for perflib keys.
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93321
Your paranoid android.
=== w2008s64 (32 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got 80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3896: Test failed: got 0xc0000008
=== w864 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1507 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064v1809 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w1064_tsign (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== w10pro64 (32 bit report) ===
advapi32:
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
=== wvistau64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3896: Test failed: got 0xc0000008
=== w2008s64 (64 bit report) ===
advapi32:
registry.c:3846: Test failed: got 0
registry.c:3847: Test failed: expected a normal handle, got FFFFFFFF80000050
registry.c:3874: Test failed: got 0xc0000008
registry.c:3877: Test failed: got 0xc0000008
registry.c:3887: Test failed: got 0xc0000008
registry.c:3896: Test failed: got 0xc0000008
=== w10pro64_ar (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_he (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_ja (64 bit report) ===
advapi32:
registry.c:568: Test failed: data_count set to 11 instead of 7
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== w10pro64_zh_CN (64 bit report) ===
advapi32:
registry.c:3838: Test failed: got key FFFFFFFF80000060
=== debiant2 (32 bit Arabic:Morocco report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit German report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit French report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit Hebrew:Israel report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit Hindi:India report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit Japanese:Japan report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
=== debiant2 (32 bit Chinese:China report) ===
advapi32:
registry.c:3904: Test failed: got 2
registry.c:3908: Test failed: got 6
registry.c:3911: Test failed: got 6
June 30, 2021
Re: [PATCH v2 5/5] wined3d: Implement NOOVERWITE maps in wined3d_deferred_context_prepare_upload_bo().
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93328
Your paranoid android.
=== w1064v1809 (32 bit report) ===
d3d11:
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
d3d11.c:5763: Test failed: Got unexpected query result 0x0000000000000000.
=== w1064 (32 bit report) ===
d3d11:
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
d3d11.c:5763: Test failed: Got unexpected query result 0x0000000000000000.
=== w10pro64 (32 bit report) ===
d3d11:
d3d11.c:5763: Test failed: Got unexpected query result 0x0000000000000000.
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
=== debiant2 (32 bit Hebrew:Israel report) ===
d3d11:
d3d11.c:20083: Test failed: d3d11.c:16407: Test marked todo: Got {0x80000000, 0x00000000, 0x00000000, 0x00000000}, expected {0x00000000, 0xffffffff, 0x00000000, 0x00000000} at (0, 0), sub-resource 0.
June 30, 2021
Re: [PATCH v2 4/5] wined3d: Use context->ops->prepare_upload_bo() in wined3d_device_context_map() if possible.
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93327
Your paranoid android.
=== w1064v1809 (32 bit report) ===
d3d11:
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
=== debiant2 (32 bit German report) ===
d3d11:
d3d11.c:9766: Test failed: d3d11.c:15218: Test marked todo: Got hr 0 for WRITE_NO_OVERWRITE.
=== debiant2 (32 bit French report) ===
d3d11:
d3d11.c:5922: Test failed: d3d11.c:6236: Test marked todo: Got unexpected hr 0x1.
June 30, 2021
Re: [PATCH v2 3/5] d3d11: Forbid map types other than DISCARD and NOOVERWRITE on a deferred context.
by Marvin
Hi,
While running your changed tests, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at:
https://testbot.winehq.org/JobDetails.pl?Key=93326
Your paranoid android.
=== w10pro64 (32 bit report) ===
d3d11:
d3d11.c:5763: Test failed: Got unexpected query result 0x0000000000000000.
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
=== wvistau64 (64 bit report) ===
d3d11:
d3d11.c:5916: Test failed: Got unexpected IAVertices count: 0.
d3d11.c:5917: Test failed: Got unexpected IAPrimitives count: 0.
d3d11.c:5918: Test failed: Got unexpected VSInvocations count: 0.
d3d11.c:5921: Test failed: Got unexpected CInvocations count: 0.
d3d11.c:5922: Test failed: Got unexpected CPrimitives count: 0.
=== debiant2 (32 bit French report) ===
d3d11:
d3d11.c:5922: Test failed: d3d11.c:5998: Test marked todo: Got unexpected CPrimitives count: 3.
d3d11.c:9766: Test failed: d3d11.c:15127: Test marked todo: Got hr 0 for WRITE.
June 30, 2021