[Bug 51223] New: Wine 6.10 regression, dinput broken in certain situations?
https://bugs.winehq.org/show_bug.cgi?id=51223 Bug ID: 51223 Summary: Wine 6.10 regression, dinput broken in certain situations? Product: Wine Version: 6.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: xinput Assignee: wine-bugs(a)winehq.org Reporter: kle(a)bluewin.ch Distribution: --- Hi all It looks that after updating to Wine 6.10 the dinput related stuff is broken, at least for me. I am no longer able to use my 8BitDo Pro 2 gamepad in Wine in conjunction with the CXBX-R Xbox emulator. There is mentioned at the CLI the following message: 00cc:err:wineusb:event_thread_proc Error handling events: System call interrupted (perhaps due to signal) 00cc:err:wineusb:event_thread_proc Error handling events: System call interrupted (perhaps due to signal) This worked absolutely fine in Wine devel 6.9 and 6.8. The mentioned 8BitDo Pro 2 controller is used with xinput mode. However, the CXBX-R emulator uses dinput for the keyboard and mouse. I can set the gamepad also to dinput mode but this shows no effect. The above mentioned error message still always appears. I tired to install the native dinput8.dll but this helped nothing. An additional information is welcome! ;-) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 Rémi Bernon <rbernon(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon(a)codeweavers.com --- Comment #1 from Rémi Bernon <rbernon(a)codeweavers.com> --- I've refactored dinput quite a bit and it's very possible that I broke something in the process, would you be able to run a bisection to see which commit the regression comes from? (see https://wiki.winehq.org/Regression_Testing) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #2 from C. Leu <kle(a)bluewin.ch> --- Created attachment 70110 --> https://bugs.winehq.org/attachment.cgi?id=70110 backtraceWine610cxbxr -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #3 from C. Leu <kle(a)bluewin.ch> --- Hi Rémi Bernon I am unfortunately in this programming context a total beginner. All that bisection stuff seems for me really really complex. ;-) But I was able to provoke a new error message "Unhandled page fault" right after the "wineusb" one. Even more, the CXBX-R Xbox emulator crashes right after that. In the attachment you find a backtrace. 00c4:err:wineusb:event_thread_proc Error handling events: System call interrupted (perhaps due to signal) 00c4:err:wineusb:event_thread_proc Error handling events: System call interrupted (perhaps due to signal) wine: Unhandled page fault on read access to 00000000 at address 666C264A (thread 0110), starting debugger... You are most likely able to reproduce this with any XInput controller. Here you find the latest build (take the VS2019 one): https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/releases/tag/CI-ba9ee5f You just need the "winetricks -q d3dcompiler_47" argument, the built-in doesn't work. Nothing else is needed to replicate that error. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #4 from Rémi Bernon <rbernon(a)codeweavers.com> --- Indeed, I can reproduce a winedevice crash easily when opening the input configuration window and pressing a few buttons on a gamepad. I'll do a bisection. For reference, stack trace is: #0 0x000000031df11534 in RingBuffer_AddPointer (ring=0x6b1930) at ../source/dlls/hidclass.sys/buffer.c:204 #1 0x000000031df15340 in pdo_create (device=<optimized out>, irp=0x8f0dd0) at ../source/dlls/hidclass.sys/device.c:695 #2 0x000000031df1558a in driver_create (device=<optimized out>, irp=<optimized out>) at ../source/dlls/hidclass.sys/pnp.c:530 #3 0x00000002279b34f6 in IoCallDriver (device=device(a)entry=0x25d400, irp=irp(a)entry=0x8f0dd0) at ../source/dlls/ntoskrnl.exe/ntoskrnl.c:1757 #4 0x00000002279b5266 in dispatch_irp (device=device(a)entry=0x25d400, irp=irp(a)entry=0x8f0dd0, context=context(a)entry=0xe0fa00) at ../source/dlls/ntoskrnl.exe/ntoskrnl.c:500 #5 0x00000002279b5e6b in dispatch_create (context=0xe0fa00) at ../source/dlls/ntoskrnl.exe/ntoskrnl.c:545 #6 0x00000002279b4f22 in wine_ntoskrnl_main_loop (stop_event=<optimized out>) at ../source/dlls/ntoskrnl.exe/ntoskrnl.c:957 #7 0x0000000140001732 in ServiceMain (argc=<optimized out>, argv=<optimized out>) at ../source/programs/winedevice/device.c:143 #8 0x000000032a7052f2 in service_thread (arg=0x226cc0, arg(a)entry=<error reading variable: value has been optimized out>) at ../source/dlls/sechost/service.c:1605 #9 0x000000007b62c809 in BaseThreadInitThunk (unknown=<optimized out>, entry=<optimized out>, arg=<optimized out>) at ../source/dlls/kernel32/thread.c:61 #10 0x000000007bc56593 in RtlUserThreadStart (entry=0x32a705220 <service_thread>, arg=0x226cc0) at ../source/dlls/ntdll/thread.c:165 #11 0x0000000000000000 in ?? () -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #5 from Rémi Bernon <rbernon(a)codeweavers.com> --- Regression comes from: commit 1c5e57fc7503fcacd4f95c89c7da774a6090eba1 Author: Rémi Bernon <rbernon(a)codeweavers.com> Date: Fri Jun 4 11:30:31 2021 +0200 hidclass.sys: Use msvcrt allocation functions. Signed-off-by: Rémi Bernon <rbernon(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> dlls/hidclass.sys/buffer.c | 23 ++++++++++++----------- dlls/hidclass.sys/descriptor.c | 18 +++++++++--------- dlls/hidclass.sys/device.c | 23 ++++++++++++----------- dlls/hidclass.sys/pnp.c | 13 +++++++------ 4 files changed, 40 insertions(+), 37 deletions(-) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #6 from Rémi Bernon <rbernon(a)codeweavers.com> --- Unfortunately I missed some realloc call replacement in that patch, and HeapReAlloc fails when called with a malloc-allocated pointer. I sent https://source.winehq.org/patches/data/207402 which should fix the issue. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 --- Comment #7 from C. Leu <kle(a)bluewin.ch> --- Wow, this is really GREAT! Many thanks Rémi Bernon for the super fast analysis and the fixing of the underlying problem. :-) I am looking forward (very pleased) to the next Wine release 6.11. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 C. Leu <kle(a)bluewin.ch> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED --- Comment #8 from C. Leu <kle(a)bluewin.ch> --- Just for reference, I am happy to confirm, this bug is resolved in Wine 6.11. Again many thanks to Rémi Bernon for the super fast handling of this issue! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #9 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 6.12. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Wine 6.10 regression, |8BitDo Pro 2 gamepad |dinput broken in certain |doesn't work with CXBX-R |situations? |Xbox emulator Fixed by SHA1| |06fb03378dcde6e3208c89570a6 | |241f7cf14a1d7 Component|xinput |hid Regression SHA1| |1c5e57fc7503fcacd4f95c89c7d | |a774a6090eba1 Keywords| |regression -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=51223 Gijs Vermeulen <gijsvrm(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tobias.klausmann(a)freenet.de --- Comment #10 from Gijs Vermeulen <gijsvrm(a)gmail.com> --- *** Bug 51228 has been marked as a duplicate of this bug. *** -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla