http://bugs.winehq.org/show_bug.cgi?id=58789
Bug ID: 58789 Summary: Changed behaviour when running a single wine process with valgrind since wine-10.9. Product: Wine Version: 10.9 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: bernhardu@mailbox.org Distribution: ---
Before 5e70a4d81b I was able to start the background wine processes by e.g. `wine taskmgr &`. Then start just the target process with valgrind.
Since 5e70a4d81b this causes an segv_handler loop starting with this message:
vex x86->IR: unhandled instruction bytes: 0xF 0xAE 0x6C 0x24 ==833752== valgrind: Unrecognised instruction at address 0x470ed67. ==833752== at 0x470ED67: __wine_syscall_dispatcher (in dlls/ntdll/ntdll.so)
This instruction is the `xrstor 0x40(%esp)` from __wine_syscall_dispatcher, which seems not yet supported by valgrind.
If I see it right, before 5e70a4d81b each process did its own lookup of cpu flags, but since 5e70a4d81b this is just done by the first one and then shared via user_shared_data.
As a workaround preventing the assignment of `features[PF_XSAVE_ENABLED]` allows me start it with a recent wine git build.
I am uncertain if this qualifies as regression as I am uncertain, if this is a valid mode of operation when splitting wine processes that way.
http://bugs.winehq.org/show_bug.cgi?id=58789
--- Comment #1 from Alexandre Julliard julliard@winehq.org --- You'd need to start the first process with Valgrind, or fix Valgrind to support xsave. It's a change in behavior but I don't think that it qualifies as a bug.