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

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to