anaconda: Disable X server regenerations (#609245)
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
anaconda | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/anaconda b/anaconda
index c01260e..0fe26e8 100755
--- a/anaconda
+++ b/anaconda
@@ -36,6 +36,7 @@ from tempfile import mkstemp
# keep up with process ID of the window manager if we start it
wm_pid = None
+xserver_pid = None
# Make sure messages sent through python's warnings module get logged.
def AnacondaShowWarning(message, category, filename, lineno, file=sys.stderr, line=None):
@@ -120,6 +121,7 @@ def set_x_resolution(runres):
def doShutdownX11Actions():
global wm_pid
+ global xserver_pid
if wm_pid is not None:
try:
@@ -128,6 +130,13 @@ def doShutdownX11Actions():
except:
pass
+ if xserver_pid is not None:
+ try:
+ os.kill(xserver_pid, 15)
+ os.waitpid(xserver_pid, 0)
+ except:
+ pass
+
def setupPythonUpdates():
from distutils.sysconfig import get_python_lib
@@ -533,7 +542,6 @@ if __name__ == "__main__":
graphical_failed = 0
vncS = vnc.VncServer() # The vnc Server object.
vncS.anaconda = anaconda
- xserver_pid = None
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
06-29-2010, 08:01 PM
David Cantrell
anaconda: Disable X server regenerations (#609245)
Ack and applied. Thanks.
On Tue, 29 Jun 2010, Adam Jackson wrote:
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
anaconda | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/anaconda b/anaconda
index c01260e..0fe26e8 100755
--- a/anaconda
+++ b/anaconda
@@ -36,6 +36,7 @@ from tempfile import mkstemp
# keep up with process ID of the window manager if we start it
wm_pid = None
+xserver_pid = None
# Make sure messages sent through python's warnings module get logged.
def AnacondaShowWarning(message, category, filename, lineno, file=sys.stderr, line=None):
@@ -120,6 +121,7 @@ def set_x_resolution(runres):
def doShutdownX11Actions():
global wm_pid
+ global xserver_pid
if wm_pid is not None:
try:
@@ -128,6 +130,13 @@ def doShutdownX11Actions():
except:
pass
+ if xserver_pid is not None:
+ try:
+ os.kill(xserver_pid, 15)
+ os.waitpid(xserver_pid, 0)
+ except:
+ pass
+
def setupPythonUpdates():
from distutils.sysconfig import get_python_lib
@@ -533,7 +542,6 @@ if __name__ == "__main__":
graphical_failed = 0
vncS = vnc.VncServer() # The vnc Server object.
vncS.anaconda = anaconda
- xserver_pid = None
--
David Cantrell <dcantrell@redhat.com>
Red Hat / Honolulu, HI
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
06-30-2010, 08:20 AM
Ales Kozumplik
anaconda: Disable X server regenerations (#609245)
On 06/29/2010 08:35 PM, Adam Jackson wrote:
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Signed-off-by: Adam Jackson<ajax@redhat.com>
Hi Ajax,
def doShutdownX11Actions():
global wm_pid
+ global xserver_pid
if wm_pid is not None:
try:
@@ -128,6 +130,13 @@ def doShutdownX11Actions():
except:
pass
+ if xserver_pid is not None:
+ try:
+ os.kill(xserver_pid, 15)
+ os.waitpid(xserver_pid, 0)
+ except:
+ pass
+
This is not your fault but the last time doShutdownX11Actions() was
called was in 2006 (a9240ccced95966c0739419b62bce0367f378e40). It should
go. Is that a problem that the X will be staying alive?
This looks reasonable, I'm just afraid to find out why it isn't so by
default.
Also--the patch needs to be submitted to master too.
Ales
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
06-30-2010, 12:29 PM
David Cantrell
anaconda: Disable X server regenerations (#609245)
On Wed, 30 Jun 2010, Ales Kozumplik wrote:
On 06/29/2010 08:35 PM, Adam Jackson wrote:
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Signed-off-by: Adam Jackson<ajax@redhat.com>
Hi Ajax,
def doShutdownX11Actions():
global wm_pid
+ global xserver_pid
if wm_pid is not None:
try:
@@ -128,6 +130,13 @@ def doShutdownX11Actions():
except:
pass
+ if xserver_pid is not None:
+ try:
+ os.kill(xserver_pid, 15)
+ os.waitpid(xserver_pid, 0)
+ except:
+ pass
+
This is not your fault but the last time doShutdownX11Actions() was called
was in 2006 (a9240ccced95966c0739419b62bce0367f378e40). It should go. Is that
a problem that the X will be staying alive?
This looks reasonable, I'm just afraid to find out why it isn't so by
default.
Also--the patch needs to be submitted to master too.
I only applied it to rhel6-branch, fyi. The patch was not able to cleanly
apply and for master it was even more difficult. Would prefer an updated
patch for master.
--
David Cantrell <dcantrell@redhat.com>
Red Hat / Honolulu, HI
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
10-14-2010, 01:44 PM
Ales Kozumplik
anaconda: Disable X server regenerations (#609245)
From: Adam Jackson <ajax@redhat.com>
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
anaconda | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/anaconda b/anaconda
index 1db5d50..abaffef 100755
--- a/anaconda
+++ b/anaconda
@@ -539,7 +539,6 @@ if __name__ == "__main__":
graphical_failed = 0
vncS = vnc.VncServer() # The vnc Server object.
vncS.anaconda = anaconda
- xserver_pid = None
os.environ["DISPLAY"] = ":1"
doStartupX11Actions()
- xserver_pid = proc.pid
except (OSError, RuntimeError) as e:
stdoutLog.warning(" X startup failed, falling back to text mode")
anaconda.displayMode = 't'
--
1.7.1.1
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
10-14-2010, 01:48 PM
Chris Lumens
anaconda: Disable X server regenerations (#609245)
> Otherwise, we lose arbitrary amounts of X server state, since we're not
> waiting for metacity before carrying on; and any driver bugs that cause
> crashes on regeneration will cause graphical install to fail entirely.
>
> This varies slightly from the usual policy of doing what the installed
> system would do, but I'm willing to turn a blind eye. The more correct
> fix would be waiting for one of the properties metacity creates to exist
> on the root window. This is harder than you think.
Is this for f14-branch? I already pushed it to master, so I must assume
so.
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
10-14-2010, 01:52 PM
Ales Kozumplik
anaconda: Disable X server regenerations (#609245)
On 10/14/2010 03:48 PM, Chris Lumens wrote:
Otherwise, we lose arbitrary amounts of X server state, since we're not
waiting for metacity before carrying on; and any driver bugs that cause
crashes on regeneration will cause graphical install to fail entirely.
This varies slightly from the usual policy of doing what the installed
system would do, but I'm willing to turn a blind eye. The more correct
fix would be waiting for one of the properties metacity creates to exist
on the root window. This is harder than you think.
Is this for f14-branch? I already pushed it to master, so I must assume
so.
Yes, thats f14.
Ales
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list