Hallo,

you seem to have captured the main thread executing a verifyText. Is it
just a coincidence or does it stay there when you look at it later?

Have you tried to run the test within a debugger to locate the problem
place?

Personally I've encountered problems with some regular expressions on
large text with Java 6 which didn't occur with Java 5 and resulting with
StackOverflow. Perhaps an idea to follow?

Cheers,
Marc.
-- 
Blog: http://mguillem.wordpress.com


Alexander Mannsfeld wrote:
> Hi,
> 
> meanwhile I've got a problem with webTest's performance too.
> 
> At first I've thought that R1656 may solve my problem - it doesn't.
> 
> When running R1656 after some steps the tests pauses while Java's CPU
> load is going up to 90%; it stops for a while, sometimes forever,
> sometimes it continues(also whhen using stable 2.5).
> 
> I've used "jstack -l" on the corresponding process(running a simple
> webtest, invoke, verify text, invoke, verify text ....) after around the
> first 20 steps it stops(using out of the box 1656, this is the result:
> 
> ----
> 
> 2008-01-30 18:40:58
> Full thread dump Java HotSpot(TM) Client VM (1.6.0_02-b05 mixed mode,
> sharing):
> 
> "Attach Listener" daemon prio=10 tid=0x08186800 nid=0x38f1 runnable
> [0x00000000..0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>         - None
> 
> "MultiThreadedHttpConnectionManager cleanup" daemon prio=10
> tid=0xb5280000 nid=0x374a in Object.wait() [0xb51b5000..0xb51b60c0]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x81576b20> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x81576b20> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ReferenceQueueThread.run(MultiThreadedHttpConnectionManager.java:1122)
> 
> 
>    Locked ownable synchronizers:
>         - None
> 
> "Low Memory Detector" daemon prio=10 tid=0x0808d800 nid=0x3748 runnable
> [0x00000000..0x00000000]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>         - None
> 
> "CompilerThread0" daemon prio=10 tid=0x0808c000 nid=0x3747 waiting on
> condition [0x00000000..0xb5981ad8]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>         - None
> 
> "Signal Dispatcher" daemon prio=10 tid=0x0808ac00 nid=0x3746 runnable
> [0x00000000..0xb59d2ba0]
>    java.lang.Thread.State: RUNNABLE
> 
>    Locked ownable synchronizers:
>         - None
> 
> "Finalizer" daemon prio=10 tid=0x08081c00 nid=0x3745 in Object.wait()
> [0xb5a69000..0xb5a69f40]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x81419700> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x81419700> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> 
>    Locked ownable synchronizers:
>         - None
> 
> "Reference Handler" daemon prio=10 tid=0x08080800 nid=0x3744 in
> Object.wait() [0xb5aba000..0xb5abadc0]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x81419790> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:485)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x81419790> (a java.lang.ref.Reference$Lock)
> 
>    Locked ownable synchronizers:
>         - None
> 
> "main" prio=10 tid=0x08058800 nid=0x3742 runnable [0xb7dd5000..0xb7dd6218]
>    java.lang.Thread.State: RUNNABLE
>         at java.util.regex.Pattern$CharProperty.match(Pattern.java:3345)
>         at java.util.regex.Pattern$Curly.match0(Pattern.java:3770)
>         at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
>         at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
>         at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
>         at java.util.regex.Pattern$Slice.match(Pattern.java:3482)
>         at java.util.regex.Pattern$Curly.match0(Pattern.java:3782)
>         at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
>         at java.util.regex.Pattern$BnM.match(Pattern.java:4973)
>         at java.util.regex.Matcher.search(Matcher.java:1105)
>         at java.util.regex.Matcher.find(Matcher.java:535)
>         at
> com.canoo.webtest.engine.RegExStringVerifier.verifyStrings(RegExStringVerifier.java:28)
> 
>         at
> com.canoo.webtest.steps.verify.AbstractVerifyTextStep.verifyStrings(AbstractVerifyTextStep.java:61)
> 
>         at
> com.canoo.webtest.steps.verify.AbstractVerifyTextStep.verifyText(AbstractVerifyTextStep.java:65)
> 
>         at
> com.canoo.webtest.steps.verify.VerifyText.isExpectedStringPresent(VerifyText.java:83)
> 
>         at
> com.canoo.webtest.steps.verify.VerifyText.doExecute(VerifyText.java:56)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at
> com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.java:43)
> 
>         at
> com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:31)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:204)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>         at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
> 
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> 
>    Locked ownable synchronizers:
>         - None
> 
> "VM Thread" prio=10 tid=0x08077400 nid=0x3743 runnable
> 
> "VM Periodic Task Thread" prio=10 tid=0x0808f400 nid=0x3749 waiting on
> condition
> 
> JNI global references: 657
> 
> ----
> 
> I'm kind of clueless right now where the problem could be.
> Btw, it happens all over the different tests I've created, even the
> really minimalistic verifyLinks stops after some seconds.
> 
> Thank you in advance,
> 
> cheers,
> 
> Alexander
> 
> Alexander Mannsfeld
> Quality Assurance
> 
> GD GameDuell GmbH
> Ackerstrafle 14/15, 10115 Berlin
> ( +49 (0)30 288 768 811
> + +49 (0)30 288 768 299
> [EMAIL PROTECTED]
> Richtig spielen: www.gameduell.de
> 
> ---
> 
> Firmensitz: Berlin,
> Deutschland|Handelsregister: Amtsgericht Berlin-Charlottenburg, HRB Nr.
> 90891|USt-Id-Nr.: DE 813829498, Steuernummer: 37 / 225 /
> 20926|Verantwortliche Geschäftsführer: Kai Bolik | Michael Kalkowski |
> Boris Wasmuth
> 
> 
> 
> 
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
> 

_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to