# Reporting module has faulted

**URL:** <https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698>\
**Category:** Ignition\
**Tags:** ignition81, reporting\
**Created:** [October 23, 2024, 10:35pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698 "2024-10-23T22:35:29Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tony\_Phung](https://avatars.discourse-cdn.com/v4/letter/t/9fc348/32.png) [@Tony\_Phung](https://forum.inductiveautomation.com/u/Tony_Phung)\
**Post date:** [October 23, 2024, 10:35pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/1 "2024-10-23T22:35:30Z")

</div>

My reporting module has faulted. I've tried restarting the module, and uninstalling and reinstalling the module but that did not fix the issue. Could someone advise me on the next steps to take?

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [October 23, 2024, 10:40pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/2 "2024-10-23T22:40:21Z")

</div>

I would try a gateway restart and failing that reboot the server.

Any logs?

---

<div class="post-metadata">

**Author:** ![Tony\_Phung](https://avatars.discourse-cdn.com/v4/letter/t/9fc348/32.png) [@Tony\_Phung](https://forum.inductiveautomation.com/u/Tony_Phung)\
**Post date:** [October 23, 2024, 10:44pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/3 "2024-10-23T22:44:14Z")

</div>

Here's an error message from the logs:

```python
java.lang.Exception: Exception while starting up module "com.inductiveautomation.reporting".
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.startup(ModuleManagerImpl.java:2397)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.startupModule(ModuleManagerImpl.java:1181)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$4.call(ModuleManagerImpl.java:836)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.executeModuleOperation(ModuleManagerImpl.java:902)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.restartModuleInternal(ModuleManagerImpl.java:816)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl.restartModule(ModuleManagerImpl.java:808)
	at com.inductiveautomation.ignition.gateway.web.pages.config.ModulePage$RestartAction.execute(ModulePage.java:575)
	at com.inductiveautomation.ignition.gateway.web.components.ConfirmationPanel$1.onClick(ConfirmationPanel.java:49)
	at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:190)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
	at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:216)
	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:243)
	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:236)
	at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
	at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
	at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:261)
	at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:218)
	at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
	at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:259)
	at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201)
	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282)
	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:210)
	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1635)
	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:578)
	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:1570)
	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:1543)
	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.lambda$handle$0(HttpChannel.java:505)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:762)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:497)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
	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:416)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:385)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:272)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.lambda$new$0(AdaptiveExecutionStrategy.java:140)
	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)
Caused by: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "name" is null
	at com.inductiveautomation.ignition.common.xmlserialization.ClassNameResolver.classForName(ClassNameResolver.java:162)
	at com.inductiveautomation.ignition.common.xmlserialization.encoding.Decoders$SignatureDecoder.binaryToObject(Decoders.java:430)
	at com.inductiveautomation.ignition.common.xmlserialization.encoding.Decoders$SignatureDecoder.binaryToObject(Decoders.java:408)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readAttributes(BinaryParser.java:179)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:148)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.readElement(BinaryParser.java:157)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.BinaryParser.parse(BinaryParser.java:51)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserializeBinary(XMLDeserializer.java:367)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(XMLDeserializer.java:277)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(XMLDeserializer.java:257)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(XMLDeserializer.java:212)
	at com.inductiveautomation.ignition.common.xmlserialization.deserialization.XMLDeserializer.deserialize(XMLDeserializer.java:190)
	at com.inductiveautomation.reporting.gateway.scheduler.ReportScheduleRunner.addSchedulesFromResource(ReportScheduleRunner.java:88)
	at com.inductiveautomation.reporting.gateway.scheduler.ReportScheduleRunner.startup(ReportScheduleRunner.java:78)
	at com.inductiveautomation.reporting.gateway.scheduler.ReportScheduleRunner.startup(ReportScheduleRunner.java:62)
	at com.inductiveautomation.reporting.gateway.ReportingGatewayHook$ReportingProjectLifecycle.onStartup(ReportingGatewayHook.java:753)
	at com.inductiveautomation.ignition.gateway.project.ProjectLifecycle.onStartup(ProjectLifecycle.java:38)
	at com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle.startup(AbstractLifecycle.java:18)
	at com.inductiveautomation.ignition.gateway.project.ProjectLifecycleFactory$1.maybeStartLifecycle(ProjectLifecycleFactory.java:234)
	at com.inductiveautomation.ignition.gateway.project.ProjectLifecycleFactory$1.lambda$projectAdded$0(ProjectLifecycleFactory.java:124)
	at java.base/java.util.Optional.ifPresent(Unknown Source)
	at com.inductiveautomation.ignition.gateway.project.ProjectLifecycleFactory$1.projectAdded(ProjectLifecycleFactory.java:124)
	at java.base/java.util.ArrayList.forEach(Unknown Source)
	at com.inductiveautomation.ignition.gateway.project.ProjectLifecycleFactory.onStartup(ProjectLifecycleFactory.java:47)
	at com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle.startup(AbstractLifecycle.java:18)
	at com.inductiveautomation.reporting.gateway.ReportingGatewayHook.startup(ReportingGatewayHook.java:203)
	at com.inductiveautomation.ignition.gateway.modules.ModuleManagerImpl$LoadedModule.startup(ModuleManagerImpl.java:2391)
	... 64 more

8.1.37 (b2024013011)
Azul Systems, Inc. 17.0.9

```

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [October 23, 2024, 10:47pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/4 "2024-10-23T22:47:47Z")

</div>

> [@Tony\_Phung](#):
>
> `Caused by: java.lang.NullPointerException: Cannot invoke "String.startsWith(String)" because "name" is null`

At a guess, that is the key line but this has never happened to me so can't advise any further.

Live production server so hesitant to restart?

---

<div class="post-metadata">

**Author:** ![Tony\_Phung](https://avatars.discourse-cdn.com/v4/letter/t/9fc348/32.png) [@Tony\_Phung](https://forum.inductiveautomation.com/u/Tony_Phung)\
**Post date:** [October 23, 2024, 10:53pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/5 "2024-10-23T22:53:50Z")

</div>

I figured that was the case, but I'm not sure what its failing to find the name of. Its DEV so I can restart freely. I tried stopping and starting the gateway but that did not fix the issue. Guess I'll have to dig into the project files.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 24, 2024, 5:11pm UTC](https://forum.inductiveautomation.com/t/reporting-module-has-faulted/97698/6 "2024-10-24T17:11:19Z")

</div>

At least one of your _reports_ has gotten saved in an invalid/corrupted state. That definitely shouldn't be preventing module startup (😬) but for right now you're going to have to do some manual surgery to try to find out which one.

For a starting point, maybe try looking in the `projects/` directory on disk in the Ignition installation directory.l  
Look in each project, under the `com.inductiveautomation.reporting/reports` folder for each resource, then check the `data.bin` file to see if it's unusual (zero bytes, maybe?)  
This totally empty report comes in at 606 bytes, so anything less than 500 bytes would definitely come up as a red flag for me.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/5/75f138def550f24329292d918b74fe3b820fc999.png)

If you _do_ find anything unusual, you can back up the project/resource, then delete the entire 'resource' by deleting the folder (e.g. `abc` in the screenshot above), then restart the gateway.
