Am Dienstag, 23. Dezember 2025, 02:12:57 Ostafrikanische Zeit schrieb tblodt--- via Wine-devel:
My guess is these are caught instead of killing the process because that's the expected behavior of an NT syscall when you pass a bad pointer to it - that a bad dereference of a userspace pointer would be handled and turned into returning an fault error code.
Some of the unexpected syscall faults I debugged happened because of incorrectly set up host libraries - libGL segfaulting when trying to create a context, gnutls or kerberos crashing when trying to load them. Those are not necessary for the base functionality of Wine, so we don't want to crash and burn due to it. I don't know if that's the real reason for the silent swallowing of SIGSEGVs. It is something to keep in mind though when changing the behavior. I ran into cases myself where I wish I had gotten more obvious notifications. The Vulkan code has assert(!status) after most calls after basic initialization, which will make a syscall sigsegv fatal. On the other hand, a Windows-side STATUS_ACCESS_VIOLATION also won't print anything by default, there are many applications that generate a ton of them in their normal operation.