[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