Open wwerner opened 4 years ago
I reactivated the travis build and see the same thing there: https://travis-ci.org/vlingo/vlingo-schemata/builds/650400216#L7382.
On CircleCI, the same schemata state built successfully 4d ago (https://app.circleci.com/github/vlingo/vlingo-schemata/pipelines/18533e9f-f705-4e03-baff-e74d0b6e6f2f/workflows/29a36593-bd09-485f-ba98-12c267759c95) and failed today with the same issue (https://app.circleci.com/jobs/github/vlingo/vlingo-schemata/497); the only change was an update to the travis config, so we can be sure it's an upstream issue.
For now, the test in question is @Ignore
d as we have found no ill effects on the application and the E2E tests are fine. Will revisit/refactor once the ongoing changes in actors
(https://github.com/vlingo/vlingo-actors/pull/66) and lattice
(https://github.com/buritos/vlingo-lattice/pull/1) are finished.
@wwerner is there a chance that this could be from keeping a reference to the proxy of a stopped actor?
Since a recent (< 4d ago) upstream update, the test
io.vlingo.schemata.resource.ExtendedResourceTest#testSchemaVersionSelection
hangs, but only when run using maven from the shell. In IntelliJ, it runs fine. I have no idea what the difference is. The CI build with the same commits on master ran fine 4 days ago.I'm seeing an instantiation exception during creation of
TypeDefinitionCompilerActor
due to missing constructor arguments, it seems that a no-arg constructor is expected somewhere, see below.It looks like https://github.com/vlingo/vlingo-actors/commit/4719dc9c33d89bc3c6d6ae63a1c8d2e2e2d6da26 was pushed in the timeframe in question, and shows up in the stack trace, so perhaps this is a suspect. Just guesswork as of now, though.
What happens is that
SchemaVersionEntity
tries to use aTypeDefinitionCompilerActor
in#diff
that is passed in via the commandio.vlingo.schemata.resource.SchemaVersionCommands#diffAgainst
.To analyze:
5005
mvn -Dmaven.surefire.debug test
io/vlingo/actors/Stage.java:670
; it will get hit in the error caseIn the debugger I see
diff
method has the correct argumentsTypeDefinitionMiddleware
, the compiler actor is found:src/main/java/io/vlingo/schemata/codegen/TypeDefinitionMiddleware.java:14
io.vlingo.actors.ActorProxyBase#thunk
, when trying to retrieve the actor forarg
(which contains theTypeDefinitionMiddleware
used to retrieve theTypeDefinitionCompilerActor
) from the grid, it receivesnull
Can anyone (@buritos ?) shed some light on this? Thanks!