Sandbox error: Header size exceeded max allowed size (8192)

I’m submitting a command from a trigger and I’m getting the below error from the sandbox. The command I’m submitting is an exercise and the arguments are not particularly large (1 DvP, 2 settlement instructions). What I’m not sure about is if there’s a bug in my model that causes a huge response to be generated.

In any case, is there a way to tweak the maximum header size so that I can understand what’s going on? Or what could be causing such a large header? The error I’m seeing in the trigger log seems to indicate that this might in fact be a protocol-level limitation:

Command failed: HTTP/2 error code: PROTOCOL_ERROR
Received Rst Stream, code: 13

Am I out of luck here and need to go bug hunting? I’m on SDK version 1.1.1

Here’s the error in the sandbox log:

May 17, 2020 3:24:17 AM io.grpc.netty.NettyServerHandler onStreamError
WARNING: Stream Error
io.netty.handler.codec.http2.Http2Exception$HeaderListSizeException: Header size exceeded max allowed size (8192)
        at io.netty.handler.codec.http2.Http2Exception.headerListSizeError(Http2Exception.java:189)
        at io.netty.handler.codec.http2.Http2CodecUtil.headerListSizeExceeded(Http2CodecUtil.java:232)
        at io.netty.handler.codec.http2.HpackEncoder.encodeHeadersEnforceMaxHeaderListSize(HpackEncoder.java:122)
        at io.netty.handler.codec.http2.HpackEncoder.encodeHeaders(HpackEncoder.java:106)
        at io.netty.handler.codec.http2.DefaultHttp2HeadersEncoder.encodeHeaders(DefaultHttp2HeadersEncoder.java:68)
        at io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeHeadersInternal(DefaultHttp2FrameWriter.java:501)
        at io.netty.handler.codec.http2.DefaultHttp2FrameWriter.writeHeaders(DefaultHttp2FrameWriter.java:268)
        at io.netty.handler.codec.http2.Http2OutboundFrameLogger.writeHeaders(Http2OutboundFrameLogger.java:60)
        at io.netty.handler.codec.http2.DecoratingHttp2FrameWriter.writeHeaders(DecoratingHttp2FrameWriter.java:53)
        at io.grpc.netty.NettyServerHandler$WriteMonitoringFrameWriter.writeHeaders(NettyServerHandler.java:1016)
        at io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.writeHeaders(DefaultHttp2ConnectionEncoder.java:208)
        at io.netty.handler.codec.http2.DefaultHttp2ConnectionEncoder.writeHeaders(DefaultHttp2ConnectionEncoder.java:151)
        at io.grpc.netty.NettyServerHandler.sendResponseHeaders(NettyServerHandler.java:683)
        at io.grpc.netty.NettyServerHandler.write(NettyServerHandler.java:602)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:716)
        at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:708)
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:791)
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:701)
        at io.netty.channel.DefaultChannelPipeline.write(DefaultChannelPipeline.java:1026)
        at io.netty.channel.AbstractChannel.write(AbstractChannel.java:288)
        at io.grpc.netty.WriteQueue$AbstractQueuedCommand.run(WriteQueue.java:200)
        at io.grpc.netty.WriteQueue.flush(WriteQueue.java:115)
        at io.grpc.netty.WriteQueue.access$000(WriteQueue.java:34)
        at io.grpc.netty.WriteQueue$1.run(WriteQueue.java:46)
        at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
        at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:416)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:515)
        at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:918)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:844)

Any hints are much appreciated!

This is likely caused by a failed transaction where the error sent by sandbox is too large. Try running with --log-level=INFO (I think it was broken in 1.0.1 so try 1.1.1) and see if you can see it in sandbox.log`. You can find more details at https://stackoverflow.com/questions/59872705/when-running-the-daml-sandbox-an-error-occurs and Sandbox: Header size exceeded max allowed size · Issue #5738 · digital-asset/daml · GitHub.

4 Likes

That has indeed helped, I was able to get the full error logged in sandbox.log :+1: Shall I open a ticket to fix this (if it can be), or is it already a known issue? For reference, this is the error I got that was too large for the response:

18:35:01.890 [sandbox-akka.actor.default-dispatcher-6] INFO  c.d.p.a.s.ApiSubmissionService - Submission of command rejected: INVALID_ARGUMENT: Command interpretation error in LF-DAMLe: Interpretation error: Error: User abort: ctrl must be part of ctrls.. Details: Last location: [DA.Internal.Assert:19], partial transaction: root node NodeId(10): NodeExercises(AbsoluteContractId(000d8f54e1a7cf8534951b2ec7c17b7396838b87f6138862c22ed4e5ca1b6ebc60),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset.Settlement:AssetSettlementRule,AssetSettlement_Debit,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),false,TreeSet(CB),VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset.Settlement:AssetSettlement_Debit),ImmArray((Some(depositCid),ValueContractId(AbsoluteContractId(00504a09deae6187c683b60706307536cb31af9d77fc606d187702bddd26d21330)))))),TreeSet(CB, CCP),TreeSet(CB),TreeSet(CB),ImmArray(NodeId(11),NodeId(12)),Some(VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Asset),ImmArray((Some(id),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(CHF)),(Some(version),ValueInt64(0))))),(Some(quantity),ValueNumeric(478308.0000000000)))))),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(CCP@CB)),(Some(version),ValueInt64(0))))),TreeSet(CB)))), node NodeId(11): NodeFetch(AbsoluteContractId(00504a09deae6187c683b60706307536cb31af9d77fc606d187702bddd26d21330),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset:AssetDeposit,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(CB)),TreeSet(CB),TreeSet(CB, CCP),None), node NodeId(12): NodeExercises(AbsoluteContractId(00504a09deae6187c683b60706307536cb31af9d77fc606d187702bddd26d21330),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset:AssetDeposit,Archive,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),true,TreeSet(CB),VersionedValue(ValueVersion(6),ValueRecord(Some(d14e08374fc7197d6a0de468c968ae8ba3aadbf9315476fd39071831f5923662:DA.Internal.Template:Archive),ImmArray())),TreeSet(CB, CCP),TreeSet(CB),TreeSet(CB),ImmArray(),Some(VersionedValue(ValueVersion(6),ValueUnit)),None), root node NodeId(4): NodeExercises(AbsoluteContractId(00c551b74082cf889787cd404373ea35fdbbe37f869ae36b1aa08b7944afb058a0),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Dvp:Dvp,Archive,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),true,TreeSet(BANK, CCP),VersionedValue(ValueVersion(6),ValueRecord(Some(d14e08374fc7197d6a0de468c968ae8ba3aadbf9315476fd39071831f5923662:DA.Internal.Template:Archive),ImmArray())),TreeSet(BANK, CCP),TreeSet(BANK, CCP),TreeSet(BANK, CCP),ImmArray(),Some(VersionedValue(ValueVersion(6),ValueUnit)),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7:DA.Types:Tuple2),ImmArray((Some(_1),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),(Some(_2),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(d773cc99-SELL-CSGN.S)),(Some(version),ValueInt64(0)))))))),TreeSet(BANK, CCP)))), root node NodeId(6): NodeFetch(AbsoluteContractId(00f5076020a72db1b2e8c7ee06f7177309e80501d341a0b79cc590f0dff1f3d135),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.SettlementInstruction:SettlementInstruction,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(BANK, CCP)),TreeSet(BANK, CCP),TreeSet(BANK, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7:DA.Types:Tuple3),ImmArray((Some(_1),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),(Some(_2),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(d773cc99-SELL-CSGN.S)),(Some(version),ValueInt64(0))))),(Some(_3),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(CHF)),(Some(version),ValueInt64(0)))))))),TreeSet(BANK, CCP)))), root node NodeId(1): NodeFetch(AbsoluteContractId(00ecb43ff9f4243674b3da7623e48fa9df541e3df61ce506d12ef6c089ef40f39c),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Dvp.Settlement:DvpSettlementRule,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(BANK, CCP)),TreeSet(BANK, CCP),TreeSet(BANK, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),TreeSet(BANK, CCP)))), root node NodeId(13): NodeFetch(AbsoluteContractId(00216ea74cec3cb364b1351a58d95a337eb3c66d5266029887d30be7fcabefe2bf),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset.Settlement:AssetSettlementRule,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(CB, CCP)),TreeSet(CB),TreeSet(BANK, CB, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(BANK@CB)),(Some(version),ValueInt64(0))))),TreeSet(CB)))), root node NodeId(3): NodeFetch(AbsoluteContractId(00c551b74082cf889787cd404373ea35fdbbe37f869ae36b1aa08b7944afb058a0),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Dvp:Dvp,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(BANK, CCP)),TreeSet(BANK, CCP),TreeSet(BANK, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7:DA.Types:Tuple2),ImmArray((Some(_1),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),(Some(_2),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(d773cc99-SELL-CSGN.S)),(Some(version),ValueInt64(0)))))))),TreeSet(BANK, CCP)))), root node NodeId(5): NodeCreate(AbsoluteContractId(00c2dc610b2ccf626bb82af49885351f59d68661f8afa90e04ec8bc9637edc0778),ContractInst(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Dvp:Dvp,VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Dvp:Dvp),ImmArray((Some(masterAgreement),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:MasterAgreement),ImmArray((Some(id),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),(Some(party1),ValueParty(BANK)),(Some(party2),ValueParty(CCP))))),(Some(tradeId),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(d773cc99-SELL-CSGN.S)),(Some(version),ValueInt64(0))))),(Some(buyer),ValueParty(CCP)),(Some(status),ValueEnum(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Trade.Types:SettlementStatus),SettlementStatus_Settled)),(Some(settlementDate),ValueOptional(None)),(Some(payments),ValueList(FrontStack(ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Asset),ImmArray((Some(id),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(CHF)),(Some(version),ValueInt64(0))))),(Some(quantity),ValueNumeric(478308.0000000000))))))),(Some(deliveries),ValueList(FrontStack(ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Asset),ImmArray((Some(id),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CSD,ValueUnit))))))),(Some(label),ValueText(CSGN.S)),(Some(version),ValueInt64(0))))),(Some(quantity),ValueNumeric(51990.0000000000))))))),(Some(observers),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList())))))))),),Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),TreeSet(BANK, CCP),TreeSet(BANK, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(40f452260bef3f29dede136108fc08a88d5a5250310281067087da6f0baddff7:DA.Types:Tuple2),ImmArray((Some(_1),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(MasterAgreement between BANK and CCP)),(Some(version),ValueInt64(0))))),(Some(_2),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((BANK,ValueUnit),(CCP,ValueUnit))))))),(Some(label),ValueText(d773cc99-SELL-CSGN.S)),(Some(version),ValueInt64(0)))))))),TreeSet(BANK, CCP)))), root node NodeId(8): NodeFetch(AbsoluteContractId(000d8f54e1a7cf8534951b2ec7c17b7396838b87f6138862c22ed4e5ca1b6ebc60),3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Asset.Settlement:AssetSettlementRule,Some(Location(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8,DA.Internal.Prelude,$u002b$u002b,(380,25),(380,27))),Some(TreeSet(CCP)),TreeSet(CB),TreeSet(CB, CCP),Some(KeyWithMaintainers(VersionedValue(ValueVersion(6),ValueRecord(Some(3a40d365c41e3d5634a155fb1a4caf5e650e6781275f43bf3702602da02aea23:DA.Finance.Types:Id),ImmArray((Some(signatories),ValueRecord(Some(c08d2403f35a02789f9fb516d21d1222a3c1f9b4a9e637827c4fb04c8de0bda8:DA.Next.Set:Set),ImmArray((Some(textMap),ValueTextMap(SortedLookupList((CB,ValueUnit))))))),(Some(label),ValueText(CCP@CB)),(Some(version),ValueInt64(0))))),TreeSet(CB)))). (context: {commandId=f897b758-e31b-4889-979e-2796409ca286, parties=[CCP]}) 
1 Like

I’ve already linked the issue above: Sandbox: Header size exceeded max allowed size · Issue #5738 · digital-asset/daml · GitHub

1 Like

Ah, missed that :ok_hand:

1 Like

I also faced the same issue with 1.1.1, however updating to 1.4.0 did the trick. Thanks for the great tip @cocreature!

1 Like

Got the same error here for “Header size exceeded max allowed size (8192)”, we know the cause is because we are using many parties for our jwt token which creates a massive header. Is there a way to tweak the maximum header size from the default 8K? We need to be able to submit transactions with that many parties.

I recommend to instead switch to user management. That way your token only needs to list the user but you can have up to 10k rights to various parties in there.

1 Like