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

Martin Kosek mkosek at redhat.com
Fri Dec 13 14:38:33 UTC 2013


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freeipa-mkosek-442-increase-java-stack-size-on-ppc-platforms.patch
Type: text/x-patch
Size: 951 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20131213/7f095576/attachment.bin>


More information about the Freeipa-devel mailing list