Don't set MALLOC_PERTURB_ when calling grub2-install. (workaround #806784)
With MALLOC_PERTURB_ set, we get:
[anaconda root@testraid ~]# export MALLOC_PERTURB_=204
[anaconda root@testraid ~]# grub2-install --no-floppy /dev/mapper/nvidia_dejcgici
/sbin/grub2-bios-setup: error: disk `hostdisk//dev/mapper/ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï ¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï ¿½ï¿½ï¿½ï¿½ï¿½ï¿½' not found.
This is obviously bad, so we're going to work around it by not setting
that for now.
---
pyanaconda/bootloader.py | 3 ++-
pyanaconda/iutil.py | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index 805bd1e..ffa9632 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -1789,7 +1789,8 @@ class GRUB2(GRUB):
+ for var in env_prune:
+ if env.has_key(var):
+ del env[var]
+
try:
#prepare tee proceses
proc_std = tee(pstdout, stdout, program_log.info, command)
--
1.7.9.3
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
03-28-2012, 09:02 PM
"Brian C. Lane"
Don't set MALLOC_PERTURB_ when calling grub2-install. (workaround #806784)
On Wed, Mar 28, 2012 at 04:53:26PM -0400, Peter Jones wrote:
> With MALLOC_PERTURB_ set, we get:
> [anaconda root@testraid ~]# export MALLOC_PERTURB_=204
> [anaconda root@testraid ~]# grub2-install --no-floppy /dev/mapper/nvidia_dejcgici
> /sbin/grub2-bios-setup: error: disk `hostdisk//dev/mapper/ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï ¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿ ½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½ï ¿½ï¿½ï¿½ï¿½ï¿½ï¿½' not found.
>
> This is obviously bad, so we're going to work around it by not setting
> that for now.
> ---
> pyanaconda/bootloader.py | 3 ++-
> pyanaconda/iutil.py | 6 +++++-
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
> index 805bd1e..ffa9632 100644
> --- a/pyanaconda/bootloader.py
> +++ b/pyanaconda/bootloader.py
> @@ -1789,7 +1789,8 @@ class GRUB2(GRUB):
>
> rc = iutil.execWithRedirect("grub2-install", args,
> stdout="/dev/tty5", stderr="/dev/tty5",
> - root=ROOT_PATH)
> + root=ROOT_PATH,
> + env_prune=['MALLOC_PERTURB_'])
> if rc:
> raise BootLoaderError("bootloader install failed")
>
> diff --git a/pyanaconda/iutil.py b/pyanaconda/iutil.py
> index 4ab3354..e3b6c84 100644
> --- a/pyanaconda/iutil.py
> +++ b/pyanaconda/iutil.py
> @@ -83,7 +83,7 @@ class tee(threading.Thread):
> # @param root The directory to chroot to before running command.
> # @return The return code of command.
> def execWithRedirect(command, argv, stdin = None, stdout = None,
> - stderr = None, root = '/'):
> + stderr = None, root = '/', env_prune=[]):
> def chroot ():
> os.chroot(root)
>
> @@ -129,6 +129,10 @@ def execWithRedirect(command, argv, stdin = None, stdout = None,
> env = os.environ.copy()
> env.update({"LC_ALL": "C"})
>
> + for var in env_prune:
> + if env.has_key(var):
> + del env[var]
> +
> try:
> #prepare tee proceses
> proc_std = tee(pstdout, stdout, program_log.info, command)
> --
> 1.7.9.3
>
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list@redhat.com
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list
Ack
--
Brian C. Lane | Anaconda Team | IRC: bcl #anaconda | Port Orchard, WA (PST8PDT)
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list