-- v5: mf: Shutdown all used topologies by media session. mf/tests: Test how session releases not queued topologies. mf: Only shutdown current topology when session is shutdown. mf/tests: Test for topology reuse after session ends.
From: Santino Mazza smazza@codeweavers.com
--- dlls/mf/tests/mf.c | 126 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 09830191363..c78be7b5a7d 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2617,6 +2617,131 @@ static void test_media_session_rate_control(void) ok(hr == S_OK, "Shutdown failure, hr %#lx.\n", hr); }
+static IMFTopology *create_topology_from_file(LPCWSTR file, LPCWSTR mime) +{ + IMFTopologyNode *src_node, *sink_node; + IMFPresentationDescriptor *pd; + IMFActivate *sar_activate; + IMFStreamDescriptor *sd; + IMFMediaSource *source; + IMFTopology *topology; + BOOL selected; + HRESULT hr; + + if(!(source = create_media_source(file, mime))) + return NULL; + + hr = MFCreateTopology(&topology); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + hr = MFCreateTopologyNode(MF_TOPOLOGY_SOURCESTREAM_NODE, &src_node); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + IMFMediaSource_CreatePresentationDescriptor(source, &pd); + hr = IMFPresentationDescriptor_GetStreamDescriptorByIndex(pd, 0, &selected, &sd); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + init_source_node(source, -1, src_node, pd, sd); + + hr = MFCreateTopologyNode(MF_TOPOLOGY_OUTPUT_NODE, &sink_node); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + hr = MFCreateAudioRendererActivate(&sar_activate); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + IMFTopologyNode_SetObject(sink_node, (IUnknown *)sar_activate); + + IMFTopology_AddNode(topology, src_node); + IMFTopology_AddNode(topology, sink_node); + IMFTopologyNode_ConnectOutput(src_node, 0, sink_node, 0); + + IMFTopologyNode_Release(src_node); + IMFTopologyNode_Release(sink_node); + IMFActivate_Release(sar_activate); + IMFPresentationDescriptor_Release(pd); + IMFStreamDescriptor_Release(sd); + + return topology; +} + +static void test_media_session_topologies(void) +{ + IMFTopology *topology; + IMFAsyncCallback *callback; + IMFMediaSession *session; + PROPVARIANT pv; + HRESULT hr; + + hr = MFStartup(MF_VERSION, MFSTARTUP_FULL); + ok(hr == S_OK, "Startup failure, hr %#lx.\n", hr); + + if (!(topology = create_topology_from_file(L"mp3encdata.bin", L"audio/mpeg"))) + { + win_skip("MP3 not supported.\n"); + MFShutdown(); + return; + } + + callback = create_test_callback(TRUE); + hr = MFCreateMediaSession(NULL, &session); + ok(hr == S_OK, "Failed to create media session, hr %#lx.\n", hr); + + hr = IMFMediaSession_SetTopology(session, 0, topology); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + hr = wait_media_event(session, callback, MESessionTopologySet, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_UNKNOWN, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + pv.vt = VT_EMPTY; + hr = IMFMediaSession_Start(session, &GUID_NULL, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = wait_media_event(session, callback, MESessionStarted, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + hr = wait_media_event(session, callback, MESessionEnded, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + /* Try to reuse the same topology after the presentation ends. */ + hr = IMFMediaSession_SetTopology(session, MFSESSION_SETTOPOLOGY_IMMEDIATE, topology); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + hr = wait_media_event(session, callback, MESessionTopologySet, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_UNKNOWN, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + pv.vt = VT_EMPTY; + hr = IMFMediaSession_Start(session, &GUID_NULL, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = wait_media_event(session, callback, MESessionStarted, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + hr = wait_media_event_until_blocking(session, callback, MESessionEnded, 1000, &pv); + todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + IMFMediaSession_Close(session); + IMFMediaSession_Shutdown(session); + + IMFMediaSession_Release(session); + IMFAsyncCallback_Release(callback); + IMFTopology_Release(topology); + + MFShutdown(); +} + struct test_grabber_callback { IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback_iface; @@ -6638,6 +6763,7 @@ START_TEST(mf) test_media_session(); test_media_session_events(); test_media_session_rate_control(); + test_media_session_topologies(); test_MFShutdownObject(); test_presentation_clock(); test_sample_grabber();
From: Santino Mazza smazza@codeweavers.com
--- dlls/mf/session.c | 4 ++-- dlls/mf/tests/mf.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 3c989249229..71fe6179d03 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -861,8 +861,6 @@ static void session_clear_presentation(struct media_session *session) struct media_sink *sink, *sink2; struct topo_node *node, *node2;
- session_shutdown_current_topology(session); - IMFTopology_Clear(session->presentation.current_topology); session->presentation.topo_status = MF_TOPOSTATUS_INVALID; session->presentation.flags = 0; @@ -2117,6 +2115,7 @@ static ULONG WINAPI mfsession_Release(IMFMediaSession *iface) if (!refcount) { session_clear_queued_topologies(session); + session_shutdown_current_topology(session); session_clear_presentation(session); session_clear_command_list(session); if (session->presentation.current_topology) @@ -2397,6 +2396,7 @@ static HRESULT WINAPI mfsession_Shutdown(IMFMediaSession *iface) MFShutdownObject((IUnknown *)session->clock); IMFPresentationClock_Release(session->clock); session->clock = NULL; + session_shutdown_current_topology(session); session_clear_presentation(session); session_clear_queued_topologies(session); session_submit_simple_command(session, SESSION_CMD_SHUTDOWN); diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index c78be7b5a7d..b31cb3732cc 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2727,7 +2727,7 @@ static void test_media_session_topologies(void) PropVariantClear(&pv);
hr = wait_media_event_until_blocking(session, callback, MESessionEnded, 1000, &pv); - todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); PropVariantClear(&pv);
From: Santino Mazza smazza@codeweavers.com
--- dlls/mf/tests/mf.c | 101 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index b31cb3732cc..254f34f44b5 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2617,6 +2617,21 @@ static void test_media_session_rate_control(void) ok(hr == S_OK, "Shutdown failure, hr %#lx.\n", hr); }
+static IMFTopologyNode *get_sink_node(IMFTopology *topology, DWORD index) +{ + IMFCollection *output_nodes; + IMFTopologyNode *node; + IUnknown *nodeunk; + + IMFTopology_GetOutputNodeCollection(topology, &output_nodes); + IMFCollection_GetElement(output_nodes, index, &nodeunk); + IMFCollection_Release(output_nodes); + IUnknown_QueryInterface(nodeunk, &IID_IMFTopologyNode, (void**)&node); + IUnknown_Release(nodeunk); + + return node; +} + static IMFTopology *create_topology_from_file(LPCWSTR file, LPCWSTR mime) { IMFTopologyNode *src_node, *sink_node; @@ -2663,11 +2678,36 @@ static IMFTopology *create_topology_from_file(LPCWSTR file, LPCWSTR mime) return topology; }
+static BOOL is_topology_shutdown(IMFTopology *topology) +{ + IMFTopologyNode *node; + IMFStreamSink *stream_sink; + IUnknown *unk; + HRESULT hr; + + node = get_sink_node(topology, 0); + hr = IMFTopologyNode_GetObject(node, &unk); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + + + hr = IUnknown_QueryInterface(unk, &IID_IMFStreamSink, (void**)&stream_sink); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + + hr = IMFStreamSink_Flush(stream_sink); + ok(SUCCEEDED(hr) || hr == MF_E_STREAMSINK_REMOVED, "Unexpected hr %#lx\n", hr); + + IMFStreamSink_Release(stream_sink); + IUnknown_Release(unk); + + return hr == MF_E_STREAMSINK_REMOVED; +} + static void test_media_session_topologies(void) { - IMFTopology *topology; + IMFTopology *topology, *topology2; IMFAsyncCallback *callback; IMFMediaSession *session; + BOOL is_shutdown; PROPVARIANT pv; HRESULT hr;
@@ -2681,6 +2721,8 @@ static void test_media_session_topologies(void) return; }
+ topology2 = create_topology_from_file(L"mp3encdata.bin", L"audio/mpeg"); + callback = create_test_callback(TRUE); hr = MFCreateMediaSession(NULL, &session); ok(hr == S_OK, "Failed to create media session, hr %#lx.\n", hr); @@ -2732,9 +2774,66 @@ static void test_media_session_topologies(void) ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); PropVariantClear(&pv);
+ pv.vt = VT_EMPTY; + hr = IMFMediaSession_Stop(session); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = wait_media_event(session, callback, MESessionStopped, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + /* Test behavior with more than one topology. */ + hr = IMFMediaSession_SetTopology(session, MFSESSION_SETTOPOLOGY_IMMEDIATE, topology2); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + hr = wait_media_event(session, callback, MESessionTopologySet, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_UNKNOWN, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + hr = IMFMediaSession_SetTopology(session, 0, topology); + ok(hr == S_OK, "Unexpected hr %#lx\n", hr); + hr = wait_media_event(session, callback, MESessionTopologySet, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_UNKNOWN, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + pv.vt = VT_EMPTY; + hr = IMFMediaSession_Start(session, &GUID_NULL, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = wait_media_event(session, callback, MESessionStarted, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + hr = wait_media_event_until_blocking(session, callback, MEEndOfPresentation, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + hr = wait_media_event_until_blocking(session, callback, MESessionEnded, 1000, &pv); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(pv.vt == VT_EMPTY, "got vt %u\n", pv.vt); + ok(pv.punkVal != (IUnknown *)topology, "got punkVal %p\n", pv.punkVal); + PropVariantClear(&pv); + + is_shutdown = is_topology_shutdown(topology); + ok(!is_shutdown, "expected topology to not be shutdown.\n"); + is_shutdown = is_topology_shutdown(topology2); + ok(!is_shutdown, "expected topology2 to not be shutdown.\n"); + IMFMediaSession_Close(session); IMFMediaSession_Shutdown(session);
+ is_shutdown = is_topology_shutdown(topology); + todo_wine ok(is_shutdown, "expected topology to be shutdown.\n"); + is_shutdown = is_topology_shutdown(topology2); + ok(is_shutdown, "expected topology2 to be shutdown.\n"); + IMFMediaSession_Release(session); IMFAsyncCallback_Release(callback); IMFTopology_Release(topology);
From: Santino Mazza smazza@codeweavers.com
--- dlls/mf/session.c | 67 ++++++++++++++++++++++++++++++++++++---------- dlls/mf/tests/mf.c | 2 +- 2 files changed, 54 insertions(+), 15 deletions(-)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c index 71fe6179d03..64f87f6fd4f 100644 --- a/dlls/mf/session.c +++ b/dlls/mf/session.c @@ -80,9 +80,10 @@ struct session_op struct list entry; };
-struct queued_topology +struct topology_entry { struct list entry; + TOPOID topoid; IMFTopology *topology; MF_TOPOSTATUS status; }; @@ -256,6 +257,7 @@ struct media_session BOOL thin; float rate; } presentation; + struct list topologies_queue; /* Topologies queued for playing. */ struct list topologies; struct list commands; enum session_state state; @@ -491,9 +493,9 @@ static HRESULT session_submit_simple_command(struct media_session *session, enum
static void session_clear_queued_topologies(struct media_session *session) { - struct queued_topology *ptr, *next; + struct topology_entry *ptr, *next;
- LIST_FOR_EACH_ENTRY_SAFE(ptr, next, &session->topologies, struct queued_topology, entry) + LIST_FOR_EACH_ENTRY_SAFE(ptr, next, &session->topologies_queue, struct topology_entry, entry) { list_remove(&ptr->entry); IMFTopology_Release(ptr->topology); @@ -510,7 +512,7 @@ static void session_set_topo_status(struct media_session *session, HRESULT statu if (topo_status == MF_TOPOSTATUS_INVALID) return;
- if (list_empty(&session->topologies)) + if (list_empty(&session->topologies_queue)) { FIXME("Unexpectedly empty topology queue.\n"); return; @@ -518,7 +520,7 @@ static void session_set_topo_status(struct media_session *session, HRESULT statu
if (topo_status > session->presentation.topo_status) { - struct queued_topology *topology = LIST_ENTRY(list_head(&session->topologies), struct queued_topology, entry); + struct topology_entry *topology = LIST_ENTRY(list_head(&session->topologies_queue), struct topology_entry, entry);
param.vt = VT_UNKNOWN; param.punkVal = (IUnknown *)topology->topology; @@ -793,19 +795,17 @@ static void release_topo_node(struct topo_node *node) free(node); }
-static void session_shutdown_current_topology(struct media_session *session) +static void session_shutdown_topology(struct media_session *session, IMFTopology *topology) { unsigned int shutdown, force_shutdown; MF_TOPOLOGY_TYPE node_type; IMFStreamSink *stream_sink; - IMFTopology *topology; IMFTopologyNode *node; IMFActivate *activate; IMFMediaSink *sink; WORD idx = 0; HRESULT hr;
- topology = session->presentation.current_topology; force_shutdown = session->state == SESSION_STATE_SHUT_DOWN;
/* FIXME: should handle async MFTs, but these are not supported by the rest of the pipeline currently. */ @@ -1988,9 +1988,24 @@ static HRESULT session_set_current_topology(struct media_session *session, IMFTo return S_OK; }
+static struct topology_entry *get_topology_entry_by_id(struct media_session *session, TOPOID id) +{ + struct topology_entry *entry; + + LIST_FOR_EACH_ENTRY(entry, &session->topologies, struct topology_entry, entry) + { + if (entry->topoid == id) + return entry; + } + + return NULL; +} + static void session_set_topology(struct media_session *session, DWORD flags, IMFTopology *topology) { + TOPOID topoid; IMFTopology *resolved_topology = NULL; + struct topology_entry *topology_entry = NULL; HRESULT hr = S_OK;
/* Resolve unless claimed to be full. */ @@ -2035,14 +2050,24 @@ static void session_set_topology(struct media_session *session, DWORD flags, IMF /* With no current topology set it right away, otherwise queue. */ if (topology) { - struct queued_topology *queued_topology; + struct topology_entry *queued_topology; + + IMFTopology_GetTopologyID(topology, &topoid); + topology_entry = get_topology_entry_by_id(session, topoid); + if (!topology_entry && (topology_entry = calloc(1, sizeof(*topology_entry)))) + { + topology_entry->topology = topology; + IMFTopology_AddRef(topology_entry->topology); + + list_add_tail(&session->topologies, &topology_entry->entry); + }
if ((queued_topology = calloc(1, sizeof(*queued_topology)))) { queued_topology->topology = topology; IMFTopology_AddRef(queued_topology->topology);
- list_add_tail(&session->topologies, &queued_topology->entry); + list_add_tail(&session->topologies_queue, &queued_topology->entry); }
if (session->presentation.topo_status == MF_TOPOSTATUS_INVALID) @@ -2058,6 +2083,19 @@ static void session_set_topology(struct media_session *session, DWORD flags, IMF IMFTopology_Release(resolved_topology); }
+static void session_release_topologies(struct media_session *session) +{ + struct topology_entry *ptr, *next; + + LIST_FOR_EACH_ENTRY_SAFE(ptr, next, &session->topologies, struct topology_entry, entry) + { + list_remove(&ptr->entry); + session_shutdown_topology(session, ptr->topology); + IMFTopology_Release(ptr->topology); + free(ptr); + } +} + static HRESULT WINAPI mfsession_QueryInterface(IMFMediaSession *iface, REFIID riid, void **out) { struct media_session *session = impl_from_IMFMediaSession(iface); @@ -2115,7 +2153,7 @@ static ULONG WINAPI mfsession_Release(IMFMediaSession *iface) if (!refcount) { session_clear_queued_topologies(session); - session_shutdown_current_topology(session); + session_release_topologies(session); session_clear_presentation(session); session_clear_command_list(session); if (session->presentation.current_topology) @@ -2396,9 +2434,9 @@ static HRESULT WINAPI mfsession_Shutdown(IMFMediaSession *iface) MFShutdownObject((IUnknown *)session->clock); IMFPresentationClock_Release(session->clock); session->clock = NULL; - session_shutdown_current_topology(session); session_clear_presentation(session); session_clear_queued_topologies(session); + session_release_topologies(session); session_submit_simple_command(session, SESSION_CMD_SHUTDOWN); } LeaveCriticalSection(&session->cs); @@ -2445,7 +2483,7 @@ static HRESULT WINAPI mfsession_GetSessionCapabilities(IMFMediaSession *iface, D static HRESULT WINAPI mfsession_GetFullTopology(IMFMediaSession *iface, DWORD flags, TOPOID id, IMFTopology **topology) { struct media_session *session = impl_from_IMFMediaSession(iface); - struct queued_topology *queued; + struct topology_entry *queued; TOPOID topo_id; HRESULT hr;
@@ -2466,7 +2504,7 @@ static HRESULT WINAPI mfsession_GetFullTopology(IMFMediaSession *iface, DWORD fl } else { - LIST_FOR_EACH_ENTRY(queued, &session->topologies, struct queued_topology, entry) + LIST_FOR_EACH_ENTRY(queued, &session->topologies_queue, struct topology_entry, entry) { if (SUCCEEDED(IMFTopology_GetTopologyID(queued->topology, &topo_id)) && topo_id == id) { @@ -4619,6 +4657,7 @@ HRESULT WINAPI MFCreateMediaSession(IMFAttributes *config, IMFMediaSession **ses object->sink_finalizer_callback.lpVtbl = &session_sink_finalizer_callback_vtbl; object->refcount = 1; list_init(&object->topologies); + list_init(&object->topologies_queue); list_init(&object->commands); list_init(&object->presentation.sources); list_init(&object->presentation.sinks); diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 254f34f44b5..69637810705 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2830,7 +2830,7 @@ static void test_media_session_topologies(void) IMFMediaSession_Shutdown(session);
is_shutdown = is_topology_shutdown(topology); - todo_wine ok(is_shutdown, "expected topology to be shutdown.\n"); + ok(is_shutdown, "expected topology to be shutdown.\n"); is_shutdown = is_topology_shutdown(topology2); ok(is_shutdown, "expected topology2 to be shutdown.\n");
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=148532
Your paranoid android.
=== w7u_2qxl (32 bit report) ===
mf: mf.c:5607: Test failed: got hr 0x80072f8f mf.c:5607: Test failed: got hr 0x80072f8f mf.c:5678: Test failed: got hr 0x80072f8f mf.c:5684: Test failed: got hr 0x80072f8f mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf.c:6563: Test failed: WaitForSingleObject returned 258 mf.c:6563: Test failed: Unexpected hr 0xd36d8. mf: Timeout
=== w864 (64 bit report) ===
mf: mf.c:2813: Test failed: Unexpected hr 0x102. mf.c:2818: Test failed: Unexpected hr 0xd36d8.
=== w11pro64_amd (64 bit report) ===
mf: mf.c:2733: Test failed: Unexpected hr 0xc00d36fa. mf.c:2735: Test failed: got punkVal 00000000014D6A40 mf.c:2742: Test failed: Unexpected hr 0xc00d36b2. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf.c:2747: Test failed: WaitForSingleObject returned 258 mf.c:2747: Test failed: Unexpected hr 0xd36d8. mf: Timeout
=== debian11 (32 bit hi:IN report) ===
mf: mf.c:2813: Test failed: Unexpected hr 0x102. mf.c:2818: Test failed: Unexpected hr 0xd36d8.
=== debian11 (32 bit ja:JP report) ===
mf: mf.c:2813: Test failed: Unexpected hr 0x102. mf.c:2818: Test failed: Unexpected hr 0xd36d8.
=== debian11b (32 bit WoW report) ===
mf: mf.c:2813: Test failed: Unexpected hr 0x102. mf.c:2818: Test failed: Unexpected hr 0xd36d8.
=== debian11b (64 bit WoW report) ===
kernel32: comm.c:1574: Test failed: AbortWaitCts hComPortEvent failed comm.c:1586: Test failed: Unexpected time 1001, expected around 500
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000009F00EC, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
I removed some changes that were not needed and tried to simplify tests.