Opening JSP "deadlocks" Eclipse [message #82514] |
Fri, 11 March 2005 09:54  |
Eclipse User |
|
|
|
Hi,
maybe it is not an Eclipse problem, but a "too-less-hardware" error, but
let's see.
I've a JSP project with about 500 JSPs and 500 Java classes. Some pages
and classes are very very large (about 2000 - 5000 lines per page or class).
Unfortunaltely I've only a 800 MHz AMD with 640 MB RAM.
I installed the latestes milestone from eclipse and WTP.
Sometimes when I open very large JSP pages (only then) eclipse grabs all
processor time and works forever, not responding anymore. Then I've to
kill the process.
Tomcat instead compiles these large JSPs in about 2-3 seconds.
Do you think this is an eclipse/WTP problem, or is my machine to old?
Regards,
Oli
|
|
|
Re: Opening JSP "deadlocks" Eclipse [message #82738 is a reply to message #82514] |
Fri, 11 March 2005 11:23   |
Eclipse User |
|
|
|
Originally posted by: pavery.us.ibm.com
Hi Oli,
It's hard to tell what's going on w/out more details.
(but I doubt it's that your machine is too old =)
A couple things you can do to help debug are:
- open the progress view
(window > show view > other... > basic > progress)
and in that view also enable showing system jobs (should be under the
little arrow on the toolbar for the view: preferences > show sleeping
and system tasks)
with this view open you might be able to see which
builders/validators/system background jobs are "stuck".
- next time you encounter a deadlock, if you are running the workbench
w/ the "-consolelog" option, from the console you can press
ctrl + break to get a memory dump (this will save to your "eclipse"
directory), and you can see what was going on in each thread when the
workbench was stuck.
That should help narrow down where the problem is.
-phil
Oli Glimmer wrote:
> Hi,
>
> maybe it is not an Eclipse problem, but a "too-less-hardware" error, but
> let's see.
>
> I've a JSP project with about 500 JSPs and 500 Java classes. Some pages
> and classes are very very large (about 2000 - 5000 lines per page or
> class).
>
> Unfortunaltely I've only a 800 MHz AMD with 640 MB RAM.
>
> I installed the latestes milestone from eclipse and WTP.
>
> Sometimes when I open very large JSP pages (only then) eclipse grabs all
> processor time and works forever, not responding anymore. Then I've to
> kill the process.
>
> Tomcat instead compiles these large JSPs in about 2-3 seconds.
>
> Do you think this is an eclipse/WTP problem, or is my machine to old?
>
> Regards,
> Oli
|
|
|
Re: Opening JSP "deadlocks" Eclipse [message #83316 is a reply to message #82738] |
Mon, 14 March 2005 07:27   |
Eclipse User |
|
|
|
This is a multi-part message in MIME format.
--------------050906050904080607060804
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
I was able to get a better machine. Now it is a Pentium 4 - 2GHz with
512 MB RAM.
But the problem persists.
I turned "progress" on and there are only 2 items shown, when eclipse
goes into "work-forever".
That is "Update Process" and "Compacting memory (Sleeping)".
I also dumped the memory, but if I see that correctly, there are only
"waiting" threads. I attachted a text file with that dump.
Any ideas?
Best regards,
Oli
phil avery schrieb:
> Hi Oli,
>
> It's hard to tell what's going on w/out more details.
> (but I doubt it's that your machine is too old =)
>
> A couple things you can do to help debug are:
>
> - open the progress view
> (window > show view > other... > basic > progress)
> and in that view also enable showing system jobs (should be under the
> little arrow on the toolbar for the view: preferences > show sleeping
> and system tasks)
>
> with this view open you might be able to see which
> builders/validators/system background jobs are "stuck".
>
> - next time you encounter a deadlock, if you are running the workbench
> w/ the "-consolelog" option, from the console you can press
> ctrl + break to get a memory dump (this will save to your "eclipse"
> directory), and you can see what was going on in each thread when the
> workbench was stuck.
>
> That should help narrow down where the problem is.
>
> -phil
>
> Oli Glimmer wrote:
>
>> Hi,
>>
>> maybe it is not an Eclipse problem, but a "too-less-hardware" error,
>> but let's see.
>>
>> I've a JSP project with about 500 JSPs and 500 Java classes. Some
>> pages and classes are very very large (about 2000 - 5000 lines per
>> page or class).
>>
>> Unfortunaltely I've only a 800 MHz AMD with 640 MB RAM.
>>
>> I installed the latestes milestone from eclipse and WTP.
>>
>> Sometimes when I open very large JSP pages (only then) eclipse grabs
>> all processor time and works forever, not responding anymore. Then
>> I've to kill the process.
>>
>> Tomcat instead compiles these large JSPs in about 2-3 seconds.
>>
>> Do you think this is an eclipse/WTP problem, or is my machine to old?
>>
>> Regards,
>> Oli
--------------050906050904080607060804
Content-Type: text/plain;
name="dump"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="dump"
Full thread dump Java HotSpot(TM) Client VM (1.5.0-b64 mixed mode):
"Worker-4" daemon prio=5 tid=0x0c0abb00 nid=0xc54 in Object.wait() [0x0c97f000..0x0c97fc68]
at java.lang.Object.wait(Native Method)
- waiting on <0x032b5548> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.j ava:167)
- locked <0x032b5548> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPoo l.java:199)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=2 tid=0x0aec6558 nid=0x8b4 in Object.wait() [0x0c54f000..0x0c54fb68]
at java.lang.Object.wait(Native Method)
- waiting on <0x03b9ce90> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at org.eclipse.jface.text.reconciler.AbstractReconciler$Backgro undThread.run(AbstractReconciler.java:176)
- locked <0x03b9ce90> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Java indexing" daemon prio=4 tid=0x0aefbe30 nid=0x464 in Object.wait() [0x0bcff000..0x0bcffbe8]
at java.lang.Object.wait(Native Method)
- waiting on <0x03a52ba0> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Object.wait(Unknown Source)
at org.eclipse.jdt.internal.core.search.processing.JobManager.r un(JobManager.java:345)
- locked <0x03a52ba0> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
at java.lang.Thread.run(Unknown Source)
"Reference Cleaner: 1" prio=7 tid=0x0ae488e8 nid=0x924 in Object.wait() [0x0bbdf000..0x0bbdfc68]
at java.lang.Object.wait(Native Method)
- waiting on <0x039dc6f8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x039dc6f8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at org.eclipse.jface.resource.ImageCache$ReferenceCleanerThread .run(ImageCache.java:424)
"Worker-0" daemon prio=5 tid=0x0ac6ab18 nid=0xe10 in Object.wait() [0x0b34f000..0x0b34f9e8]
at java.lang.Object.wait(Native Method)
- waiting on <0x032b5548> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.j ava:167)
- locked <0x032b5548> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPoo l.java:199)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)
"Start Level Event Dispatcher" daemon prio=5 tid=0x0ae98810 nid=0xce4 in Object.wait() [0x0b2cf000..0x0b2cfb68]
at java.lang.Object.wait(Native Method)
- waiting on <0x02ff1aa0> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:162)
- locked <0x02ff1aa0> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThr ead.java:100)
"Framework Event Dispatcher" daemon prio=5 tid=0x0ac981c8 nid=0x398 in Object.wait() [0x0b28f000..0x0b28fbe8]
at java.lang.Object.wait(Native Method)
- waiting on <0x02fd9bc8> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at java.lang.Object.wait(Unknown Source)
at org.eclipse.osgi.framework.eventmgr.EventThread.getNextEvent (EventThread.java:162)
- locked <0x02fd9bc8> (a org.eclipse.osgi.framework.eventmgr.EventThread)
at org.eclipse.osgi.framework.eventmgr.EventThread.run(EventThr ead.java:100)
"Low Memory Detector" daemon prio=5 tid=0x00a91298 nid=0xa64 runnable [0x00000000..0x00000000]
"CompilerThread0" daemon prio=10 tid=0x00a8fe70 nid=0x978 waiting on condition [0x00000000..0x0abcf6c0]
"Signal Dispatcher" daemon prio=10 tid=0x00a8f1f8 nid=0x810 waiting on condition [0x00000000..0x00000000]
"Finalizer" daemon prio=9 tid=0x00a866e8 nid=0xdf0 in Object.wait() [0x0ab4f000..0x0ab4fa68]
at java.lang.Object.wait(Native Method)
- waiting on <0x02fc4768> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x02fc4768> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
"Reference Handler" daemon prio=10 tid=0x00a85258 nid=0x104 in Object.wait() [0x0ab0f000..0x0ab0fae8]
at java.lang.Object.wait(Native Method)
- waiting on <0x02fc47e8> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Unknown Source)
at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
- locked <0x02fc47e8> (a java.lang.ref.Reference$Lock)
"main" prio=7 tid=0x00034e40 nid=0xde0 runnable [0x0007e000..0x0007fc40]
at org.eclipse.swt.widgets.Scrollable.getClientArea(Scrollable. java:151)
at org.eclipse.swt.custom.StyledText.getPartialBottomIndex(Styl edText.java:3991)
at org.eclipse.swt.custom.DisplayRenderer.updateTopIndex(Displa yRenderer.java:242)
at org.eclipse.swt.custom.DisplayRenderer.createTextLayout(Disp layRenderer.java:219)
at org.eclipse.swt.custom.StyledTextRenderer.getTextLayout(Styl edTextRenderer.java:409)
at org.eclipse.swt.custom.StyledText.redrawLines(StyledText.jav a:5958)
at org.eclipse.swt.custom.StyledText.internalRedrawRange(Styled Text.java:4884)
at org.eclipse.swt.custom.StyledText.redrawRange(StyledText.jav a:6084)
at org.eclipse.jface.text.source.AnnotationPainter$SquigglesStr ategy.draw(AnnotationPainter.java:107)
at org.eclipse.jface.text.source.AnnotationPainter.handleDrawRe quest(AnnotationPainter.java:1231)
at org.eclipse.jface.text.source.AnnotationPainter.disablePaint ing(AnnotationPainter.java:369)
at org.eclipse.jface.text.source.AnnotationPainter.updatePainti ng(AnnotationPainter.java:782)
at org.eclipse.jface.text.source.AnnotationPainter.access$1(Ann otationPainter.java:781)
at org.eclipse.jface.text.source.AnnotationPainter$1.run(Annota tionPainter.java:909)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:3 5)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java:118)
- locked <0x04aed5b8> (a org.eclipse.swt.widgets.RunnableLock)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.jav a:2885)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2544)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1612)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:293)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:144)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:102)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:228)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:333)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
at org.eclipse.core.launcher.Main.run(Main.java:887)
at org.eclipse.core.launcher.Main.main(Main.java:871)
"VM Thread" prio=10 tid=0x00a81110 nid=0x4bc runnable
"VM Periodic Task Thread" prio=10 tid=0x00a92470 nid=0x98c waiting on condition
--------------050906050904080607060804--
|
|
|
Re: Opening JSP "deadlocks" Eclipse [message #83590 is a reply to message #83316] |
Mon, 14 March 2005 15:36  |
Eclipse User |
|
|
|
On Mon, 14 Mar 2005 13:27:54 +0100, Oli Glimmer <oglimmer@gmail.com> wrote:
>
> I also dumped the memory, but if I see that correctly, there are only
> "waiting" threads. I attachted a text file with that dump.
>
> Any ideas?
>
I would suggest opening a bug, and attaching your dumps to that.
I noticed in your dumps, you are using Java 1.5? So, in the trial-and-error style
of debugging, you might try 1.4.2 or so, and see if makes a difference (if
so, might be a JIT bug).
Also, when you get your dumps, I assume from ctrl-break in console window,
you might take a couple of them, several seconds apart. This will help determine
if there is literally "no movement" or if somethings happening and its just really,
really slow (like an infinite loop, or near infinite loop).
Thanks.
|
|
|
Powered by
FUDForum. Page generated in 0.06430 seconds