Bug #6263

Crash when test generation engine elaborates EFSMs from alu.vhd: java.lang.IllegalArgumentException

Added by Sergey Smolov about 2 years ago. Updated 7 days ago.

Status:ClosedStart date:09/05/2015
Priority:HighDue date:
Assignee:Sergey Smolov% Done:

100%

Category:EFSM SimulatorSpent time:-
Target version:0.2
Detected in build:master Published in build:1.0.1-beta-170912
Platform:

Description

Here is the tool log:

2015.09.05 17:34:14.643. INFO: Retrascope is starting
2015.09.05 17:34:14.644. INFO: Running: vhdl-parser

2015.09.05 17:34:14.644. INFO: Options: {args=D:\Bot\projects\retrascope.svn\trunk\retrascope\src\test\vhdl\plasma\alu.vhd --target test --toplevel alu --engine efsm-fate-test-generator --loop-limit 25, vhd=[D:\Bot\projects\retrascope.svn\trunk\retrascope\src\test\vhdl\plasma\alu.vhd]}

2015.09.05 17:34:15.256. INFO: Storing: cfg

2015.09.05 17:34:15.257. INFO: Running: cfg-cgaa-transformer

2015.09.05 17:34:15.257. INFO: Options: {args=D:\Bot\projects\retrascope.svn\trunk\retrascope\src\test\vhdl\plasma\alu.vhd --target test --toplevel alu --engine efsm-fate-test-generator --loop-limit 25, cfg=<cfg>}

2015.09.05 17:34:15.257. INFO: Storing: cgaa

2015.09.05 17:34:15.257. INFO: Running: cgaa-efsm-transformer

2015.09.05 17:34:15.257. INFO: Options: {cgaa=<cgaa>, args=D:\Bot\projects\retrascope.svn\trunk\retrascope\src\test\vhdl\plasma\alu.vhd --target test --toplevel alu --engine efsm-fate-test-generator --loop-limit 25}

2015.09.05 17:34:15.902. INFO: Number of GADD paths: 33
2015.09.05 17:34:15.902. INFO: ======================================
2015.09.05 17:34:15.902. INFO: Clock-like variables: [].
2015.09.05 17:34:15.902. INFO: Transforming the process of module: ALU.
2015.09.05 17:34:15.902. INFO: 1 states are extracted.
2015.09.05 17:34:15.902. INFO: The state-like variables are: [].
2015.09.05 17:34:16.126. INFO: 9 transitions are extracted.
2015.09.05 17:34:16.126. WARNING: No initial state found.
2015.09.05 17:34:16.126. WARNING: The first is chosen as initial: true.
2015.09.05 17:34:16.126. INFO: Clock-like variables: [].
2015.09.05 17:34:16.126. INFO: Transforming the process of module: ALU.
2015.09.05 17:34:16.126. INFO: 1 states are extracted.
2015.09.05 17:34:16.126. INFO: The state-like variables are: [].
2015.09.05 17:34:16.151. INFO: 1 transitions are extracted.
2015.09.05 17:34:16.151. WARNING: No initial state found.
2015.09.05 17:34:16.151. WARNING: The first is chosen as initial: true.
2015.09.05 17:34:16.151. INFO: 2 EFSM(s) are extracted.
2015.09.05 17:34:16.152. INFO: Storing: efsm

2015.09.05 17:34:16.152. INFO: Running: efsm-fate-test-generator

2015.09.05 17:34:16.152. INFO: Options: {efsm=<efsm>, args=D:\Bot\projects\retrascope.svn\trunk\retrascope\src\test\vhdl\plasma\alu.vhd --target test --toplevel alu --engine efsm-fate-test-generator --loop-limit 25}

2015.09.05 17:34:16.152. INFO: EFSM.FATE: sequence length isn't specified. Setting it to the default value: 4
2015.09.05 17:34:16.152. INFO: EFSM.FATE: amount of sequences isn't specified. Setting it to the default value: 3
2015.09.05 17:34:16.181. ERROR: The exception has been encountered: java.lang.IllegalArgumentException
    at ru.ispras.fortress.util.InvariantChecks.checkTrue(InvariantChecks.java:41)
    at ru.ispras.fortress.util.InvariantChecks.checkNotNull(InvariantChecks.java:69)
    at ru.ispras.fortress.expression.NodeBinding.bindVariable(NodeBinding.java:213)
    at ru.ispras.retrascope.engine.efsm.simulator.EfsmSimulator.substituteVariables(EfsmSimulator.java:749)
    at ru.ispras.retrascope.engine.efsm.simulator.EfsmSimulator.executeAssignment(EfsmSimulator.java:709)
    at ru.ispras.retrascope.engine.efsm.simulator.EfsmSimulator.executeAction(EfsmSimulator.java:609)
    at ru.ispras.retrascope.engine.efsm.simulator.EfsmSimulator.initialise(EfsmSimulator.java:335)
    at ru.ispras.retrascope.engine.efsm.simulator.EfsmSimulator.processEvents(EfsmSimulator.java:289)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.RandomFateGenerator.generateInputVectorRandomly(RandomFateGenerator.java:197)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.RandomFateGenerator$RandomFateSequenceIterator.next(RandomFateGenerator.java:519)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.RandomFateGenerator$RandomFateSequenceIterator.next(RandomFateGenerator.java:504)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.EfsmFateTestGenerator.start(EfsmFateTestGenerator.java:270)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.EfsmFateTestGenerator.start(EfsmFateTestGenerator.java:53)
    at ru.ispras.retrascope.basis.Engine.start(Engine.java:200)
    at ru.ispras.retrascope.basis.ToolChain.start(ToolChain.java:102)
    at ru.ispras.retrascope.basis.Engine.start(Engine.java:200)
    at ru.ispras.retrascope.Retrascope$ToolRun.start(Retrascope.java:195)
    at ru.ispras.retrascope.Retrascope.main(Retrascope.java:378)
    at ru.ispras.retrascope.Retrascope.main(Retrascope.java:395)
    at ru.ispras.retrascope.util.VhdlUtilTest.runRetrascope(VhdlUtilTest.java:169)
    at ru.ispras.retrascope.util.VhdlUtilTest.runVhdl(VhdlUtilTest.java:81)
    at ru.ispras.retrascope.util.HdlUtilTest.runVhdl(HdlUtilTest.java:97)
    at ru.ispras.retrascope.engine.efsm.generator.test.fate.EfsmFateTestGeneratorVhdlTestCase.generate(EfsmFateTestGeneratorVhdlTestCase.java:36)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    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.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.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:64)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:106)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

2015.09.05 17:34:16.182. INFO: Retrascope is shutting down

History

#1 Updated by Igor Melnichenko about 2 years ago

It is caused by an error in our old model of variable initialisation (via a pseudo-transition from an preinitial state). Instead of fixing this, I propose to finish development of the existing branch and merge it with the trunk this week. Please refer to the task http://forge.ispras.ru/issues/5891 and I will proceed mith my classes.

#2 Updated by Sergey Smolov over 1 year ago

  • Target version changed from 0.1 to 0.2

#3 Updated by Sergey Smolov 11 months ago

  • Detected in build changed from svn to master

#4 Updated by Sergey Smolov 14 days ago

  • Status changed from New to Resolved
  • Assignee changed from Igor Melnichenko to Sergey Smolov
  • % Done changed from 0 to 100

Fixed long ago.

#5 Updated by Sergey Smolov 14 days ago

  • Status changed from Resolved to Verified

#6 Updated by Sergey Smolov 7 days ago

  • Status changed from Verified to Closed
  • Published in build set to 1.0.1-beta-170912

Also available in: Atom PDF