summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-07-31 15:12:19 +0200
committerMartin Kosek <mkosek@redhat.com>2013-12-13 15:17:48 +0100
commitccac00001287b9bca11813bb262afc7702c7dce2 (patch)
tree403fc920571f8296ed2daa6465169e02b0e385d6
parent423bb38965ce361c3a4d373ddc03008842f110ac (diff)
downloadfreeipa-ccac00001287b9bca11813bb262afc7702c7dce2.tar.gz
freeipa-ccac00001287b9bca11813bb262afc7702c7dce2.tar.xz
freeipa-ccac00001287b9bca11813bb262afc7702c7dce2.zip
Increase stack size for Web UI builder
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.
-rw-r--r--Makefile5
-rwxr-xr-xinstall/ui/util/build.sh5
-rwxr-xr-xinstall/ui/util/uglifyjs/uglify9
3 files changed, 13 insertions, 6 deletions
diff --git a/Makefile b/Makefile
index a7226341..e54f8f0b 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 7cd62348..03776c1f 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 7d25b38d..1227f589 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