# Can't add new comment in comments panel

**URL:** <https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571>\
**Category:** Ignition\
**Created:** [April 14, 2021, 6:32am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571 "2021-04-14T06:32:36Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aiasa21](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@Aiasa21](https://forum.inductiveautomation.com/u/Aiasa21)\
**Post date:** [April 14, 2021, 6:32am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/1 "2021-04-14T06:32:36Z")

</div>

Good morning,

I’m trying to use the comments panel.  
I created the table (name: Notes) in Microsoft SQL Server:

- ID int (primary key)
- note varchar(255)
- whoid varchar(255)
- tstamp datetime
- attachment varbinary(MAX)
- filename varchar(255)
- sticky int

I copied the example " **insertNote: using a single table**" here [Comments Panel - Ignition User Manual 7.9 - Ignition Documentation](https://docs.inductiveautomation.com/display/DOC79/Comments+Panel) and I comment the MySql query and used the MSSQL Server query.

In the Data property of the comments panel I write this query

```auto
SELECT 
	id,
	whoid,
	tstamp,
	note,
	filename,
	sticky
	
FROM
	notes
	
ORDER BY
	tstamp DESC

```

The result is that I’m able to read from the table (I write the values directly in it just to see if I could read them and it works. But I’m not able to write into the database.  
There are not errors, but the output console report this messages:

```auto
08:31:26.878 [AWT-EventQueue-0] ERROR Vision.Components.PMICommentsPanel2 - Error invoking extension method.
org.python.core.PyException: Traceback (most recent call last):
  File "<extension-method insertNote>", line 43, in insertNote
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:362)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:258)
	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)
java.lang.Exception: java.lang.Exception: Error executing system.db.runPrepUpdate(INSERT INTO Notes (note, whoid, tstamp, attachment, filename, sticky) VALUES (?, ?, CURRENT_TIMESTAMP, CONVERT(VARBINARY(MAX),?), ?, ?), [qdw, Manuel, , , false], , , false, false)

	at org.python.core.Py.JavaError(Py.java:552)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:362)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:258)
	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.python.core.PyReflectedFunction. __call__ (PyReflectedFunction.java:188)
	at com.inductiveautomation.ignition.common.script.ScriptManager$ReflectedInstanceFunction. __call__ (ScriptManager.java:538)
	at org.python.core.PyObject. __call__ (PyObject.java:497)
	at org.python.core.PyObject. __call__ (PyObject.java:501)
	at org.python.pycode._pyx18.insertNote$1(<extension-method insertNote>:43)
	at org.python.pycode._pyx18.call_function(<extension-method insertNote>)
	at org.python.core.PyTableCode.call(PyTableCode.java:171)
	at org.python.core.PyBaseCode.call(PyBaseCode.java:308)
	at org.python.core.PyFunction.function ___call__ (PyFunction.java:471)
	at org.python.core.PyFunction. __call__ (PyFunction.java:466)
	at org.python.core.PyFunction. __call__ (PyFunction.java:456)
	at org.python.core.PyFunction. __call__ (PyFunction.java:451)
	at com.inductiveautomation.vision.api.client.components.model.ExtensionFunction.invoke(ExtensionFunction.java:151)
	at com.inductiveautomation.factorypmi.application.components.PMICommentsPanel2.addNewNote(PMICommentsPanel2.java:248)
	at com.inductiveautomation.factorypmi.application.components.PMICommentsPanel2$AddNotePanel.actionPerformed(PMICommentsPanel2.java:672)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.Exception: Error executing system.db.runPrepUpdate(INSERT INTO Notes (note, whoid, tstamp, attachment, filename, sticky) VALUES (?, ?, CURRENT_TIMESTAMP, CONVERT(VARBINARY(MAX),?), ?, ?), [qdw, Manuel, , , false], , , false, false)
	... 56 common frames omitted
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: SQL error for "INSERT INTO Notes (note, whoid, tstamp, attachment, filename, sticky) VALUES (?, ?, CURRENT_TIMESTAMP, CONVERT(VARBINARY(MAX),?), ?, ?)": Cannot insert the value NULL into column 'ID', table 'IgnitionDB.dbo.Notes'; column does not allow nulls. INSERT fails.
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:351)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:325)
	at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:278)
	at com.inductiveautomation.ignition.client.script.ClientDBUtilities._runPrepStmt(ClientDBUtilities.java:282)
	at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runPrepUpdate(AbstractDBUtilities.java:256)
	... 54 common frames omitted
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayResponse$GatewayThrowable: Cannot insert the value NULL into column 'ID', table 'IgnitionDB.dbo.Notes'; column does not allow nulls. INSERT fails.
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1632)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:602)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:524)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7375)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3200)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:247)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:222)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:473)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
	at com.inductiveautomation.ignition.gateway.datasource.SRConnectionWrapper$SRPreparedStatement.executeUpdate(SRConnectionWrapper.java:1016)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.RunPrepStmt.runUpdateQuery(RunPrepStmt.java:65)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.AbstractUpdateQuery.run(AbstractUpdateQuery.java:25)
	at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.AbstractDBAction.invoke(AbstractDBAction.java:68)
	at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:405)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:86)
	at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1391)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:760)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:547)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:500)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
	at java.lang.Thread.run(null)

```

Thank you very much for the help!

---

<div class="post-metadata">

**Author:** ![pascal](https://avatars.discourse-cdn.com/v4/letter/p/e9a140/32.png) [@pascal](https://forum.inductiveautomation.com/u/pascal)\
**Post date:** [April 14, 2021, 7:21am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/2 "2021-04-14T07:21:03Z")

</div>

Hi,

Look at the error message :

```auto
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: SQL error for "INSERT INTO Notes (note, whoid, tstamp, attachment, filename, sticky) VALUES (?, ?, CURRENT_TIMESTAMP, CONVERT(VARBINARY(MAX),?), ?, ?)": Cannot insert the value NULL into column 'ID', table 'IgnitionDB.dbo.Notes'; column does not allow nulls. INSERT fails.

```

In my opinion, the ID column in your table should be auto\_increment, since it is your primary key it can not be NULL so you should configure it with AUTO\_INCREMENT.  
Doing that will automatically assgn a distinct number to any new note you insert in your table

---

<div class="post-metadata">

**Author:** ![Aiasa21](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@Aiasa21](https://forum.inductiveautomation.com/u/Aiasa21)\
**Post date:** [April 14, 2021, 9:12am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/3 "2021-04-14T09:12:02Z")

</div>

Thank you very much for the help, that was the problem!

I set it as AUTO\_INCREMENT and it works.

---

<div class="post-metadata">

**Author:** ![Aiasa21](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@Aiasa21](https://forum.inductiveautomation.com/u/Aiasa21)\
**Post date:** [April 14, 2021, 9:41am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/4 "2021-04-14T09:41:32Z")

</div>

I take this opportunity to ask help for another question that I can’t find in the forum.

Is normal that an user can’t delete a comment add by another user? I mean, the [delete] button is hide if I’ not logged as the user who create the comment.

Any way to manage it?

Thanks a lot againt!

---

<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:** [April 14, 2021, 5:15pm UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/5 "2021-04-14T17:15:46Z")

</div>

> [@Aiasa21](#):
>
> Any way to manage it?

Look at the `canDelete` extension function; you can provide your own logic there.

---

<div class="post-metadata">

**Author:** ![Aiasa21](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@Aiasa21](https://forum.inductiveautomation.com/u/Aiasa21)\
**Post date:** [April 14, 2021, 6:14pm UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/6 "2021-04-14T18:14:10Z")

</div>

> [@paul-griffith](#):
>
> Look at the `canDelete` extension function; you can provide your own logic there.

Thanks for the help, I had a look at the extension function but I didn't find what I was looking at.  
Probably I'm not explaining well, but my problem is that if I'm not logged in as the user who create the that specific note, the Delete button is not visible.  
I wonder if there's the possibility to permit at every user to delete every notes created, even by others users.

---

<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:** [April 14, 2021, 6:22pm UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/7 "2021-04-14T18:22:44Z")

</div>

> [@Aiasa21](#):
>
> I wonder if there’s the possibility to permit at every user to delete every notes created, even by others users.

Yes, there is. Just `return True` in the `canDelete` extension function.

---

<div class="post-metadata">

**Author:** ![Aiasa21](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@Aiasa21](https://forum.inductiveautomation.com/u/Aiasa21)\
**Post date:** [April 15, 2021, 5:56am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/8 "2021-04-15T05:56:43Z")

</div>

Ok perfect, it works! I was working on the _deleteNote_ function instead _canDelete_.

Thank you for the help and have a nice day!

---

<div class="post-metadata">

**Author:** ![Ricky\_Obando](https://avatars.discourse-cdn.com/v4/letter/r/ec9cab/32.png) [@Ricky\_Obando](https://forum.inductiveautomation.com/u/Ricky_Obando)\
**Post date:** [November 30, 2022, 4:18am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/9 "2022-11-30T04:18:33Z")

</div>

Copied all examples reference to the video from v7.9 and its not working but this error showing.

20:16:06.033 [AWT-EventQueue-0] ERROR Vision.Components.PMICommentsPanel2 - Error invoking extension method.  
org.python.core.PyException: java.lang.NullPointerException: java.lang.NullPointerException  
at org.python.core.Py.JavaError(Py.java:547)  
at org.python.core.Py.JavaError(Py.java:538)  
at org.python.core.PyReflectedFunction. **call** (PyReflectedFunction.java:192)  
at org.python.core.PyReflectedFunction. **call** (PyReflectedFunction.java:208)  
at org.python.core.PyObject. **call** (PyObject.java:461)  
at org.python.core.PyObject. **call** (PyObject.java:465)  
at org.python.pycode._pyx46.insertNote$1(:11)  
at org.python.pycode.pyx46.call\_function()  
at org.python.core.PyTableCode.call(PyTableCode.java:173)  
at org.python.core.PyBaseCode.call(PyBaseCode.java:306)  
at org.python.core.PyFunction.function\_\_\_call_(PyFunction.java:474)  
at org.python.core.PyFunction. **call** (PyFunction.java:469)  
at org.python.core.PyFunction. **call** (PyFunction.java:459)  
at org.python.core.PyFunction. **call** (PyFunction.java:454)  
at com.inductiveautomation.vision.api.client.components.model.ExtensionFunction.invoke(ExtensionFunction.java:152)  
at com.inductiveautomation.factorypmi.application.components.PMICommentsPanel2.addNewNote(PMICommentsPanel2.java:244)  
at com.inductiveautomation.factorypmi.application.components.PMICommentsPanel2$AddNotePanel.actionPerformed(PMICommentsPanel2.java:668)  
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)  
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)  
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)  
at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)  
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)  
at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)  
at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)  
at java.desktop/java.awt.Component.processEvent(Unknown Source)  
at java.desktop/java.awt.Container.processEvent(Unknown Source)  
at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)  
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)  
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)  
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)  
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)  
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)  
at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)  
at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)  
at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)  
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)  
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)  
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)  
at java.base/java.security.AccessController.doPrivileged(Native Method)  
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)  
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)  
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)  
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)  
at java.base/java.security.AccessController.doPrivileged(Native Method)  
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)  
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)  
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)  
Caused by: java.lang.NullPointerException: null  
at java.base/java.io.File.(Unknown Source)  
at com.inductiveautomation.ignition.common.script.builtin.FileUtilities.readFileAsBytes(FileUtilities.java:137)  
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.python.core.PyReflectedFunction. **call** (PyReflectedFunction.java:190)  
... 49 common frames omitted

---

<div class="post-metadata">

**Author:** ![Ricky\_Obando](https://avatars.discourse-cdn.com/v4/letter/r/ec9cab/32.png) [@Ricky\_Obando](https://forum.inductiveautomation.com/u/Ricky_Obando)\
**Post date:** [November 30, 2022, 4:23am UTC](https://forum.inductiveautomation.com/t/cant-add-new-comment-in-comments-panel/45571/10 "2022-11-30T04:23:15Z")

</div>

And also using the example from v8.1 gives me this error.

Parse error for extension function "insertNote" SyntaxError: (u"no viable alternative at character '\xa0'", ('', 22, 1, u'\t\xa0\n'))
