При запуске песочницы DAML возникает ошибка - PullRequest
2 голосов
/ 23 января 2020

При запуске песочницы возникает следующая ошибка:

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

Что может быть причиной этого?

1 Ответ

1 голос
/ 20 февраля 2020

Я видел эту ошибку много раз, и это является следствием сбоя транзакции в сложной модели / транзакции DAML при работе в Песочнице. В случае сбоя транзакции (fetch / exercise неактивный контракт, lookupByKey вернул устаревший cid, head [], деление на ноль и т. Д. c), песочница старательно пытается предоставить информацию трассировки транзакции в результате ошибки.

Это нормально для относительно простых моделей. В более сложных моделях эта трассировка может превышать максимальный размер заголовка, что приводит к появившейся ошибке. Когда это происходит, я обнаружил трассировку в файле sandbox.log, иногда вместе с другими ошибками, которые помогают объяснить, что происходит.

Трассировка - это неформатированный дамп, поэтому может потребоваться некоторое усилие, чтобы декодировать вручную, но я делал это много раз сам, и информация, которая мне была нужна для выявления проблемы, всегда была там - и, честно говоря, как правило, просто зная выбор, который я выполнял + указанный класс ошибок c обычно достаточно, чтобы указать мне правильное направление.

Я полагаю, что создается какой-то инструмент, помогающий в диагностике такого рода; однако я не знаю, насколько продвинута работа над этим.

...