Can't Update Project Title

Hi all! Title pretty much says it all. I am trying to update the title of a project that is a few steps down an inheritance chain. Every time I try to save the project in the gateway, it fails. I tried playing with some of the solutions found here, but with no success. I'm on Ignition 8.1.45. Any help is appreciated. Thanks!

Any errors in your gateway log? Does it give you a message or an error when it fails, or does it just not change the project title?

ProjectPushException: Modify illegal by the looks of it. Is there somewhere in the gateway settings that would block that?

Can you copy the full stack trace and paste it here as preformatted text? (expand the gateway log message, highlight, and copy) See Wiki - how to post code on this forum.

It might be your login doesn't have the required privileges or it might be a bug, the trace will help to identify which.

**com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal, 'ProjectResourceId{resourcePath=ignition/global-props, projectName=ProjectA}' doesn't exist**
at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.push(BaseProjectManager.java:524)
at com.inductiveautomation.ignition.gateway.project.IgnitionProjectManager.push(IgnitionProjectManager.java:241)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.editProject(ProjectRoutes.java:548)
at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$2(ProjectRoutes.java:170)
at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:254)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:64)
at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)
at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
at java.base/java.lang.Thread.run(Unknown Source)

Just wanted to bump this and see if anyone had any suggestions. The projects that I'm doing this on are only single-page projects, so I can just change the page title in the Perspective link section, but I'd rather set the project properties if possible.

Give support a call or email, it sounds like this might be a bug that needs to be reported?

I'll reach out. Thanks!

Was a formal solution determined for this? I ran into the same issue. I was able to export the project, modify the title in the json file and reimport to get around the problem but it seems like it’s a bug that needs to be fixed. I’m also not sure if the way I “fixed” it could cause any other issues.

Works for me on 8.1.52, so it may have been reported and fixed since this post.

Got it. I’m on 8.1.50. I’ll upgrade and see if that takes care of it.

IgnitionError_PrjTitle

Upgrade did not fix it for me. I’m getting a ProjectRoutes warning in the wrapper log with the error saying the project doesn’t exist.

com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal

Post the full error and stack trace here.

Also - how/where are you trying to change the title? I did it from the gateway projects page by editing that project.

Changing it from the gateway projects webpage. xxx.xxx.xxx.xxx:8088/web/config/system.projects

Also, I had initially renamed the project as well. So maybe there is an issue if you rename the project and then try to change the title?

com.inductiveautomation.ignition.common.project.ProjectPushException: MODIFY illegal, 'ProjectResourceId{resourcePath=ignition/global-props, projectName=Logan_Furn}' doesn't exist

at com.inductiveautomation.ignition.gateway.project.BaseProjectManager.push(BaseProjectManager.java:524)

at com.inductiveautomation.ignition.gateway.project.IgnitionProjectManager.push(IgnitionProjectManager.java:241)

at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.editProject(ProjectRoutes.java:552)

at com.inductiveautomation.ignition.gateway.web.pages.config.routes.ProjectRoutes.lambda$mount$2(ProjectRoutes.java:173)

at com.inductiveautomation.ignition.gateway.dataroutes.Route.service(Route.java:284)

at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupImpl.service(RouteGroupImpl.java:66)

at com.inductiveautomation.ignition.gateway.dataroutes.RouteGroupCollectionServlet.serviceInternal(RouteGroupCollectionServlet.java:59)

at com.inductiveautomation.ignition.gateway.dataroutes.AbstractRouteGroupServlet.service(AbstractRouteGroupServlet.java:38)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)

at org.eclipse.jetty.ee8.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1162)

at org.eclipse.jetty.ee8.servlet.ServletHolder.handle(ServletHolder.java:651)

at org.eclipse.jetty.ee8.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1374)

at com.inductiveautomation.catapult.filters.GatewayFilter.doFilter(GatewayFilter.java:73)

at javax.servlet.http.HttpFilter.doFilter(HttpFilter.java:97)

at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:177)

at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348)

at org.eclipse.jetty.ee8.servlet.ServletHandler.doHandle(ServletHandler.java:454)

at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.ee8.security.SecurityHandler.handle(SecurityHandler.java:497)

at org.eclipse.jetty.ee8.nested.HandlerWrapper.handle(HandlerWrapper.java:108)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:183)

at org.eclipse.jetty.ee8.nested.SessionHandler.doHandle(SessionHandler.java:519)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181)

at org.eclipse.jetty.ee8.nested.ContextHandler.doHandle(ContextHandler.java:885)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:152)

at org.eclipse.jetty.ee8.servlet.ServletHandler.doScope(ServletHandler.java:423)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)

at org.eclipse.jetty.ee8.nested.SessionHandler.doScope(SessionHandler.java:503)

at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)

at org.eclipse.jetty.ee8.nested.ContextHandler.doScope(ContextHandler.java:830)

at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.ee8.nested.ContextHandler.handle(ContextHandler.java:1443)

at org.eclipse.jetty.ee8.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1290)

at org.eclipse.jetty.ee8.nested.HttpChannel.dispatch(HttpChannel.java:617)

at org.eclipse.jetty.ee8.nested.HttpChannel.handle(HttpChannel.java:460)

at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2512)

at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071)

at org.eclipse.jetty.rewrite.handler.RewriteHandler$LastRuleHandler.handle(RewriteHandler.java:159)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.HeaderPatternRule$1.handle(HeaderPatternRule.java:89)

at org.eclipse.jetty.rewrite.handler.Rule$Handler.handle(Rule.java:108)

at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:143)

at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)

at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)

at org.eclipse.jetty.server.Server.handle(Server.java:182)

at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677)

at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)

at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)

at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)

at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)

at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)

at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)

at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211)

at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)

at java.base/java.lang.Thread.run(Unknown Source)

well... something must still be broken. Give support a call to report it. Maybe that never happened.

1 Like

Could be. If you restart the gateway (if you can) are you then able to change the title?
Alternately, you can set the title in the designer I think?

I tried restarting and it still didn't work. I ended up just making a new project with the correct name and title and importing everything from the original project.

1 Like