Andrew Eikum aeikum@codeweavers.com writes:
From: Maarten Lankhorst m.b.lankhorst@gmail.com
Includes API compatibility patch by Juergen Tretthahn orson@orson.at.
Synchronous static data initialization by Andrew Eikum aeikum@codeweavers.com
Signed-off-by: Andrew Eikum aeikum@codeweavers.com
I know that this code is not supposed to be used yet, but if I try to use it, it's crashing all over the place. Is that really how it's supposed to be?
../../../tools/runtest -q -P wine -T ../../.. -M mmdevapi.dll -p mmdevapi_test.exe.so capture && touch capture.ok capture.c:247: Test succeeded inside todo block: HPC after ReleaseBuffer(0) 102136526 vs. 102136526 capture.c:310: Test succeeded inside todo block: expect DISCONTINUITY 1 capture.c:316: Test succeeded inside todo block: Position 1323 gap 441 wine: Unhandled page fault on write access to 0x00000004 at address 0x7e468d8d (thread 0009), starting debugger... Unhandled exception: page fault on write access to 0x00000004 in 32-bit code (0x7e468d8d). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7e468d8d ESP:0032fb70 EBP:0032fba8 EFLAGS:00010206( R- -- I - -P- ) EAX:00000000 EBX:7e4741e0 ECX:00000000 EDX:00000000 ESI:00000000 EDI:00125ff0 Stack dump: 0x0032fb70: 7c608058 7e4747f0 0032fba8 7e465a8d 0x0032fb80: 00000001 00000000 7e4747c0 7e4747f0 0x0032fb90: 00125ff0 7e468d0b 0032fbc0 7ed5b16c 0x0032fba0: 00000001 00000000 0032fcb8 7ed40e3e 0x0032fbb0: 00000001 7ed52189 00005b4d 7ed40e3e 0x0032fbc0: 00125ff0 000001b9 00000000 7ed41bc6 Backtrace: =>0 0x7e468d8d AudioClient_Release+0x9d() in winepulse (0x0032fba8) 1 0x7ed40e3e test_audioclient+0xa8d() [/home/julliard/wine/wine/dlls/mmdevapi/tests/../../../include/audioclient.h:365] in mmdevapi_test (0x0032fcb8) 2 0x7ed42e45 func_capture+0x114() [/home/julliard/wine/wine/dlls/mmdevapi/tests/capture.c:1076] in mmdevapi_test (0x0032fd68) 3 0x7ed40014 main+0x393(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/dlls/mmdevapi/tests/../../../include/wine/test.h:584] in mmdevapi_test (0x0032fe18) 4 0x7ed5195b __wine_spec_exe_entry+0x4a(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/winecrt0/exe_entry.c:36] in mmdevapi_test (0x0032fe58) 5 0x7b85bc9c call_process_entry+0xb() in kernel32 (0x0032fe78) 6 0x7b85cc1a start_process+0x59(peb=<couldn't compute location>) [/home/julliard/wine/wine/dlls/kernel32/process.c:1104] in kernel32 (0x0032fea8) 7 0x7bc7eaa0 call_thread_func_wrapper+0xb() in ntdll (0x0032fec8) 8 0x7bc8180f call_thread_func+0xde(entry=0x7b85cbc0, arg=0x7ffdf000, frame=0x32ffc8) [/home/julliard/wine/wine/dlls/ntdll/signal_i386.c:2732] in ntdll (0x0032ffa8) 9 0x7bc7ea7e call_thread_entry_point+0x11() in ntdll (0x0032ffc8) 10 0x7bc53a47 start_process+0x16(kernel_start=0x7b85cbc0) [/home/julliard/wine/wine/dlls/ntdll/loader.c:3040] in ntdll (0x0032ffe8) 11 0xf75c239d wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000) 12 0xf75c2500 wine_switch_to_stack+0x1f(func=0x7bc53a30, arg=0x7b85cbc0, stack=0x330000) [/home/julliard/wine/wine/libs/wine/port.c:59] in libwine.so.1 (0xffb19868) 13 0x7bc596c1 LdrInitializeThunk+0x1f0(kernel_start=<couldn't compute location>, unknown2=<couldn't compute location>, unknown3=<couldn't compute location>, unknown4=<couldn't compute location>) [/home/julliard/wine/wine/dlls/ntdll/loader.c:3094] in ntdll (0xffb198a8) 14 0x7b862849 __wine_kernel_init+0x888() [/home/julliard/wine/wine/dlls/kernel32/process.c:1276] in kernel32 (0xffb1a798) 15 0x7bc5a533 __wine_process_init+0x152() [/home/julliard/wine/wine/dlls/ntdll/loader.c:3303] in ntdll (0xffb1a808) 16 0xf75bfe9b wine_init+0x2ca(argc=0x3, argv=0xffb1ad44, error="", error_size=0x400) [/home/julliard/wine/wine/libs/wine/loader.c:959] in libwine.so.1 (0xffb1a858) 17 0x7bf00d6a main+0x79(argc=<is not available>, argv=<is not available>) [/home/julliard/wine/wine/loader/main.c:247] in <wine-loader> (0xffb1ac98) 18 0xf73dfa63 __libc_start_main+0xf2() in libc.so.6 (0x00000000) 0x7e468d8d AudioClient_Release+0x9d in winepulse: movl %ecx,0x4(%eax)
On Mon, Nov 02, 2015 at 11:17:40PM +0900, Alexandre Julliard wrote:
Andrew Eikum aeikum@codeweavers.com writes:
From: Maarten Lankhorst m.b.lankhorst@gmail.com
Includes API compatibility patch by Juergen Tretthahn orson@orson.at.
Synchronous static data initialization by Andrew Eikum aeikum@codeweavers.com
Signed-off-by: Andrew Eikum aeikum@codeweavers.com
I know that this code is not supposed to be used yet, but if I try to use it, it's crashing all over the place. Is that really how it's supposed to be?
I didn't really test it in-progress like that because lots of critical functionality is missing in these early patches. I'm not sure how well our winmm, dsound, and tests will handle missing IAudioRenderClient, for example. It's split up for review purposes, because the full driver is over 3000 lines.
I could try reproducing those issues and fixing them if you want, but I'm not sure it's worth the time if the client DLLs and applications won't handle it well anyway.
Andrew
Andrew Eikum aeikum@codeweavers.com writes:
I didn't really test it in-progress like that because lots of critical functionality is missing in these early patches. I'm not sure how well our winmm, dsound, and tests will handle missing IAudioRenderClient, for example. It's split up for review purposes, because the full driver is over 3000 lines.
I could try reproducing those issues and fixing them if you want, but I'm not sure it's worth the time if the client DLLs and applications won't handle it well anyway.
If it's just because things are missing, then that's OK. But you better hope that once the whole series is in, it no longer crashes here ;-)
On Tue, Nov 03, 2015 at 12:22:09AM +0900, Alexandre Julliard wrote:
Andrew Eikum aeikum@codeweavers.com writes:
I didn't really test it in-progress like that because lots of critical functionality is missing in these early patches. I'm not sure how well our winmm, dsound, and tests will handle missing IAudioRenderClient, for example. It's split up for review purposes, because the full driver is over 3000 lines.
I could try reproducing those issues and fixing them if you want, but I'm not sure it's worth the time if the client DLLs and applications won't handle it well anyway.
If it's just because things are missing, then that's OK. But you better hope that once the whole series is in, it no longer crashes here ;-)
After those five, there are three more patches to implement missing critical interfaces (volume, session, and marshalling). All three should be in the next wave. After those, I expect the audio tests to pass. Then there are a couple of other patches for small improvements and consistency with other drivers, split out to retain authorship.
Andrew
Andrew Eikum aeikum@codeweavers.com writes:
On Tue, Nov 03, 2015 at 12:22:09AM +0900, Alexandre Julliard wrote:
If it's just because things are missing, then that's OK. But you better hope that once the whole series is in, it no longer crashes here ;-)
After those five, there are three more patches to implement missing critical interfaces (volume, session, and marshalling). All three should be in the next wave. After those, I expect the audio tests to pass. Then there are a couple of other patches for small improvements and consistency with other drivers, split out to retain authorship.
It does work fine with the remaining patches applied. Thanks!