# Getting more info out of \`LOCAL\_VERDICT\` errors

**URL:** <https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252>\
**Category:** App Development\
**Created:** [March 10, 2023, 9:49am UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252 "2023-03-10T09:49:40Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Artur\_Poor](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/artur_poor/32/2442_2.png) [@Artur\_Poor](https://forum.canton.network/u/Artur_Poor)\
**Post date:** [March 10, 2023, 9:49am UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/1 "2023-03-10T09:49:40Z")

</div>

Canton 2.6.0-rc2 (2.6.0-snapshot.20230222.11471.0.d1a33784) logs `LOCAL_VERDICT_LOCKED_KEYS` errors. The problem is, error message doesn’t reveal the key being locked:

```haskell
2023-03-09 21:04:59.365 [input-mapping-pool-11] INFO c.d.p.i.p.ParallelIndexerSubscription - Storing Reject command 97ad7210-5d1d-4a50-a07f-046c56f3f1b2(): LOCAL_VERDICT_LOCKED_KEYS(2,3fc8dd8b): Rejected transaction is referring to locked keys , context: {participant: "myparticipant", offset: "0000000000000053ca", update: {rejectionReason: {code: 10, message: "LOCAL_VERDICT_LOCKED_KEYS(2,3fc8dd8b): Rejected transaction is referring to locked keys ", definiteAnswer: false}, deduplicationPeriod: {offset: "000000000000000001"}, recordTime: "2023-03-09T21:04:57.955461Z", applicationId: "example", submitter: ["Alice::(somelongpartyhash)"], commandId: "97ad7210-5d1d-4a50-a07f-046c56f3f1b2"}} 

```

Is revealing the locked key a matter of some Canton logback configuration I’m not aware of?

---

<div class="post-metadata">

**Author:** ![Carl\_Pulley](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/carl_pulley/32/5138_2.png) [@Carl\_Pulley](https://forum.canton.network/u/Carl_Pulley)\
**Post date:** [March 14, 2023, 2:32pm UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/2 "2023-03-14T14:32:20Z")

</div>

How to manage this is described here:

- [Troubleshooting Guide — Daml SDK 2.6.0 documentation](https://docs.daml.com/2.6.0/canton/usermanual/troubleshooting_guide.html#contention) (contention)

Specifically, the information at:

- [Troubleshooting Guide — Daml SDK 2.6.0 documentation](https://docs.daml.com/2.6.0/canton/usermanual/troubleshooting_guide.html#how-to-find-contention) (how to find contention)

will help locate the command ID (using this you can then identify the template and choice) and the contract ID (in the ResourceInfo block that is also logged).

---

<div class="post-metadata">

**Author:** ![Artur\_Poor](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/artur_poor/32/2442_2.png) [@Artur\_Poor](https://forum.canton.network/u/Artur_Poor)\
**Post date:** [March 28, 2023, 2:42pm UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/3 "2023-03-28T14:42:40Z")

</div>

Thank you, Carl. Indeed, increasing log level to `debug` helped to find the locked contract key. It’s just a bit inconvenient to follow cross references. It seems as if `LockedKeys.Reject` already has knowledge about the locked contract key:

> <https://github.com/digital-asset/canton/blob/3d64f68770e5f3fbb9ccf8c198cd07f7a4c18bf0/community/common/src/main/scala/com/digitalasset/canton/protocol/messages/LocalVerdict.scala#L337-L354>

Makes me think if the log line in my original question is just incomplete and result of some small issue in canton logging code.

---

<div class="post-metadata">

**Author:** ![Rafael\_Guglielmetti](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/rafael_guglielmetti/32/1897_2.png) [@Rafael\_Guglielmetti](https://forum.canton.network/u/Rafael_Guglielmetti)\
**Post date:** [March 29, 2023, 9:17am UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/4 "2023-03-29T09:17:12Z")

</div>

Hey!  
We could probably include the global key: [https://github.com/digital-asset/daml/blob/b5441712aa0b91b7f63b23dc51b40b9cd08914a2/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/GlobalKey.scala#L13-L26](https://github.com/digital-asset/daml/blob/b5441712aa0b91b7f63b23dc51b40b9cd08914a2/daml-lf/transaction/src/main/scala/com/digitalasset/daml/lf/transaction/GlobalKey.scala#L13-L26)  
Would that help?  
Raf

---

<div class="post-metadata">

**Author:** ![Artur\_Poor](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/artur_poor/32/2442_2.png) [@Artur\_Poor](https://forum.canton.network/u/Artur_Poor)\
**Post date:** [March 31, 2023, 9:46am UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/5 "2023-03-31T09:46:59Z")

</div>

Hey Rafael,  
GlobalKey would be perfect.  
Thank you!

---

<div class="post-metadata">

**Author:** ![Rafael\_Guglielmetti](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/rafael_guglielmetti/32/1897_2.png) [@Rafael\_Guglielmetti](https://forum.canton.network/u/Rafael_Guglielmetti)\
**Post date:** [March 31, 2023, 12:15pm UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/6 "2023-03-31T12:15:53Z")

</div>

I created the issue. Should be shipped as part of 2.7

---

<div class="post-metadata">

**Author:** ![raphson93](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/raphson93/32/6033_2.png) [@raphson93](https://forum.canton.network/u/raphson93)\
**Post date:** [June 19, 2023, 3:45am UTC](https://forum.canton.network/t/getting-more-info-out-of-local-verdict-errors/6252/7 "2023-06-19T03:45:04Z")

</div>

Hi sir, is this consider a bug fix ?
