[Freeipa-devel] [PATCH] 531 Increase stack size for Web UI builder

Alexander Bokovoy abokovoy at redhat.com
Fri Dec 13 12:18:34 UTC 2013


On Fri, 13 Dec 2013, Petr Vobornik wrote:
>Web UI build fails on some architectures or configuration due to
>StackOverflow. This patch increases the stack size to solve it.
>
>512k is usually enough but we encountered fail on ppc64 even with 2m,
>therefore the 8m. The build is single threaded so it shouldn't waste
>much memory.
>---
> Makefile                        | 5 +++++
> install/ui/util/build.sh        | 5 +++--
> install/ui/util/uglifyjs/uglify | 9 +++++----
> 3 files changed, 13 insertions(+), 6 deletions(-)
>
>diff --git a/Makefile b/Makefile
>index a7226341e6bd10106309997aae558fc07239482d..e54f8f0ba6484a12343f389b3cffbc20d7420a5f 100644
>--- a/Makefile
>+++ b/Makefile
>@@ -55,6 +55,11 @@ PYTHON ?= $(shell rpm -E %__python || echo /usr/bin/python)
> CFLAGS := -g -O2 -Werror -Wall -Wextra -Wformat-security -Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers $(CFLAGS)
> export CFLAGS
> 
>+# Uncomment to increase Java stack size for Web UI build in case it fails
>+# because of stack overflow exception. Default should be OK for most platforms.
>+#JAVA_STACK_SIZE ?= 8m
>+#export JAVA_STACK_SIZE
>+
> all: bootstrap-autogen server tests
> 	@for subdir in $(SUBDIRS); do \
> 		(cd $$subdir && $(MAKE) $@) || exit 1; \
>diff --git a/install/ui/util/build.sh b/install/ui/util/build.sh
>index 7cd623485a8a87872e29d32f529bd77a45d59810..03776c1fe54f750cf028981bce625702af32aa1d 100755
>--- a/install/ui/util/build.sh
>+++ b/install/ui/util/build.sh
>@@ -31,5 +31,6 @@ if [[ ! $profile ]] ; then
>     exit 1
> fi
> 
>-rhino $DIR/build/build.js baseUrl=$DIR/build load=build profile=$DIR/../src/$profile.profile.js
>-exit $?
>\ No newline at end of file
>+RHINO="java -Xss${JAVA_STACK_SIZE:-512k} -classpath /usr/share/java/rhino.jar  org.mozilla.javascript.tools.shell.Main"
>+$RHINO $DIR/build/build.js baseUrl=$DIR/build load=build profile=$DIR/../src/$profile.profile.js
>+exit $?
>diff --git a/install/ui/util/uglifyjs/uglify b/install/ui/util/uglifyjs/uglify
>index 7d25b38df19e465227f29b8b70ccf7ca140f725a..1227f589b4c50de49c465f6c696ecdc8af5e3c91 100755
>--- a/install/ui/util/uglifyjs/uglify
>+++ b/install/ui/util/uglifyjs/uglify
>@@ -25,8 +25,9 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
> 
> # rhino-1.7R4 doesn't have -main option to enable CommonJS support. It was
> # replaced by -require option.
>-if [ `rhino --help | grep -e -require | wc -l` -gt 0 ] ; then
>-    rhino -require $DIR/uglify-js.js $@
>+RHINO="java -Xss${JAVA_STACK_SIZE:-512k} -classpath /usr/share/java/rhino.jar  org.mozilla.javascript.tools.shell.Main"
>+if [ `$RHINO --help | grep -e -require | wc -l` -gt 0 ] ; then
>+    $RHINO -require $DIR/uglify-js.js $@
> else
>-    rhino -main $DIR/uglify-js.js $DIR/ug.js $@
>-fi
>\ No newline at end of file
>+    $RHINO -main $DIR/uglify-js.js $DIR/ug.js $@
>+fi

ACK.


-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list