Creating a representation gives a NullPointerException #2125
|
Hello, I'm trying to install and run SysON following the developer guide (https://doc.mbse-syson.org/syson/v2026.3.0/developer-guide/index.html). I followed the steps and managed to build the application and launch it, and everything seems to work properly, except when I try to create a representation (any kind except requirement table view), in which case it gives the following error: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.sirius.components.view.diagram.DiagramStyleDescription.getBackground()" because "diagramStyleDescription" is null
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:na]
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[na:na]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.handle(EditingContextEventProcessor.java:135) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessorRegistry.lambda$dispatchEvent$1(EditingContextEventProcessorRegistry.java:97) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at java.base/java.util.Optional.map(Optional.java:260) ~[na:na]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessorRegistry.dispatchEvent(EditingContextEventProcessorRegistry.java:97) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.web.application.editingcontext.services.EditingContextDispatcher.dispatchMutation(EditingContextDispatcher.java:107) ~[sirius-web-application-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.web.application.representation.controllers.MutationCreateRepresentationDataFetcher.get(MutationCreateRepresentationDataFetcher.java:52) ~[sirius-web-application-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.web.application.representation.controllers.MutationCreateRepresentationDataFetcher.get(MutationCreateRepresentationDataFetcher.java:33) ~[sirius-web-application-2026.3.0.jar:2026.3.0]
at graphql.execution.ExecutionStrategy.invokeDataFetcher(ExecutionStrategy.java:510) ~[graphql-java-24.3.jar:na]
at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:464) ~[graphql-java-24.3.jar:na]
at graphql.execution.ExecutionStrategy.fetchField(ExecutionStrategy.java:404) ~[graphql-java-24.3.jar:na]
at graphql.execution.ExecutionStrategy.resolveFieldWithInfo(ExecutionStrategy.java:363) ~[graphql-java-24.3.jar:na]
at graphql.execution.AsyncSerialExecutionStrategy.resolveSerialField(AsyncSerialExecutionStrategy.java:73) ~[graphql-java-24.3.jar:na]
at graphql.execution.AsyncSerialExecutionStrategy.lambda$execute$0(AsyncSerialExecutionStrategy.java:57) ~[graphql-java-24.3.jar:na]
at graphql.execution.Async.eachSequentiallyPolymorphicImpl(Async.java:329) ~[graphql-java-24.3.jar:na]
at graphql.execution.Async.eachSequentially(Async.java:317) ~[graphql-java-24.3.jar:na]
at graphql.execution.AsyncSerialExecutionStrategy.execute(AsyncSerialExecutionStrategy.java:52) ~[graphql-java-24.3.jar:na]
at graphql.execution.Execution.executeOperation(Execution.java:205) ~[graphql-java-24.3.jar:na]
at graphql.execution.Execution.execute(Execution.java:124) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.execute(GraphQL.java:549) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.lambda$parseValidateAndExecute$13(GraphQL.java:479) ~[graphql-java-24.3.jar:na]
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2341) ~[na:na]
at graphql.EngineRunningState.compose(EngineRunningState.java:87) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.parseValidateAndExecute(GraphQL.java:474) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.lambda$executeAsync$9(GraphQL.java:434) ~[graphql-java-24.3.jar:na]
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2341) ~[na:na]
at graphql.EngineRunningState.compose(EngineRunningState.java:87) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.lambda$executeAsync$10(GraphQL.java:423) ~[graphql-java-24.3.jar:na]
at graphql.EngineRunningState.call(EngineRunningState.java:198) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.executeAsync(GraphQL.java:416) ~[graphql-java-24.3.jar:na]
at graphql.GraphQL.execute(GraphQL.java:359) ~[graphql-java-24.3.jar:na]
at org.eclipse.sirius.components.graphql.controllers.GraphQLController.performRequest(GraphQLController.java:154) ~[sirius-components-graphql-2026.3.0.jar:2026.3.0]
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.2.16.jar:6.2.16]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914) ~[spring-webmvc-6.2.16.jar:6.2.16]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) ~[tomcat-embed-core-10.1.52.jar:6.0]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.2.16.jar:6.2.16]
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.52.jar:6.0]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.16.jar:6.2.16]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.16.jar:6.2.16]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.16.jar:6.2.16]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.2.16.jar:6.2.16]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.2.16.jar:6.2.16]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.52.jar:10.1.52]
at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.sirius.components.view.diagram.DiagramStyleDescription.getBackground()" because "diagramStyleDescription" is null
at org.eclipse.sirius.components.view.emf.diagram.StylesFactory.createDiagramStyle(StylesFactory.java:131) ~[sirius-components-view-emf-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.view.emf.diagram.ViewDiagramDescriptionConverter.lambda$convert$6(ViewDiagramDescriptionConverter.java:154) ~[sirius-components-view-emf-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.diagrams.components.DiagramComponent.render(DiagramComponent.java:55) ~[sirius-components-diagrams-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.representations.BaseRenderer.renderComponent(BaseRenderer.java:212) ~[sirius-components-representations-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.representations.BaseRenderer.renderElement(BaseRenderer.java:133) ~[sirius-components-representations-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.diagrams.renderer.DiagramRenderer.render(DiagramRenderer.java:71) ~[sirius-components-diagrams-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramCreationService.doRender(DiagramCreationService.java:173) ~[sirius-components-collaborative-diagrams-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.diagrams.DiagramCreationService.create(DiagramCreationService.java:109) ~[sirius-components-collaborative-diagrams-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.diagrams.handlers.CreateDiagramEventHandler.handle(CreateDiagramEventHandler.java:117) ~[sirius-components-collaborative-diagrams-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.editingcontext.InputDispatcher.handleInput(InputDispatcher.java:112) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.editingcontext.InputDispatcher.dispatch(InputDispatcher.java:86) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.collaborative.editingcontext.EditingContextEventProcessor.lambda$handle$2(EditingContextEventProcessor.java:132) ~[sirius-components-collaborative-2026.3.0.jar:2026.3.0]
at org.eclipse.sirius.components.web.concurrent.DelegatingRequestContextRunnable.run(DelegatingRequestContextRunnable.java:40) ~[sirius-components-web-2026.3.0.jar:2026.3.0]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
... 1 common frames omittedI have tried going back to the version of the code of the last stable release (2026.3.0) instead of the last commit, but the error was the same. Any ideas on why this happens and how to fix it ? Thank you very much |
Replies: 2 comments 1 reply
|
Hello Tristan, The code in SysON using In your stack trace, you seem to use Sirius Web 2026.3.0. So there are several options here:
In both cases, in Eclipse STS, a Maven > Update Projects (as described in https://doc.mbse-syson.org/syson/v2026.3.0/developer-guide/index.html#_backend_2) should help you to retrieve the version of Sirius Web corresponding to the commit of SysON you have checkouted. Regards, |
|
Thank you for your reply, Unfortunately, even after following the steps, I still have the same error. What I find especially strange is that the error comes from Another thing I tried was to create new empty java application, with the SysOn dependencies in the pom.xml (on version 2026.3.0), and when I launched it, I got the same error when trying to create a representation (even if I didn't clone the code for this application) Thank you very much once again, |
It's strange indeed. You can try to execute your maven commands on a fresh new local repository (different than the default one in your $HOME/.m2) with the
maven.repo.localoption. For example, on the SysON root folder, just domvn clean verify -Dmaven.repo.local=/path/to/your/new/local/repo(and don't forget to also copy your settings.xml in this new maven local repo).