Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting Signature Parse error with Grails project #141

Open
seanleblanc opened this issue Sep 12, 2019 · 9 comments
Open

Getting Signature Parse error with Grails project #141

seanleblanc opened this issue Sep 12, 2019 · 9 comments
Assignees

Comments

@seanleblanc
Copy link

I'm seeing this when I try to run coverage. Any suggestions on things to try?

java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!

@Alex-Vol-SV
Copy link
Collaborator

This is a very unhelpful issue report. Need a full stack trace to fix or even attempt to root cause it.

@Alex-Vol-SV Alex-Vol-SV self-assigned this Sep 12, 2019
@seanleblanc
Copy link
Author

Apologies. Does this help?

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':icd-common:test'.

java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!
Remaining input: .TradeTransaction:Ltradeticket/TradeTransaction;>(Ljava/util/Set<Ltradeticket/TradeTransaction;>;Ljava/lang/Integer;)Ljava/util/Set<Ltradeticket/TradeTransaction;>;

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

@Alex-Vol-SV
Copy link
Collaborator

Not much, this looks like a failure in your own code.
Please do as the error says and use --stacktrace

@Alex-Vol-SV
Copy link
Collaborator

Are you using reflection in your code/unit tests? Are you using other plugins with AST transformations? Need more info and a full stacktrace.

@seanleblanc
Copy link
Author

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':icd-common:test'.

java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!
Remaining input: .TradeTransaction:Ltradeticket/TradeTransaction;>(Ljava/util/Set<Ltradeticket/TradeTransaction;>;Ljava/lang/Integer;)Ljava/util/Set<Ltradeticket/TradeTransaction;>;

  • Try:
    Run with --info or --debug option to get more log output.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':icd-common:test'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:98)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:68)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
    at org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:230)
    at org.gradle.initialization.DefaultGradleLauncher$RunTasksAction.execute(DefaultGradleLauncher.java:227)
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:161)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:112)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:95)
    at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:66)
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
    at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:49)
    at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:31)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)
    Caused by: : java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!
    Remaining input: .TradeTransaction:Ltradeticket/TradeTransaction;>(Ljava/util/Set<Ltradeticket/TradeTransaction;>;Ljava/lang/Integer;)Ljava/util/Set<Ltradeticket/TradeTransaction;>;
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:116)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:78)
    at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:103)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.compileGroovyAndJava(InstrumentCodeAction.groovy:315)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.compileTestSrcFiles(InstrumentCodeAction.groovy:277)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.compileClasses(InstrumentCodeAction.groovy:224)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.instrumentCode(InstrumentCodeAction.groovy:145)
    at com.bmuschko.gradle.clover.InstrumentCodeAction$instrumentCode.callCurrent(Unknown Source)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.execute(InstrumentCodeAction.groovy:62)
    at com.bmuschko.gradle.clover.InstrumentCodeAction.execute(InstrumentCodeAction.groovy)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:692)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:675)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.execute(ExecuteActionsTaskExecuter.java:115)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.execute(ExecuteActionsTaskExecuter.java:109)
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:90)
    ... 70 more
    Caused by: java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!
    Remaining input: .TradeTransaction:Ltradeticket/TradeTransaction;>(Ljava/util/Set<Ltradeticket/TradeTransaction;>;Ljava/lang/Integer;)Ljava/util/Set<Ltradeticket/TradeTransaction;>;
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    ... 88 more

BUILD FAILED

@seanleblanc
Copy link
Author

As far as use of reflection and/or AST, I believe Grails does AST itself and I found at least one used import of Method from java.lang.reflect in a controller somewhere.

@Alex-Vol-SV
Copy link
Collaborator

I am afraid this is outside the scope of this plugin. The Groovy ANT compiler task it processing code and it almost seems as if there is an ANT parser failure. I will try to trace into the ANT tools source to see if this makes sense but I do not see how this is fixable from the Clover plugin viewpoint. Is the TradeTransaction class one of your own code? I cannot tell what this class is about and it is not one of this plugin.

One possibility is classpath name collision with some JAR files in your classpath for tests.

@seanleblanc
Copy link
Author

seanleblanc commented Sep 12, 2019

That class is one of our own. I've looked at it and things that use it for something that looks like that signature, or for code that seems unusual in some way but nothing comes to mind yet.

Thanks for looking at it, though. I did post something on the OpenClover issues site, too, but so far, no response.

@ukbarr
Copy link

ukbarr commented Jan 10, 2020

hi,

i got this error too, i have found the why in my case.

i have a hasMany [titi: Titi] used like this in a method :

titi?.first()?.field

this code generate the "java.lang.reflect.GenericSignatureFormatError: Signature Parse error: Failure to make progress!" because titi it's not a Set class but a Titi class

so i use an intermediate method to hide it and it's work 👍

getFirstField(titi)

private Field getFirstField(titi){
titi?.first()?.field
}

hope it will help someone because i have lost 3 days on this problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants