Neo.ClientError.Transaction.TransactionHookFailed on a merge query

I am getting an error when trying to run a merge query via the javascript driver the query is

MERGE (p:Product {_id: $_id}) ON CREATE SET p = $newItem ON MATCH SET p = $newItem RETURN p

the error is as below

{ Neo4jError
    at captureStacktrace (...neo4j-driver/lib/v1/result.js:199:15)
    at new Result (...neo4j-driver/lib/v1/result.js:72:19)
    at Session._run (...neo4j-driver/lib/v1/session.js:116:14)
    at (...neo4j-driver/lib/v1/session.js:95:19)
  code: 'Neo.ClientError.Transaction.TransactionHookFailed',
  name: 'Neo4jError' }

All other queries it's just this one.

Any ideas anyone?

EDIT: Forgot to add the logs show nothing, both debug.log and neo4j.log

I also received this error using 3.5.12. Logs show no error. I received this error from Chrome browser using Neo4j bolt connector. Using .net driver I received

Received an unexpected HTTP status when executing the request.

The response status was: 500 Server Error

The stack trace shows

at Neo4jClient.GraphClient.Neo4jClient.IRawGraphClient.ExecuteGetCypherResults[TResult](CypherQuery query)
at Neo4jClient.Cypher.CypherFluentQuery`1.get_Results()

The response from Neo4j (which might include useful detail!) was: