On 12/13/2013 01:18 PM, Alexander Bokovoy wrote:
> 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.
> 
> 

Pushed to master, ipa-3-3.

I also set the increased stack size for the failing platforms. Patch attached,
acked by Alexander via IRC. Pushed to master and ipa-3-3 as well.

Martin
From e1a7c33cced24eecfeba2fd1152e5cabe3f42d23 Mon Sep 17 00:00:00 2001
From: Martin Kosek <mko...@redhat.com>
Date: Fri, 13 Dec 2013 15:26:03 +0100
Subject: [PATCH] Increase Java stack size on PPC platforms

Wit the default stack size, rhino segfaulted on PPC platforms.

https://bugzilla.redhat.com/show_bug.cgi?id=1040576
---
 freeipa.spec.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/freeipa.spec.in b/freeipa.spec.in
index c0f5118d5e3db695e5bfb202f71aafabe944fe4f..56f703585c8a3edc6a904a051d8687a7b0e228b7 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -320,6 +320,10 @@ This package contains tests that verify IPA functionality.
 %setup -n freeipa-%{version} -q
 
 %build
+%ifarch ppc %{power64}
+# UI compilation segfaulted on ppc platforms when stack was lower (#1040576)
+export JAVA_STACK_SIZE="8m"
+%endif
 export CFLAGS="$CFLAGS %{optflags}"
 export CPPFLAGS="$CPPFLAGS %{optflags}"
 %if 0%{?fedora} >= 18
-- 
1.8.4.2

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

Reply via email to