List Info

Thread: stack overflow error when POSTing large files...




stack overflow error when POSTing large files...
user name
2006-09-25 19:23:39
hi everyone!

when i edita file that is approximately 19k in size in the
oneform 
editor and press "save", thre is a stack overflow
error.
is there some knob i can turn to increase the java stack
size?
and why does this data end up on the stack anyways?

i must confess that i have no clear idea how stack and heap
work in java 
- another language i once knew would put all directly
declared vars on 
the stack, and all those created with "new" on the
heap... is that also 
the case with java?


-- 
"Open source takes the bullshit out of software."
	- Charles Ferguson on TechnologyReview.com

--
Jörn Nettingsmeier, EDV-Administrator
Institut für Politikwissenschaft
Universität Duisburg-Essen, Standort Duisburg
Mail: pol-adminuni-due.de, Telefon: 0203/379-2736

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribelenya.apache.org
For additional commands, e-mail: dev-helplenya.apache.org

stack overflow error when POSTing large files...
user name
2006-09-26 07:59:29
Jörn Nettingsmeier wrote:
> hi everyone!
> 
> when i edita file that is approximately 19k in size in
the oneform
> editor and press "save", thre is a stack
overflow error.
> is there some knob i can turn to increase the java
stack size?
> and why does this data end up on the stack anyways?

By default, Lenya starts Java with these options (from
lenya.sh)
  JAVA_OPTIONS='-Xms32M -Xmx512M -Djava.awt.headless=true'

So you could try starting with Xms64M, for example
(although IMO 19k does not sound like a large file)

> 
> i must confess that i have no clear idea how stack and
heap work in java
> - another language i once knew would put all directly
declared vars on
> the stack, and all those created with "new"
on the heap... is that also
> the case with java?

There is a thread that discusses the differences here:
http://forum.java.sun.com/thread.jspa
?threadID=678366&messageID=3957743


--
Wolfgang

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribelenya.apache.org
For additional commands, e-mail: dev-helplenya.apache.org

stack overflow error when POSTing large files...
user name
2006-09-26 08:44:25
hi wolfgang!

Joachim Wolfgang Kaltz wrote:
> Jörn Nettingsmeier wrote:
>> hi everyone!
>> 
>> i must confess that i have no clear idea how stack
and heap work in
>>  java - another language i once knew would put all
directly
>> declared vars on the stack, and all those created
with "new" on the
>> heap... is that also the case with java?
> 
> There is a thread that discusses the differences here: 
> http://forum.java.sun.com/thread.jspa
?threadID=678366&messageID=3957743

thanks for that link, just what i needed.

>> when i edita file that is approximately 19k in size
in the oneform
>>  editor and press "save", thre is a stack
overflow error. is there 
>> some knob i can turn to increase the java stack
size? and why does 
>> this data end up on the stack anyways?
> 
> By default, Lenya starts Java with these options (from
lenya.sh) 
> JAVA_OPTIONS='-Xms32M -Xmx512M
-Djava.awt.headless=true'
> 
> So you could try starting with Xms64M, for example
(although IMO 19k 
> does not sound like a large file)

iiuc (and the link you posted seems to indicate the same),
then those
parameters govern the initial and maximum /heap/ size.
i was getting a /stack/ overflow. in the java forum thread,
someone
explains that stack variables are used to pass parameters to
methods -
i thought that was the problem: perhaps my 19k file is
passed around as 
a string parameter. weird, but possible.

eventually i found out that there is another parameter -Xss
that sets 
the "thread stack size" (i guess that means
per-thread). i tried 
increasing it to 500k, but the problem remains.

with the enlarged stack, i got a better stacktrace, and it
turns out 
that the real problem is somewhere else: the java regex
engine barfs. 
with a non-terminating recursion, a stack overflow is not so

surprising... :'(

...
Caused by: java.lang.StackOverflowError
START:
	at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4530)
	at
java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
	at java.util.regex.Pattern$Loop.match(Pattern.java:4697)
	at
java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
	at
java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
	at java.util.regex.Pattern$Ques.match(Pattern.java:4144)
	at java.util.regex.Pattern$Sub.match(Pattern.java:5247)
	at
java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
GOTO START

it's triggered in the advance/execute try{}-block of
usecases.js.
now that will be a pest to debug. i guess it'll have to wait
a few 
weeks, and in the mean time i just upload the resource...

will it make sense to put this bug in bugzilla, or is it an
upstream 
problem?

regards,

jörn


-- 
"Open source takes the bullshit out of software."
	- Charles Ferguson on TechnologyReview.com

--
Jörn Nettingsmeier, EDV-Administrator
Institut für Politikwissenschaft
Universität Duisburg-Essen, Standort Duisburg
Mail: pol-adminuni-due.de, Telefon: 0203/379-2736

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribelenya.apache.org
For additional commands, e-mail: dev-helplenya.apache.org

stack overflow error when POSTing large files...
user name
2006-09-26 08:54:24
On Tue, 2006-09-26 at 10:44 +0200, Jörn Nettingsmeier wrote:
> hi wolfgang!
> 
> Joachim Wolfgang Kaltz wrote:
> > Jörn Nettingsmeier wrote:
> >> hi everyone!
> >> 
> >> i must confess that i have no clear idea how
stack and heap work in
> >>  java - another language i once knew would put
all directly
> >> declared vars on the stack, and all those
created with "new" on the
> >> heap... is that also the case with java?
> > 
> > There is a thread that discusses the differences
here: 
> > http://forum.java.sun.com/thread.jspa
?threadID=678366&messageID=3957743
> 
> thanks for that link, just what i needed.
> 
> >> when i edita file that is approximately 19k in
size in the oneform
> >>  editor and press "save", thre is a
stack overflow error. is there 
> >> some knob i can turn to increase the java
stack size? and why does 
> >> this data end up on the stack anyways?
> > 
> > By default, Lenya starts Java with these options
(from lenya.sh) 
> > JAVA_OPTIONS='-Xms32M -Xmx512M
-Djava.awt.headless=true'
> > 
> > So you could try starting with Xms64M, for example
(although IMO 19k 
> > does not sound like a large file)
> 
> iiuc (and the link you posted seems to indicate the
same), then those
> parameters govern the initial and maximum /heap/ size.
> i was getting a /stack/ overflow. in the java forum
thread, someone
> explains that stack variables are used to pass
parameters to methods -
> i thought that was the problem: perhaps my 19k file is
passed around as 
> a string parameter. weird, but possible.
> 
> eventually i found out that there is another parameter
-Xss that sets 
> the "thread stack size" (i guess that means
per-thread). i tried 
> increasing it to 500k, but the problem remains.
> 
> with the enlarged stack, i got a better stacktrace, and
it turns out 
> that the real problem is somewhere else: the java regex
engine barfs. 
> with a non-terminating recursion, a stack overflow is
not so 
> surprising... :'(
> 
> ...
> Caused by: java.lang.StackOverflowError
> START:
> 	at
java.util.regex.Pattern$Branch.match(Pattern.java:4530)
> 	at
java.util.regex.Pattern$Branch.match(Pattern.java:4530)
> 	at
java.util.regex.Pattern$Branch.match(Pattern.java:4530)
> 	at
java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
> 	at
java.util.regex.Pattern$Loop.match(Pattern.java:4697)
> 	at
java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
> 	at
java.util.regex.Pattern$GroupTail.match(Pattern.java:4629)
> 	at
java.util.regex.Pattern$Ques.match(Pattern.java:4144)
> 	at
java.util.regex.Pattern$Sub.match(Pattern.java:5247)
> 	at
java.util.regex.Pattern$GroupHead.match(Pattern.java:4570)
> GOTO START
> 
> it's triggered in the advance/execute try{}-block of
usecases.js.
> now that will be a pest to debug. i guess it'll have to
wait a few 
> weeks, and in the mean time i just upload the
resource...
> 
> will it make sense to put this bug in bugzilla, or is
it an upstream 
> problem?

FYI, I just successfully edited a 100k document in the
oneform editor.
Does your document contain a lot of markup? Mine contains
mostly plain
text without markup.

Feel free to file a bug, and please attach the relevant part
of the
stacktrace and (if possible) your document.

Josias

> 
> regards,
> 
> jörn
> 
> 


------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribelenya.apache.org
For additional commands, e-mail: dev-helplenya.apache.org

stack overflow error when POSTing large files...
user name
2006-09-26 09:01:06
Josias Thöny wrote:

> FYI, I just successfully edited a 100k document in the
oneform editor.
> Does your document contain a lot of markup? Mine
contains mostly plain
> text without markup.

it's an xslt stylesheet. as convoluted a markup as you can
get ;)

> Feel free to file a bug, and please attach the relevant
part of the
> stacktrace and (if possible) your document.

ok.



-- 
"Open source takes the bullshit out of software."
	- Charles Ferguson on TechnologyReview.com

--
Jörn Nettingsmeier, EDV-Administrator
Institut für Politikwissenschaft
Universität Duisburg-Essen, Standort Duisburg
Mail: pol-adminuni-due.de, Telefon: 0203/379-2736

------------------------------------------------------------
---------
To unsubscribe, e-mail: dev-unsubscribelenya.apache.org
For additional commands, e-mail: dev-helplenya.apache.org

[1-5]

about | contact  Other archives ( Real Estate discussion Medical topics )