12-09-2014 6:59 PM
Hello,
I try to write an Debugger Plugin for AiE. My Target is, to read some Informations of different Variables (Internal Tables, References etc), match this Infos, and show its in a tree.
But i'm not really successfull.
I read the "Getting started..." Document from: http://scn.sap.com/docs/DOC-59944
and the linked Blogs from Martin Steinberg and Christian Drumm.
But my Problem is a little bit specially, because i want to use my Plug-In in the Debug Perspective...
For Example: When i try the "Hello World" Plugin from Martin Steinberg: http://scn.sap.com/docs/DOC-54728
it works.
I have the "Hello World" Plug-In Project in Eclipse, when i start it, an second Eclipse Instance is starts.
In the Second Eclipse instance i have the new Menu-Button for the Plugin, and can start the plugin. => Everything is okay.
But: When i connect to a Abap Project (in the second eclipse), and start the debugger, the second Eclipse freeze
and hangs up.... Have someone an Idea to solve this Problem?
I think its a Problem of the second Eclipse Instance and ADT.
What i already tried:
When i use not an ABAP Project (in the second eclipse), and use a Java Project, and start the Debugger for Java,
the second Eclipse hangs up too. => i thought its a generally Eclipse Problem.
BUT: I tried a complete new Eclipse Installation (Without installed ADT), and with this eclipse, i can start my Plug-In Project =>
Second Eclipse Instance starts, and doesn't hang up when i start the Debugger there.
I installed the Eclipse some times again (with and without ADT) and i only have the Problem when ADT is installed.
P.S. I use Luna and the newest ADT-Version.
Have someone an Idea?
Regards
Stefan
01-14-2015 10:14 PM
Hello,
I found the solution.
My Eclipse (First Eclipse Instance) use the JRE and not the JDK.
In Eclipse you can find the Setting in => Window | Preferences | Java | Installed JREs.
I installed the newest JDK. And switched in Eclipse from JRE to the JDK folder.
Now the second Eclipse can debug on SAP Systems . (without freeze)
Regards
Stefan
12-10-2014 1:27 PM
Hi Stefan,
I didn't face such issue so far. But maybe ABAP debugger in both Eclipse sessions is blocking somehow. Could you try to disable ABAP debugger (in your first Eclipse)?
To disable the ABAP debugger for your project process the following steps:
- Select your project in Project Explorer
- Select "Properties" in the context menu
- Open page "ABAP Development > Debug"
- Disable the checkbox "Enable debugger"
Michael
12-10-2014 2:41 PM
Hello Michael,
Thank you for the Tip. But in my first Eclipse i doesn't have any ABAP Projects. I only have one "Plug-In Project" for Eclipse.
When i go to Properties in the Project Explorer i doesn't have the option "Abap Development".
This Option is only there, if its an Abap Project.
In the Morning i tried following:
1. New Eclipse Installation (only with Plug-In Environment, WITHOUT ADT).
2. New Eclipse Installation (with ADT) => Debugger Worked.
In my first Eclipse, i can define a "TARGET Eclipse for Plug-Ins". Normaly there is an Reference to the own Eclipse Folder...
I changed the Target to my Second Eclipse Installation (With ADT).
Result: When i start my Plug-In Project a second Eclipse starts.
In the first Eclipse i haven't ADT. In the Second Eclipse i have ADT.
But i have the Problem again. => Debugger in the second Eclipse freeze and hangs up.
Very strange...
Regards
Stefan
12-11-2014 9:55 AM
Hi Stefan,
the blocking Eclipse instance can either be caused by a breakpoint (on Java or ABAP side), or a deadlock during startup. For both cases taking a look at the thread's states is useful:
Regards,
Christian
12-13-2014 6:34 PM
Hello Christian,
Thank you for your Help.
Here are the Infors from the Threads.
I Make two Szenarios.
The First Szenario (which you described), the second Eclipse doesn't freeze, because i didn't start
the Debugger in the second Eclipse instance
- Start the second instance in debug mode
- Open "Debug" view in the first instance.
- stop all threads
Here is the Text. (after this Text, have an other scenario with frozen Eclipse..)
org.eclipse.equinox.launcher.Main at localhost:61277 (Suspended)
Daemon System Thread [Attach Listener] (Suspended)
Daemon System Thread [Signal Dispatcher] (Suspended)
Daemon System Thread [Finalizer] (Suspended)
Daemon System Thread [Reference Handler] (Suspended)
Thread [main] (Suspended)
Thread [Active Thread: Equinox Container: e00c9ca1-f382-0014-1b3f-fef59284754b] (Suspended)
Daemon Thread [Framework Event Dispatcher: Equinox Container: e00c9ca1-f382-0014-1b3f-fef59284754b] (Suspended)
Daemon Thread [Start Level: Equinox Container: e00c9ca1-f382-0014-1b3f-fef59284754b] (Suspended)
Daemon Thread [[Timer] - Main Queue Handler] (Suspended)
Daemon Thread [Bundle File Closer] (Suspended)
Thread [Worker-JM] (Suspended)
Daemon Thread [EMF Reference Cleaner] (Suspended)
Thread [Worker-0] (Suspended)
Thread [Worker-1] (Suspended)
Daemon Thread [Java indexing] (Suspended)
Daemon Thread [JCoTimeoutChecker] (Suspended)
Daemon Thread [EventAdmin Async Event Dispatcher Thread] (Suspended)
Thread [Worker-2] (Suspended)
Thread [Worker-3] (Suspended)
Thread [Worker-4] (Suspended)
Thread [Worker-5] (Suspended)
Daemon Thread [Support Information Request Listener] (Suspended)
Daemon Thread [[ThreadPool Manager] - Idle Thread] (Suspended)
In the next Scnario, the Eclipse is frozen.
- Start the second Eclipse Instance in debug mode
- Connect to a Abap Project in the second Eclipse
- Set an Breakpoint in Abap Source Code (Second Eclipse)
- Start the Abap Transaction in the Second Eclipse, and the Breakpoint is reached
=> Second Eclipse Instance freeze.
Here is the Text of the Thread-Stack of the "Freeze-Scenario"
org.eclipse.equinox.launcher.Main at localhost:61344 (Suspended)
Daemon System Thread [Attach Listener] (Suspended)
Daemon System Thread [Signal Dispatcher] (Suspended)
Daemon System Thread [Finalizer] (Suspended)
Daemon System Thread [Reference Handler] (Suspended)
Thread [main] (Suspended)
Thread [Active Thread: Equinox Container: 006266c4-f582-0014-1e7d-8961eb6b05a7] (Suspended)
Daemon Thread [Framework Event Dispatcher: Equinox Container: 006266c4-f582-0014-1e7d-8961eb6b05a7] (Suspended)
Daemon Thread [Start Level: Equinox Container: 006266c4-f582-0014-1e7d-8961eb6b05a7] (Suspended)
Daemon Thread [[Timer] - Main Queue Handler] (Suspended)
Daemon Thread [Bundle File Closer] (Suspended)
Thread [Worker-JM] (Suspended)
Daemon Thread [EMF Reference Cleaner] (Suspended)
Thread [Worker-1] (Suspended)
Daemon Thread [Java indexing] (Suspended)
Daemon Thread [JCoTimeoutChecker] (Suspended)
Daemon Thread [EventAdmin Async Event Dispatcher Thread] (Suspended)
Thread [Worker-3] (Suspended)
Thread [Worker-4] (Suspended)
Daemon Thread [Support Information Request Listener] (Suspended)
Thread [pool-1-thread-1] (Suspended)
Thread [Worker-6] (Suspended)
Thread [Worker-7] (Suspended)
Thread [Worker-8] (Suspended)
Daemon System Thread [Java2D Disposer] (Suspended)
Daemon Thread [AWT-Windows] (Suspended)
Thread [Worker-10] (Suspended)
Daemon Thread [[ThreadPool Manager] - Idle Thread] (Suspended)
Daemon Thread [Timer-0] (Suspended)
Daemon Thread [Timer-1] (Suspended)
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
Regards
Stefan
12-15-2014 7:53 AM
Hi Stefan,
thanks for the data. However, this doesn't help too much since you dumped the list of threads instead of the stack frames within the threads. So, as a second try, please expand all nodes one level deeper. Also, you don't need to send the data for the unproblematic scenario.
Regards,
Christian
12-15-2014 9:48 AM
Hey Christian,
Sorry. My mistake...
Here are the stack frames within the threads.
Szenario
- Start Second Eclipse in Debug-Mode
- Connect to a Abap Project in Second Eclipse
- Set Breakpoint in Abap Source-Code (Second Eclipse)
- Start Abap Transaction to reach the Breakpoint => Second Eclipse freeze
- Start Debug Perspective in Frist Eclipse
- Expand All Nodes of the Threads
- Copy Stack:
org.eclipse.equinox.launcher.Main at localhost:58460 (Suspended)
Daemon System Thread [Attach Listener] (Suspended)
Daemon System Thread [Signal Dispatcher] (Suspended)
Daemon System Thread [Finalizer] (Suspended)
waiting for: ReferenceQueue$Lock (id=134)
Object.wait(long) line: not available [native method]
ReferenceQueue<T>.remove(long) line: not available
ReferenceQueue<T>.remove() line: not available
Finalizer$FinalizerThread.run() line: not available
Daemon System Thread [Reference Handler] (Suspended)
waiting for: Reference$Lock (id=135)
Object.wait(long) line: not available [native method]
Reference$Lock(Object).wait() line: 503
Reference$ReferenceHandler.run() line: not available
Thread [main] (Suspended)
owns: Class<T> (org.eclipse.swt.graphics.Device) (id=129)
ToolBarManagerRenderer.cleanUp(MToolBar) line: 571
ToolBarManagerRenderer$9.widgetDisposed(DisposeEvent) line: 447
TypedListener.handleEvent(Event) line: 123
EventTable.sendEvent(Event) line: 84
Display.sendEvent(EventTable, Event) line: 4353
ToolBar(Widget).sendEvent(Event) line: 1061
ToolBar(Widget).sendEvent(int, Event, boolean) line: 1085
ToolBar(Widget).sendEvent(int) line: 1066
ToolBar(Widget).release(boolean) line: 816
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
CTabFolder(Composite).releaseChildren(boolean) line: 874
CTabFolder(Widget).release(boolean) line: 819
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
Composite.releaseChildren(boolean) line: 874
Composite(Widget).release(boolean) line: 819
Shell(Composite).releaseChildren(boolean) line: 874
Shell(Canvas).releaseChildren(boolean) line: 165
Shell(Decorations).releaseChildren(boolean) line: 789
Shell.releaseChildren(boolean) line: 1290
Shell(Widget).release(boolean) line: 819
Shell(Widget).dispose() line: 454
Shell(Decorations).dispose() line: 447
Shell.dispose() line: 715
Display.release() line: 3811
Display(Device).dispose() line: 295
IDEApplication.start(IApplicationContext) line: 151
EclipseAppHandle.run(Object) line: 196
EclipseAppLauncher.runApplication(Object) line: 134
EclipseAppLauncher.start(Object) line: 104
EclipseStarter.run(Object) line: 380
EclipseStarter.run(String[], Runnable) line: 235
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
Main.invokeFramework(String[], URL[]) line: 648
Main.basicRun(String[]) line: 603
Main.run(String[]) line: 1465
Main.main(String[]) line: 1438
Thread [Active Thread: Equinox Container: 5007ce27-3e84-0014-101b-dd8a3d6da6c6] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.parkNanos(Object, long) line: not available
AbstractQueuedSynchronizer$ConditionObject.awaitNanos(long) line: not available
ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: not available
ScheduledThreadPoolExecutor$DelayedWorkQueue.take() line: not available
ScheduledThreadPoolExecutor(ThreadPoolExecutor).getTask() line: not available
ScheduledThreadPoolExecutor(ThreadPoolExecutor).runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available
Thread.run() line: not available
Daemon Thread [Framework Event Dispatcher: Equinox Container: 5007ce27-3e84-0014-101b-dd8a3d6da6c6] (Suspended)
waiting for: EventManager$EventThread<K,V,E> (id=20)
Object.wait(long) line: not available [native method]
EventManager$EventThread<K,V,E>(Object).wait() line: 503
EventManager$EventThread<K,V,E>.getNextEvent() line: 400
EventManager$EventThread<K,V,E>.run() line: 336
Daemon Thread [Start Level: Equinox Container: 5007ce27-3e84-0014-101b-dd8a3d6da6c6] (Suspended)
waiting for: EventManager$EventThread<K,V,E> (id=22)
Object.wait(long) line: not available [native method]
EventManager$EventThread<K,V,E>(Object).wait() line: 503
EventManager$EventThread<K,V,E>.getNextEvent() line: 400
EventManager$EventThread<K,V,E>.run() line: 336
Daemon Thread [[Timer] - Main Queue Handler] (Suspended)
owns: Object[][] (id=127)
owns: TimerQueue (id=128)
ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain, String) line: not available [native method]
EquinoxClassLoader(ClassLoader).defineClass(String, byte[], int, int, ProtectionDomain) line: not available
EquinoxClassLoader(ModuleClassLoader).defineClass(String, byte[], ClasspathEntry) line: 272
ClasspathManager.defineClass(String, byte[], ClasspathEntry, BundleEntry, List<ClassLoaderHook>) line: 632
ClasspathManager.findClassImpl(String, ClasspathEntry, List<ClassLoaderHook>) line: 588
ClasspathManager.findLocalClassImpl(String, List<ClassLoaderHook>) line: 540
ClasspathManager.findLocalClass(String) line: 527
EquinoxClassLoader(ModuleClassLoader).findLocalClass(String) line: 324
BundleLoader.findLocalClass(String) line: 320
BundleLoader.findClassInternal(String, boolean) line: 395
BundleLoader.findClass(String, boolean) line: 345
BundleLoader.findClass(String) line: 337
EquinoxClassLoader(ModuleClassLoader).loadClass(String, boolean) line: 160
EquinoxClassLoader(ClassLoader).loadClass(String) line: not available
ThreadPoolManagerImpl.getInstance() line: 88
ThreadPoolManagerImpl(ObjectPool).getObject() line: 156
ThreadPoolManagerImpl.getObject() line: 97
ThreadPoolManagerImpl.execute(Runnable, int, String, ThreadPoolFactoryImpl, AccessControlContext) line: 203
ThreadPoolFactoryImpl.execute0(Runnable, int, String, AccessControlContext) line: 112
TimerImpl.run() line: 110
Thread.run() line: not available
Daemon Thread [Bundle File Closer] (Suspended)
waiting for: EventManager$EventThread<K,V,E> (id=25)
Object.wait(long) line: not available [native method]
EventManager$EventThread<K,V,E>(Object).wait() line: 503
EventManager$EventThread<K,V,E>.getNextEvent() line: 400
EventManager$EventThread<K,V,E>.run() line: 336
Thread [Worker-JM] (Suspended)
waiting for: ArrayList<E> (id=122)
Object.wait(long) line: not available [native method]
InternalWorker.run() line: 59
Daemon Thread [EMF Reference Cleaner] (Suspended)
waiting for: ReferenceQueue$Lock (id=125)
Object.wait(long) line: not available [native method]
ReferenceQueue<T>.remove(long) line: not available
ReferenceQueue<T>.remove() line: not available
CommonUtil$1ReferenceClearingQueuePollingThread.run() line: 70
Thread [Worker-0] (Suspended)
ClassLoader.defineClass1(String, byte[], int, int, ProtectionDomain, String) line: not available [native method]
EquinoxClassLoader(ClassLoader).defineClass(String, byte[], int, int, ProtectionDomain) line: not available
EquinoxClassLoader(ModuleClassLoader).defineClass(String, byte[], ClasspathEntry) line: 272
ClasspathManager.defineClass(String, byte[], ClasspathEntry, BundleEntry, List<ClassLoaderHook>) line: 632
ClasspathManager.findClassImpl(String, ClasspathEntry, List<ClassLoaderHook>) line: 588
ClasspathManager.findLocalClassImpl(String, List<ClassLoaderHook>) line: 540
ClasspathManager.findLocalClass(String) line: 527
EquinoxClassLoader(ModuleClassLoader).findLocalClass(String) line: 324
BundleLoader.findLocalClass(String) line: 320
SingleSourcePackage.loadClass(String) line: 36
BundleLoader.findClassInternal(String, boolean) line: 391
BundleLoader.findClass(String, boolean) line: 345
BundleLoader.findClass(String) line: 337
EquinoxClassLoader(ModuleClassLoader).loadClass(String, boolean) line: 160
EquinoxClassLoader(ClassLoader).loadClass(String) line: not available
ActivityContextManager.processWorkbenchEvent(String, String, String, long, long) line: 193
ActivityContextManager.addMonitoredActivityTime(long, long) line: 181
ActivityContextManager.access$0(ActivityContextManager, long, long) line: 165
ActivityContextManager$2.addMonitoredActivityTime(long, long) line: 80
CheckActivityJob.run(IProgressMonitor) line: 125
Worker.run() line: 54
Thread [Worker-1] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
AbstractQueuedSynchronizer$ConditionObject.await() line: not available
LinkedBlockingQueue<E>.take() line: not available
WinGuiCommandQueue.run(IProgressMonitor) line: 45
Worker.run() line: 54
Daemon Thread [Java indexing] (Suspended)
waiting for: IndexManager (id=133)
Object.wait(long) line: not available [native method]
IndexManager(Object).wait() line: 503
IndexManager(JobManager).run() line: 382
Thread.run() line: not available
Daemon Thread [JCoTimeoutChecker] (Suspended)
waiting for: ArrayList<E> (id=126)
Object.wait(long) line: not available [native method]
AutoJobRunner.run() line: 123
Thread.run() line: not available
Daemon Thread [EventAdmin Async Event Dispatcher Thread] (Suspended)
waiting for: RunnableLock (id=130)
Object.wait(long) line: not available [native method]
RunnableLock(Object).wait() line: 503
UISynchronizer(Synchronizer).syncExec(Runnable) line: 200
UISynchronizer.syncExec(Runnable) line: 156
Display.syncExec(Runnable) line: 4734
E4Application$1.syncExec(Runnable) line: 218
UIEventObjectSupplier$UIEventHandler.handleEvent(Event) line: 53
EventHandlerWrapper.handleEvent(Event, Permission) line: 197
EventHandlerTracker.dispatchEvent(EventHandlerWrapper, Permission, int, Event) line: 197
EventHandlerTracker.dispatchEvent(Object, Object, int, Object) line: 1
EventManager.dispatchEvent(Set<Entry<K,V>>, EventDispatcher<K,V,E>, int, E) line: 230
EventManager$EventThread<K,V,E>.run() line: 340
Thread [Worker-2] (Suspended)
waiting for: WorkerPool (id=117)
Object.wait(long) line: not available [native method]
WorkerPool.sleep(long) line: 188
WorkerPool.startJob(Worker) line: 220
Worker.run() line: 51
Thread [Worker-3] (Suspended)
waiting for: WorkerPool (id=117)
Object.wait(long) line: not available [native method]
WorkerPool.sleep(long) line: 188
WorkerPool.startJob(Worker) line: 220
Worker.run() line: 51
Thread [Worker-4] (Suspended)
owns: BufferedInputStream (id=118)
FileInputStream.readBytes(byte[], int, int) line: not available [native method]
FileInputStream.read(byte[], int, int) line: not available
BufferedInputStream.fill() line: not available
BufferedInputStream.read1(byte[], int, int) line: not available
BufferedInputStream.read(byte[], int, int) line: not available
BufferedInputStream(FilterInputStream).read(byte[]) line: not available
WinGuiServerProxy$ConsoleLogJob.run(IProgressMonitor) line: 708
Worker.run() line: 54
Thread [Worker-5] (Suspended)
owns: RfcTypeDirectCpic (id=121)
CpicDriver.nativeCpic_coxread(byte[], int, byte[], int[]) line: not available [native method]
RfcTypeDirectCpic(CpicDriver).cpic_coxread(int, byte[], int[]) line: 594
RfcTypeDirectCpic(CpicDriver).coxread(byte[], int, int[], int) line: 169
RfcTypeDirectCpic.read(byte[], int, int[]) line: 55
RfcIoOpenCntl.ab_rfcread(byte[], int, int) line: 663
RfcGet.rfcget_gethead(RfcIoOpenCntl, byte[]) line: 431
RfcGet.ab_rfcget(RfcIoOpenCntl, RfcGet$RfcGetState, RfcGetInfo) line: 35
RfcRcv.ab_rfcreceive(RfcIoOpenCntl, IRfcParameter[], IRfcParameter[], IRfcParameter[], IRfcTable[], JCoRepository) line: 33
RfcIoOpenCntl.RfcReceive(IRfcParameter[], IRfcParameter[], IRfcTable[], JCoRepository) line: 1929
MiddlewareJavaRfc$JavaRfcClient.execute(ClientConnection, String, DefaultParameterList, DefaultParameterList, DefaultParameterList, DefaultParameterList, boolean, AbapClassException$Mode) line: 1770
ClientConnection.execute(String, DefaultParameterList, DefaultParameterList, DefaultParameterList, DefaultParameterList, boolean, AbapClassException$Mode) line: 1095
ClientConnection.execute(JCoFunction, String, String, JCoRepository) line: 928
RfcDestination.execute(AbapFunction, String, String) line: 1460
RfcDestination.execute(AbapFunction) line: 1430
AbapFunction.execute(JCoDestination) line: 288
JCoFunctionExecutor$1$1.call() line: 229
JCoFunctionExecutor$1$1.call() line: 1
Registry.runWithPassportManager(Callable<V>, ClientPassportManager) line: 86
JCoFunctionExecutor$1.execute(JCoFunction, JCoDestination, Map<String,Object>, IJCoRequestDispatcherProtocolStrategy) line: 225
JCoFunctionExecutor.runInternal(IProgressMonitor) line: 142
JCoFunctionExecutor(CancelableBlockingJob$BlockingJob).run(IProgressMonitor) line: 195
Worker.run() line: 54
Thread [Worker-6] (Suspended)
WinGuiPipeTools.readPipeXmlInternal(long) line: not available [native method]
WinGuiPipeTools.readPipeXml(long) line: 50
WinGuiEventResponseQueue.readEventPipe() line: 210
WinGuiEventResponseQueue.run(IProgressMonitor) line: 95
Worker.run() line: 54
Thread [Worker-8] (Suspended)
waiting for: JCoFunctionExecutor (id=119)
Object.wait(long) line: not available [native method]
CancelableBlockingJob.run(IProgressMonitor) line: 132
JCoRequestDispatcher.dispatch(IProgressMonitor, IRequest, ISystemSession, Map<String,Object>) line: 138
StatelessSystemSession(SystemSession).sendRequest(IProgressMonitor, IRequest) line: 168
RestResource.invoke(IProgressMonitor, Method, IHeaders, Class<T>, Object, IQueryParameter[]) line: 162
RestResource.post(IProgressMonitor, Class<T>, Object, IQueryParameter...) line: 82
AbapDebuggerServices.post(IRestResource, Class<T>, List<IQueryParameter>, IProgressMonitor) line: 515
AbapDebuggerServices.waitForDebuggeeSessions(int, IProgressMonitor) line: 458
AutoAttachBackendListener.attachWaitingDebuggees(String, AttachListenerKey, IProgressMonitor) line: 471
AutoAttachBackendListener.access$2(AutoAttachBackendListener, String, AttachListenerKey, IProgressMonitor) line: 460
AutoAttachBackendListener$AutoAttachJob.run(IProgressMonitor) line: 669
Worker.run() line: 54
Thread [Worker-7] (Suspended)
FileInputStream.readBytes(byte[], int, int) line: not available [native method]
FileInputStream.read(byte[]) line: not available
WinGuiServerProxy$ConsoleLogJob.run(IProgressMonitor) line: 708
Worker.run() line: 54
Daemon Thread [Support Information Request Listener] (Suspended)
Thread.sleep(long) line: not available [native method]
StartupHandler$SupportInformationRequestListener.run() line: 99
Thread.run() line: not available
Thread [pool-1-thread-1] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
AbstractQueuedSynchronizer$ConditionObject.await() line: not available
LinkedBlockingQueue<E>.take() line: not available
ThreadPoolExecutor.getTask() line: not available
ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: not available
ThreadPoolExecutor$Worker.run() line: not available
Thread.run() line: not available
Daemon System Thread [Java2D Disposer] (Suspended)
waiting for: ReferenceQueue$Lock (id=136)
Object.wait(long) line: not available [native method]
ReferenceQueue<T>.remove(long) line: not available
ReferenceQueue<T>.remove() line: not available
Disposer.run() line: not available
Thread.run() line: not available
Daemon Thread [AWT-Windows] (Suspended)
WToolkit.eventLoop() line: not available [native method]
WToolkit.run() line: not available
Thread.run() line: not available
Thread [Worker-9] (Suspended)
waiting for: WorkerPool (id=117)
Object.wait(long) line: not available [native method]
WorkerPool.sleep(long) line: 188
WorkerPool.startJob(Worker) line: 220
Worker.run() line: 51
Thread [Worker-10] (Suspended (exception OutOfMemoryError))
Worker.run() line: 82
Thread [Worker-11] (Suspended)
waiting for: Semaphore (id=123)
Object.wait(long) line: not available [native method]
Semaphore.acquire(long) line: 43
UISynchronizer.syncExec(Runnable) line: 175
Display.syncExec(Runnable) line: 4734
AbapSourceViewerConfiguration$AbapRndPresentationReconciler(RndPresentationReconciler).getVisibleEditorRegionAndDocumentTimestamp(IRegion[], long[]) line: 308
AbapSourceViewerConfiguration$AbapRndPresentationReconciler.access$0(AbapSourceViewerConfiguration$AbapRndPresentationReconciler, IRegion[], long[]) line: 1
AbapSourceViewerConfiguration$AbapRndPresentationReconciler$1.run(IProgressMonitor) line: 591
Worker.run() line: 54
Daemon Thread [Timer-0] (Suspended)
waiting for: TaskQueue (id=120)
Object.wait(long) line: not available [native method]
TaskQueue(Object).wait() line: 503
TimerThread.mainLoop() line: not available
TimerThread.run() line: not available
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
waiting for: DirtyRegionQueue (id=132)
Object.wait(long) line: not available [native method]
AbstractReconciler$BackgroundThread.run() line: 179
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
waiting for: DirtyRegionQueue (id=131)
Object.wait(long) line: not available [native method]
AbstractReconciler$BackgroundThread.run() line: 179
Daemon Thread [org.eclipse.jface.text.reconciler.MonoReconciler] (Suspended)
waiting for: DirtyRegionQueue (id=124)
Object.wait(long) line: not available [native method]
AbstractReconciler$BackgroundThread.run() line: 179
Additionally Info: The First Eclipse opens a new View, and in the Stack-Frame, i see that one Thread has an "OutOfMemoryException" (i marked this info bold in the Stack above)
Regards Stefan
01-14-2015 10:14 PM
Hello,
I found the solution.
My Eclipse (First Eclipse Instance) use the JRE and not the JDK.
In Eclipse you can find the Setting in => Window | Preferences | Java | Installed JREs.
I installed the newest JDK. And switched in Eclipse from JRE to the JDK folder.
Now the second Eclipse can debug on SAP Systems . (without freeze)
Regards
Stefan