Project

General

Profile

Actions

Bug #4836

closed

[cfg][transformer][cgaa] java heap space error at control.vhd\mlite2sram.vhd

Added by Sergey Smolov almost 10 years ago. Updated almost 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
04/06/2014
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

При извлечении CGA из описания control.vhd (проект plasma) инструмент падает со следующим логом ошибки:

java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.ArrayList.grow(Unknown Source)
at java.util.ArrayList.ensureExplicitCapacity(Unknown Source)
at java.util.ArrayList.ensureCapacityInternal(Unknown Source)
at java.util.ArrayList.addAll(Unknown Source)
at ru.ispras.retrascope.model.basis.transform.forward.CGAAForwardTransform.getGuardedAction(CGAAForwardTransform.java:111)
at ru.ispras.retrascope.model.basis.transform.forward.CGAAForwardTransform.transform(CGAAForwardTransform.java:86)
at ru.ispras.retrascope.model.basis.transform.forward.CGAAForwardTransform.transform(CGAAForwardTransform.java:62)
at ru.ispras.retrascope.model.basis.transform.forward.CGAAForwardTransformTestCase.processModules(CGAAForwardTransformTestCase.java:46)
at ru.ispras.retrascope.parser.vhdl.IGElaborationTestCase.elaborateAll(IGElaborationTestCase.java:269)
at ru.ispras.retrascope.parser.vhdl.IGElaborationTestCase.run(IGElaborationTestCase.java:244)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

Причина состоит в большом количестве ветвлений в данном описании (больше 80). Время работы теста составило 1.5 часа.

Необходимо оптимизировать алгоритм извлечения путей.
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

Actions

Also available in: Atom PDF