Home » Modeling » MoDisco » Issues with Modicso 0.9
| | | | |
Re: Issues with Modicso 0.9 [message #690797 is a reply to message #690235] |
Thu, 30 June 2011 08:45 |
Dmitry Smirnov Messages: 92 Registered: July 2009 |
Member |
|
|
I had already created https://bugs.eclipse.org/bugs/show_bug.cgi?id=350529
As for the Out-of-memory, I had tried to analyse the problem with the MAT.
According to this analysis, the biggest objects are:
Label | Number Of Objects | Used Heap Size | Retained Heap Size | Retained Heap, %
org.eclipse.core.internal.jobs.Worker | 6 | 720 | 271 119 624 | 73,94%
org.eclipse.core.internal.dtree.DeltaDataTree | 3 | 72 | 51 946 896 | 14,17%
org.eclipse.jdt.internal.core.JavaModelManager | 1 | 192 | 10 601 768 | 2,89%
the most consuming objects of Worker are
Class Name | Shallow Heap | Retained Heap | Percentage
org.eclipse.emf.ecore.xmi.impl.StringSegment$Element[9316] @ 0x1bf3f588 | 37 280 | 148 581 576 | 40,52%
byte[75898880] @ 0x1dd832f0 <?xml version="1.0"... | 75 898 896 | 75 898 896 | 20,70%
org.eclipse.gmt.modisco.java.emf.impl.ModelImpl @ 0x12364670 | 48 | 25 044 176 | 6,83%
It looks like 'byte' contains the whole xmi file which is being written by MoDisco. Is it a good behaviour? In my project I just added one package to build path and did not include all the packages that are referenced by this one. I'm wondering what amount of heap I should provide to Java to discover whole Android project (BTW, the same test with Android Gingerbread Telephony Framework behaves differently: Modisco seems enters some endless loop.)
Dmitry
|
|
| | |
Re: Issues with Modicso 0.9 [message #693328 is a reply to message #685977] |
Wed, 06 July 2011 09:20 |
Dmitry Smirnov Messages: 92 Registered: July 2009 |
Member |
|
|
I had increased the pool. This had allowed me to pass this out-of-memory, but still have an issue: the process of discovery seems to be entering endless loop.
I had tried to debug the discovery and it does not seems to hung up: the stack (see below) of the process is varying: I can go up by stack to some level (like ASMOperation.realExec(ASMStackFrame) line: 251). then it goes down again with different parameters (I do not have sources of ATL, so cannot debug it fully).
But discovering is not ending. I was waiting for few hours. While it is running, machine is very irresponsive - CPU is occupied by eclipse.
Unfortunately, I do not know how to discover what is the progress (i.e. how many items are converted, how much are remaining). Is it possible that discovering is enetered some endless loop?
Thread [Worker-11] (Suspended)
Class<T>.isPrimitive() line: not available [native method]
EClassImpl(EClassifierImpl).isInstance(Object) line: 182
ASMEMFModel.addElementsOfType(Set, EClassifier, Resource) line: 267
ASMEMFModel.getElementsByType(ASMModelElement) line: 217
ASMEMFModelElement.allInstancesFrom(StackFrame, ASMEMFModelElement, ASMString) line: 764
ASMEMFModelElement.allInstances(StackFrame, ASMEMFModelElement) line: 706
GeneratedMethodAccessor38.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
ClassNativeOperation.exec(StackFrame) line: 69
ASMEMFModelElement(ASMOclAny).invoke(StackFrame, Operation, List) line: 130
ASMEMFModelElement.invoke(StackFrame, String, List) line: 926
ASMOperation.realExec(ASMStackFrame) line: 251
ASMOperation.exec(StackFrame) line: 173
ASMModule(ASMOclAny).invoke(StackFrame, Operation, List) line: 130
ASMModule(ASMOclAny).invoke(StackFrame, String, List) line: 78
ASMOperation.realExec(ASMStackFrame) line: 251
ASMOperation.realExec(ASMStackFrame) line: 357
ASMOperation.exec(StackFrame) line: 173
ASMModule(ASMOclAny).invoke(StackFrame, Operation, List) line: 130
ASMModule(ASMOclAny).invoke(StackFrame, String, List) line: 78
ASMOperation.realExec(ASMStackFrame) line: 251
ASMOperation.exec(StackFrame) line: 173
ASMInterpreter.<init>(ASM, ASMModule, ASMExecEnv, Map) line: 346
AtlLauncher.launch(ASM, Map, Map, Map, List, Map, Debugger) line: 216
AtlLauncher.launch(URL, Map, Map, Map, List, Map, Debugger) line: 127
AtlLauncher.launch(URL, Map, Map, Map, List, Map) line: 92
AtlLaunchHelper.runTransformation(URL, List<ModelInfo>, List<ModelInfo>, List<URL>) line: 194
AtlLaunchHelper.runTransformation(URL, List<ModelInfo>, List<ModelInfo>) line: 173
AtlLaunchHelper.runTransformation(URL, AtlLaunchHelper$ModelInfo, AtlLaunchHelper$ModelInfo) line: 220
TranslateJavaModelToKdm.getKDMModelFromJavaModelWithCustomTransformation(URI, Resource, URL, URI) line: 87
TranslateJavaModelToKdm.getKDMModelFromJavaModelWithCustomTransformation(URI, Resource, URI) line: 65
DiscoverKDMModelFromJavaProject.discoverKDM(IJavaProject, URI, IProgressMonitor) line: 62
DiscoverKDMModelFromJavaProject.basicDiscoverElement(IJavaProject, IProgressMonitor) line: 46
DiscoverKDMModelFromJavaProject.basicDiscoverElement(Object, IProgressMonitor) line: 1
DiscoverKDMModelFromJavaProject(AbstractDiscoverer<T>).discoverElement(T, IProgressMonitor) line: 93
DiscoverKDMModelFromJavaProject(AbstractModelDiscoverer<T>).discoverElement(T, IProgressMonitor) line: 183
MoDiscoMenuSelectionListener.discovererElement(Object, Map<DiscovererParameter,Object>, IDiscoverer<?>, IProgressMonitor) line: 352
MoDiscoMenuSelectionListener$1.run(IProgressMonitor) line: 115
Worker.run() line: 54
|
|
| |
Re: Issues with Modisco 0.9 [message #701590 is a reply to message #699757] |
Mon, 25 July 2011 09:32 |
Fabien Giquel Messages: 147 Registered: July 2009 |
Senior Member |
|
|
Hi Dmitry,
Nicolas last benchmark (see last message) produced the same performance results as the precedent one.
We need more time to investigate on the Java->kdm transformation rules to understand where the problem is (registered into bugzilla : https://bugs.eclipse.org/bugs/show_bug.cgi?id=352985).
Thank you for your understanding.
Fabien.
----------------------------------------------------
Fabien GIQUEL
R&D Engineer
Mia-Software
rue Nina Simone
44000 NANTES
----------------------------------------------------
|
|
|
Goto Forum:
Current Time: Thu Mar 28 21:20:51 GMT 2024
Powered by FUDForum. Page generated in 0.05945 seconds
|