Skip to content

APT problem: StackOverflowError in RoundDispatcher.handleProcessor #195

Open
@kriegaex

Description

@kriegaex

This issue came up in dev-aspectj/aspectj-maven-plugin#108, but it is not a problem concerning the Maven plugin. Instead, it seems to be related to annotation processing (APT) support for AJC:

There is an annotation processor on the classpath, namely com.querydsl:querydsl-apt:5.0.0-jakarta. It contains a file META-INF/services/javax.annotation.processing.Processor with the following content:

com.querydsl.apt.jpa.JPAAnnotationProcessor

That annotation processor handles the @jakarta.persistence.MappedSuperclass annotations found on two classes in the sample repository.

While Javac (used by Maven Compiler Plugin) can correctly generate code, it seems as if the annotation processor throws off AJC like this (error message with additional line breaks):

...\baz\src\main\java\com\foobar\showme\baz\TimestampedJPADurable.java [error]
Internal compiler error: java.lang.Exception:
java.lang.StackOverflowError at 
  org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:172)
(no source information available)

A reproducer is at https://github.com/zenbones/showme. Thanks to @zenbones for reporting the problem.

See also dev-aspectj/aspectj-maven-plugin#108 (comment) for an AspectJ Maven workaround which can also be applied to the AJC command line: letting Javac take care of annotation processing and then using -proc:none for AJC.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions