osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
39 stars 8 forks source link

OSATE freezes on extends completion #648

Closed pgaufillet closed 8 years ago

pgaufillet commented 9 years ago

When refining AADL models, OSATE systematically freezes on extends auto-completion involving a (temporary) dependency cycle. I join the threads dump below:


2015-11-16 15:50:21
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.66-b17 mixed mode):

"RMI TCP Connection(2)-192.168.120.60" #178 daemon prio=9 os_prio=0 tid=0x00007ff870087800 nid=0x492b runnable [0x00007ff83a7b7000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
    - locked <0x00000000dafcfc88> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$95(TCPTransport.java:683)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/1104057701.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - <0x00000000dab9f1d0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"JMX server connection timeout 177" #177 daemon prio=9 os_prio=0 tid=0x00007ff84c053800 nid=0x4929 in Object.wait() [0x00007ff85e70e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
    - locked <0x00000000dad99e58> (a [I)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"RMI Scheduler(0)" #176 daemon prio=9 os_prio=0 tid=0x00007ff84c051800 nid=0x4927 waiting on condition [0x00007ff85d322000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000000dab18820> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"RMI TCP Connection(1)-192.168.120.60" #175 daemon prio=9 os_prio=0 tid=0x00007ff8700bd000 nid=0x4926 runnable [0x00007ff85ca09000]
   java.lang.Thread.State: RUNNABLE
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
    at java.net.SocketInputStream.read(SocketInputStream.java:170)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
    - locked <0x00000000dad6dc10> (a java.io.BufferedInputStream)
    at java.io.FilterInputStream.read(FilterInputStream.java:83)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:550)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$95(TCPTransport.java:683)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/1104057701.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - <0x00000000dab9e628> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"RMI TCP Accept-0" #174 daemon prio=9 os_prio=0 tid=0x00007ff888d6f800 nid=0x4923 runnable [0x00007ff8935fa000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"Attach Listener" #173 daemon prio=9 os_prio=0 tid=0x00007ff8c8001000 nid=0x4921 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"[ThreadPool Manager] - Idle Thread" #46 daemon prio=5 os_prio=0 tid=0x00007ff88000b800 nid=0x441b in Object.wait() [0x00007ff85c408000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run(Executor.java:106)
    - locked <0x00000000842451f8> (a org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor)

   Locked ownable synchronizers:
    - None

"Worker-9" #42 prio=5 os_prio=0 tid=0x00007ff84c001000 nid=0x43f2 in Object.wait() [0x00007ff85c909000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:43)
    - locked <0x00000000da0d2540> (a org.eclipse.ui.internal.Semaphore)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:175)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4590)
    at org.eclipse.egit.ui.Activator.isActive(Activator.java:241)
    at org.eclipse.egit.ui.Activator$RepositoryChangeScanner.runInWorkspace(Activator.java:452)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

   Locked ownable synchronizers:
    - None

"Worker-5" #36 prio=5 os_prio=0 tid=0x00007ff86800c800 nid=0x43ec runnable [0x00007ff85fe64000]
   java.lang.Thread.State: RUNNABLE
    at org.osate.aadl2.impl.ComponentTypeImpl.getExtended(ComponentTypeImpl.java:384)
    at org.osate.aadl2.impl.ComponentTypeImpl.getExtended(ComponentTypeImpl.java:1)
    at org.osate.xtext.aadl2.validation.Aadl2JavaValidator$1.compare(Aadl2JavaValidator.java:2611)
    at org.osate.xtext.aadl2.validation.Aadl2JavaValidator$1.compare(Aadl2JavaValidator.java:1)
    at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355)
    at java.util.TimSort.sort(TimSort.java:220)
    at java.util.Arrays.sort(Arrays.java:1438)
    at java.util.List.sort(List.java:478)
    at java.util.Collections.sort(Collections.java:175)
    at org.osate.xtext.aadl2.validation.Aadl2JavaValidator.sortNamedElements(Aadl2JavaValidator.java:2600)
    at org.osate.xtext.aadl2.validation.Aadl2JavaValidator.checkComponentImplementationUniqueNames(Aadl2JavaValidator.java:2394)
    at org.osate.xtext.aadl2.validation.Aadl2JavaValidator.caseComponentImplementation(Aadl2JavaValidator.java:127)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator$MethodWrapper.invoke(AbstractDeclarativeValidator.java:118)
    at org.eclipse.xtext.validation.AbstractDeclarativeValidator.internalValidate(AbstractDeclarativeValidator.java:312)
    at org.eclipse.xtext.validation.AbstractInjectableValidator.validate(AbstractInjectableValidator.java:69)
    at org.eclipse.xtext.validation.CompositeEValidator.validate(CompositeEValidator.java:153)
    at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
    at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:37)
    at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:185)
    at org.eclipse.xtext.validation.CancelableDiagnostician.doValidateContents(CancelableDiagnostician.java:49)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
    at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:37)
    at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181)
    at org.eclipse.xtext.validation.CancelableDiagnostician.doValidateContents(CancelableDiagnostician.java:49)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
    at org.eclipse.xtext.validation.CancelableDiagnostician.validate(CancelableDiagnostician.java:37)
    at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:120)
    at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:148)
    at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:126)
    at org.eclipse.xtext.validation.ResourceValidatorImpl.validate(ResourceValidatorImpl.java:91)
    at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:91)
    at org.eclipse.xtext.ui.editor.validation.ValidationJob$1.exec(ValidationJob.java:1)
    at org.eclipse.xtext.util.concurrent.CancelableUnitOfWork.exec(CancelableUnitOfWork.java:26)
    at org.eclipse.xtext.resource.OutdatedStateManager.exec(OutdatedStateManager.java:121)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:520)
    - locked <0x0000000083884a60> (a org.eclipse.xtext.resource.persistence.StorageAwareResource)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:492)
    at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:133)
    at org.eclipse.xtext.ui.editor.validation.ValidationJob.createIssues(ValidationJob.java:86)
    at org.eclipse.xtext.ui.editor.validation.ValidationJob.run(ValidationJob.java:67)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

   Locked ownable synchronizers:
    - None

"Worker-4" #33 prio=5 os_prio=0 tid=0x00007ff87c07c000 nid=0x43e9 in Object.wait() [0x00007ff85fffe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.ui.internal.Semaphore.acquire(Semaphore.java:43)
    - locked <0x00000000da3a9498> (a org.eclipse.ui.internal.Semaphore)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:175)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4590)
    at org.eclipse.xtext.ui.util.DisplayRunnableWithResult.syncExec(DisplayRunnableWithResult.java:22)
    at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.refreshOutlineModel(OutlineRefreshJob.java:80)
    at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.run(OutlineRefreshJob.java:55)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

   Locked ownable synchronizers:
    - None

"EventAdmin Async Event Dispatcher Thread" #32 daemon prio=6 os_prio=0 tid=0x00007ff910a58800 nid=0x43e8 in Object.wait() [0x00007ff890bf4000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
    - locked <0x000000008392fcb0> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

   Locked ownable synchronizers:
    - None

"Java indexing" #29 daemon prio=4 os_prio=0 tid=0x00007ff888094000 nid=0x43e5 in Object.wait() [0x00007ff891100000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:382)
    - locked <0x0000000081fa3ba0> (a org.eclipse.jdt.internal.core.search.indexing.IndexManager)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"com.google.inject.internal.util.$Finalizer" #28 daemon prio=5 os_prio=0 tid=0x00007ff888125000 nid=0x43e4 in Object.wait() [0x00007ff891201000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x0000000081e3a0c0> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at com.google.inject.internal.util.$Finalizer.run(Finalizer.java:114)

   Locked ownable synchronizers:
    - None

"Worker-3" #27 prio=5 os_prio=0 tid=0x00007ff88810e000 nid=0x43e3 in Object.wait() [0x00007ff8936fb000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
    - locked <0x00000000814de9a8> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

   Locked ownable synchronizers:
    - None

"Worker-1" #25 prio=5 os_prio=0 tid=0x00007ff870003000 nid=0x43e1 in Object.wait() [0x00007ff892081000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
    - locked <0x00000000814de9a8> (a org.eclipse.core.internal.jobs.WorkerPool)
    at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:51)

   Locked ownable synchronizers:
    - None

"EMF Reference Cleaner" #22 daemon prio=5 os_prio=0 tid=0x00007ff898058000 nid=0x43df in Object.wait() [0x00007ff89345b000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x0000000081064310> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:70)

   Locked ownable synchronizers:
    - None

"Worker-JM" #18 prio=5 os_prio=0 tid=0x00007ff88800a000 nid=0x43dc in Object.wait() [0x00007ff8939fc000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:59)
    - locked <0x0000000081539b60> (a java.util.ArrayList)

   Locked ownable synchronizers:
    - None

"Bundle File Closer" #17 daemon prio=5 os_prio=0 tid=0x00007ff8882e3800 nid=0x43db in Object.wait() [0x00007ff893afd000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
    - locked <0x0000000081063ae8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

   Locked ownable synchronizers:
    - None

"[Timer] - Main Queue Handler" #16 daemon prio=5 os_prio=0 tid=0x00007ff88c053000 nid=0x43da in Object.wait() [0x00007ff893dfe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run(TimerImpl.java:141)
    - locked <0x0000000081064680> (a java.lang.Object)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"Start Level: Equinox Container: a0375488-6e8c-0015-1fc9-a8c0bbc217c8" #14 daemon prio=5 os_prio=0 tid=0x00007ff9106f3800 nid=0x43d8 in Object.wait() [0x00007ff8a4a1e000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
    - locked <0x00000000813ffd40> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

   Locked ownable synchronizers:
    - None

"Framework Event Dispatcher: Equinox Container: a0375488-6e8c-0015-1fc9-a8c0bbc217c8" #13 daemon prio=5 os_prio=0 tid=0x00007ff9106e4800 nid=0x43d7 in Object.wait() [0x00007ff8a4b1f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent(EventManager.java:400)
    - locked <0x00000000810648b8> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:336)

   Locked ownable synchronizers:
    - None

"Active Thread: Equinox Container: a0375488-6e8c-0015-1fc9-a8c0bbc217c8" #11 prio=5 os_prio=0 tid=0x00007ff910697000 nid=0x43d6 waiting on condition [0x00007ff8e01ee000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x000000008106b4a8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

   Locked ownable synchronizers:
    - None

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00007ff910219000 nid=0x43d3 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007ff91020b800 nid=0x43d2 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007ff910209800 nid=0x43d1 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007ff910207800 nid=0x43d0 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007ff910204800 nid=0x43cf waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007ff910203800 nid=0x43ce runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
    - None

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007ff9101cd000 nid=0x43cd in Object.wait() [0x00007ff8eb9f8000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x000000008040fa38> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

   Locked ownable synchronizers:
    - None

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007ff9101cb000 nid=0x43cc in Object.wait() [0x00007ff8ebaf9000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
    - locked <0x000000008040fa78> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
    - None

"main" #1 prio=6 os_prio=0 tid=0x00007ff910009000 nid=0x43c2 waiting for monitor entry [0x00007ff9192da000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.internalReadOnly(XtextDocument.java:507)
    - waiting to lock <0x0000000083884a60> (a org.eclipse.xtext.resource.persistence.StorageAwareResource)
    at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.readOnly(XtextDocument.java:492)
    at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:133)
    at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.internalRefreshOutlineModel(OutlineRefreshJob.java:89)
    at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob$1.run(OutlineRefreshJob.java:78)
    at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob$1.run(OutlineRefreshJob.java:1)
    at org.eclipse.xtext.ui.util.DisplayRunnableWithResult$1.run(DisplayRunnableWithResult.java:26)
    at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:167)
    at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:165)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)
    - locked <0x00000000da3a94c8> (a org.eclipse.swt.widgets.RunnableLock)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3774)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3412)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

   Locked ownable synchronizers:
    - None

"VM Thread" os_prio=0 tid=0x00007ff9101c6000 nid=0x43cb runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007ff91001e000 nid=0x43c3 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007ff910020000 nid=0x43c4 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007ff910021800 nid=0x43c5 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007ff910023800 nid=0x43c6 runnable 

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007ff910025000 nid=0x43c7 runnable 

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007ff910027000 nid=0x43c8 runnable 

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007ff910028800 nid=0x43c9 runnable 

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007ff91002a800 nid=0x43ca runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007ff91021b800 nid=0x43d4 waiting on condition 

JNI global references: 977
lwrage commented 8 years ago

Thanks for reporting. Which OSATE version is this? Which OS? Also, could you add steps to reproduce, please? So far I haven't been able to reproduce it.

pgaufillet commented 8 years ago

It happens with OSATE 2.1.2 on CentOS 7 and Oracle JDK 8u66. Please find attached a complementary log file and a test case (zip file renamed to txt due to github limitation). Import the projects, open Camera_Firmware.aadl in proj2. With my configuration, it freezes systematically.

exception.txt issue-648-test-case.txt