Bug #4836
closed
[cfg][transformer][cgaa] java heap space error at control.vhd\mlite2sram.vhd
Added by Sergey Smolov over 10 years ago.
Updated over 10 years ago.
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)
При извлечении 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 часа.
- Subject changed from java heap space error at control.vhd to java heap space error at control.vhd\mlite2sram.vhd
- Subject changed from java heap space error at control.vhd\mlite2sram.vhd to [basis] java heap space error at control.vhd\mlite2sram.vhd
- Target version set to 0.1
- Subject changed from [basis] java heap space error at control.vhd\mlite2sram.vhd to [cgaa][extractor] java heap space error at control.vhd\mlite2sram.vhd
- Subject changed from [cgaa][extractor] java heap space error at control.vhd\mlite2sram.vhd to [cfg][transformer][cgaa] java heap space error at control.vhd\mlite2sram.vhd
- Status changed from New to Open
- Status changed from Open to Resolved
Ошибки исправлены. Проведена оптимизация алгоритма построения путей в CFG. Теперь инструмент не падает на указанных модулях.
r661
- Status changed from Resolved to Closed
Also available in: Atom
PDF