lkml.org 
[lkml]   [2016]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[Patch 4.8.2-3] Unexpected behaviour in wineserver
Hi. Patch-4.8.2-3 introduced some unexpected behaviour when running certain, probably Delphi,   
applications with Wine. Using kernel 4.8.3, on one hand, the wineserver process gets stuck at full
load and the application does not start. On the other hand, attempts to login are blocked during
that time, making it hard to get into a different tty or even spawn a new terminal. One has to
sigkill the wineserver process.

The commit in question is 89eeba1594ac641a30b91942961e80fae978f839 with the relevant part shown
below:

105 static struct page *follow_page_pte(struct vm_area_struct *vma,
106 unsigned long address, pmd_t *pmd, unsigned int flags)
107 {
108 @@ -95,7 +105,7 @@ retry:
109 }
110 if ((flags & FOLL_NUMA) && pte_protnone(pte))
111 goto no_page;
112 - if ((flags & FOLL_WRITE) && !pte_write(pte)) {
113 + if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) {
114 pte_unmap_unlock(ptep, ptl);
115 return NULL;
116 }
117 @@ -412,7 +422,7 @@ static int faultin_page(struct task_struct *tsk, struct vm_area_struct *vma,
118 * reCOWed by userspace write).
119 */
120 if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE))
121 - *flags &= ~FOLL_WRITE;
122 + *flags |= FOLL_COW;
123 return 0;
124 }

Reverting the changes made by lines 112,113 and 121,122 of patch-4.8.2-3 makes the system and the
winserver process behave as expected again.

Steps to reproduce: -use kernel 4.8.3 or above -take a recent Wine release, i.e. 1.9.20 -run
a Delphi application. i.e. the Altium Designer Installer, with Wine. It can be received here:
https://s3.amazonaws.com/altium-release-manager/Altium_Designer_16/AltiumDesignerSetup_16_1_12.exe

Further discussion: https://bugs.winehq.org/show_bug.cgi?id=41637

Regards, Alex Freudenberg

\
 
 \ /
  Last update: 2016-12-20 12:03    [W:0.032 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site