2

运行沙箱时出现以下错误:

io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$HeaderListSizeException: Header size exceeded max allowed size (8192)

这可能是什么原因?

4

1 回答 1

1

我已经多次看到这个错误,这是在沙盒上运行时在复杂的 DAML 模型/事务中出现事务失败的结果。当您遇到交易失败(fetch/exercise非活动合约、lookupByKey返回过时的 cid、head []被零除等)时,沙箱会帮助尝试在错误结果中提供交易跟踪信息。

这对于相对简单的模型通常很好。对于更复杂的模型,此跟踪可能会超过最大标头大小,从而产生您看到的错误。发生这种情况时,我在sandbox.log文件中找到了跟踪,有时还有其他有助于解释发生了什么的错误。

跟踪是一个未格式化的转储,因此手动解码可能需要一些努力,但我自己已经做了很多次,并且我需要识别问题的信息一直都在那里——老实说,一般只是知道我正在执行的选择+特定类别的错误通常足以为我指明正确的方向。

我相信正在构建一些工具来帮助进行这种诊断。但是,我不知道这方面的工作有多先进。

于 2020-02-20T00:59:14.853 回答