Hi All,

QEMU 0.13.0 was crashing with scratchbox2.

The root cause of the problem was that the brk in QEMU is extended with
mmap(MAP_FIXED) clobbering libsb2 when it gets extended far enough.

To resolve the issue use qemu-user -R 256M, which also puts the guest base
address somewhere it won't run into libsb2

thanks,

Mike

>From 7ccad0b0a0ef434dfa4ef104ab7dc4c139e3db33 Mon Sep 17 00:00:00 2001
From: Mike McCormack <[email protected]>
Date: Wed, 1 Dec 2010 14:05:20 +0900
Subject: [PATCH 3/3] Reserve address space for QEMU guest

This solves crashes with QEMU 0.13.0 when brk is extended in the guest.
QEMU handles this with a mmap(MAP_FIXED) which may clobber libsb2.so
---
 lua_scripts/argvenvp.lua |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/lua_scripts/argvenvp.lua b/lua_scripts/argvenvp.lua
index f6d9ca8..d741061 100644
--- a/lua_scripts/argvenvp.lua
+++ b/lua_scripts/argvenvp.lua
@@ -725,6 +725,12 @@ function sb_execve_postprocess_cpu_transparency_executable(rule, exec_policy,
 			end
 		end
 
+		-- reserve address space for the qemu guest
+		-- guess requires contiguous address space to avoid crashing when extending brk
+		-- brk is extended with mmap(MAP_FIXED) which may clobber libsb2
+                table.insert(new_argv, "-R")
+                table.insert(new_argv, "256M")
+
 		-- target runtime linker comes from /
 		table.insert(new_argv, "-L")
 		table.insert(new_argv, "/")
-- 
1.7.0.4

_______________________________________________
Scratchbox-devel mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-devel

Reply via email to