[1.] One line summary of the problem:
Wine crash makes system unresponsive.

[2.] Full description of the problem/report:
Since kernel patch-4.8.2-3, certain applications make the wineserver process 
stuck, running with full load and blocking user attempts to login. One has to 
send SIGKILL the wineserver to make the system responsive again. The issue is 
independent from the wine version, but affects kernels from 4.8.3 and above.

[3.] Keywords (i.e., modules, networking, kernel):
wine, wineserver, kernel

[4.] Kernel information
[4.1.] Kernel version (from /proc/version):
Linux version 4.8.13-ARCH

[4.2.] Kernel .config file:
--

[5.] Most recent kernel version which did not have the bug:
4.8.2

[6.] Output of Oops.. message (if applicable) with symbolic information
    resolved (see Documentation/oops-tracing.txt)
--

[7.] A small shell script or example program which triggers the
    problem (if possible)
Start the Altium Designer Installer in a new wine prefix:
wine ./AltiumDesignerSetup_16_1_12.exe
available at 
https://s3.amazonaws.com/altium-release-manager/Altium_Designer_16/AltiumDesignerSetup_16_1_12.exe

[8.] Environment
[8.1.] Software Linux togusa 4.8.13-ARCH #1 SMP PREEMPT Tue Jan 3 11:57:35 CET 2017 x86_64 GNU/Linux GNU C 6.2.1 GNU Make 4.2.1 Binutils 2.27 Util-linux 2.28.2 Mount 2.28.2 Module-init-tools 23 E2fsprogs 1.43.3 Jfsutils 1.1.15 Reiserfsprogs 3.6.25 Xfsprogs 4.8.0 Pcmciautils 018 Linux C Library 2.24 Dynamic linker (ldd) 2.24 Linux C++ Library 6.0.22 Kbd 2.0.3 Console-tools 2.0.3 Sh-utils 8.26 Udev 232 Modules Loaded ablk_helper aesni_intel aes_x86_64 ahci arc4 ata_generic atkbd button cdrom cifs coretemp crc16 crc32c_intel crc3 2_pclmul crc_itu_t crct10dif_pclmul cryptd dca dns_resolver drm drm_kms_helper e1000e edac_core ehci_hcd ehci_pci evdev ext4 fb_sys_fops firewire_core firewire_ohci fjes fscache fscrypto gf128mul ghash_clmulni_intel glue_helper hid hid_generic hmac hp_wmi i2c_algo_bit i2c_i
801 i2c_smbus i8042 input_leds intel_cstate intel_powerclamp intel_rapl 
intel_rapl_perf ioatdma ip_tables irqbypass isci iTCO_vendor_supp
ort iTCO_wdt jbd2 kvm kvm_intel led_class libahci libata libps2 libsas lpc_ich 
lrw mac_hid mbcache md4 mei mei_me mei_wdt mousedev mxm_wm
i nls_utf8 nouveau pata_acpi pps_core psmouse ptp rfkill sb_edac sch_fq_codel 
scsi_mod scsi_transport_sas sd_mod serio serio_raw shpchp s
nd snd_hda_codec snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek 
snd_hda_core snd_hda_intel snd_hwdep snd_pcm snd_timer so
undcore sparse_keymap sr_mod syscopyarea sysfillrect sysimgblt tpm tpm_infineon 
tpm_tis tpm_tis_core ttm uas usb_common usbcore usbhid us
b_storage video wmi x86_pkg_temp_thermal xhci_hcd xhci_pci x_tables
[8.2.] Processor information (from /proc/cpuinfo):
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz stepping : 7 microcode : 0x710
[8.3.] Module information (from /proc/modules):
--

[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
--

[8.5.] PCI information ('lspci -vvv' as root)
--

[8.6.] SCSI information (from /proc/scsi/scsi)
--

[8.7.] Other information that might be relevant to the problem
      (please look in /proc and include all information that you
      think to be relevant):
--
[X.] Other notes, patches, fixes, workarounds:
Workaround:
Reverting the changes to mm/gup.c/faultin_page() of commit 
89eeba1594ac641a30b91942961e80fae978f839 within a recent kernel version solves 
the issue, but may reopen dirty COW:
--- mm/gup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/gup.c b/mm/gup.c index 22cc22e7432f..6cb23bfb0c74 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -422,7 +422,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma, * reCOWed by userspace write). */ if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE)) - *flags |= FOLL_COW; + *flags &= ~FOLL_WRITE; // Temporary Wineserver fix return 0; } -- 2.11.0

Reply via email to