Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deeply nested ServerTimestamps cause StackOverflowError #4702

Closed
sk-takahiro-kurebayashi opened this issue Feb 21, 2023 · 10 comments
Closed

Comments

@sk-takahiro-kurebayashi
Copy link
Contributor

[REQUIRED] Step 2: Describe your environment

  • Android Studio version: Android Studio Electric Eel | 2022.1.1 Patch 1
  • Firebase Component: Firestore
  • Component version: 24.4.0, 24.4.3

[REQUIRED] Step 3: Describe the problem

Steps to reproduce:

  1. Disconnect from the Internet.
  2. Launch my app.
  3. Write a Document containing a field having @ServerTimestamp annotation by “Set” operation with “merge” option.
  4. Repeat step 3 many times (some hundreds).
  5. SQLiteDocumentOverlayCache#saveOverlay or decodeOverlay throws StackOverflowError while serializing/deserializing nested "ServerTimestamp" (MapValue) objects.

Relevant Code:

IMHO, no need to keep nested previous value of "ServerTimestamp" object. And, just the oldest value is needed.
So, below patch resolves "deeply nested ServerTimestamp". But, saved overlay causes StackOverflow when it is parsed.

diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/model/ServerTimestamps.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/model/ServerTimestamps.java
index 7ae19eadc..ef7b547fd 100644
--- a/firebase-firestore/src/main/java/com/google/firebase/firestore/model/ServerTimestamps.java
+++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/model/ServerTimestamps.java
@@ -62,8 +62,9 @@ public final class ServerTimestamps {
             .putFields(TYPE_KEY, encodedType)
             .putFields(LOCAL_WRITE_TIME_KEY, encodeWriteTime);
 
-    if (previousValue != null) {
-      mapRepresentation.putFields(PREVIOUS_VALUE_KEY, previousValue);
+    Value actualPreviousValue = previousValue == null ? null : getPreviousValue(previousValue);
+    if (actualPreviousValue != null) {
+      mapRepresentation.putFields(PREVIOUS_VALUE_KEY, actualPreviousValue);
     }
 
     return Value.newBuilder().setMapValue(mapRepresentation).build();
@argzdev
Copy link
Contributor

argzdev commented Feb 21, 2023

Hi @sk-takahiro-kurebayashi, thanks for reporting. Any chance you could share us a code snippet or minimal repro of your issue? It'll help us a lot.

@sk-takahiro-kurebayashi
Copy link
Contributor Author

@argzdev I tried to reproduce the situation raising StackOverflowError on local unit test ( SQLiteLocalStoreTest.java ).

  @Test
  public void testDeeplyNestedServerTimestamps() {
    Timestamp timestamp = Timestamp.now();
    Value initialServerTimestamp = ServerTimestamps.valueOf(timestamp, null);
    Map<String, Value> fields = new HashMap<String, Value>() {{
      put("timestamp", ServerTimestamps.valueOf(timestamp, initialServerTimestamp));
    }};
    FieldPath path = FieldPath.fromSingleSegment("timestamp");
    FieldMask mask = FieldMask.fromSet(new HashSet<FieldPath>() {{ add(path); }});
    FieldTransform fieldTransform = new FieldTransform(path, ServerTimestampOperation.getInstance());
    List<FieldTransform> fieldTransforms = new ArrayList<FieldTransform>() {{ add(fieldTransform); }};
    AtomicReference<Throwable> error = new AtomicReference<>();
    Thread thread = new Thread(Thread.currentThread().getThreadGroup(), () -> {
      try {
        for (int i = 0; i < 10000; ++i) {
          writeMutation(new PatchMutation(DocumentKey.fromPathString("some/object/for/test"), ObjectValue.fromMap(fields), mask, Precondition.NONE, fieldTransforms));
        }
      } catch (Throwable e) {
        error.set(e);
      }
    }, "test", 1024 * 1024);
    try {
      thread.start();
      thread.join();
    } catch (InterruptedException e) {
      throw new AssertionError(e);
    }
    assertThat(error.get()).isNull();
  }

This unit test fails with below output.

expected: null
but was : java.lang.StackOverflowError
expected: null
but was : java.lang.StackOverflowError
	at com.google.firebase.firestore.local.SQLiteLocalStoreTest.testDeeplyNestedServerTimestamps(SQLiteLocalStoreTest.java:343)
Caused by: java.lang.StackOverflowError
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)
	at com.google.protobuf.FieldSet.computeElementSize(FieldSet.java:819)
	at com.google.protobuf.MapEntryLite.computeSerializedSize(MapEntryLite.java:115)
	at com.google.protobuf.MapEntryLite.computeMessageSize(MapEntryLite.java:159)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSizeLite(MapFieldSchemaLite.java:104)
	at com.google.protobuf.MapFieldSchemaLite.getSerializedSize(MapFieldSchemaLite.java:90)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2450)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:370)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:340)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:882)
	at com.google.protobuf.CodedOutputStream.computeMessageSize(CodedOutputStream.java:670)
	at com.google.protobuf.SchemaUtil.computeSizeMessage(SchemaUtil.java:675)
	at com.google.protobuf.MessageSchema.getSerializedSizeProto3(MessageSchema.java:2506)
	at com.google.protobuf.MessageSchema.getSerializedSize(MessageSchema.java:1461)
	at com.google.protobuf.GeneratedMessageLite.computeSerializedSize(GeneratedMessageLite.java:367)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:353)
	at com.google.protobuf.GeneratedMessageLite.getSerializedSize(GeneratedMessageLite.java:362)
	at com.google.protobuf.CodedOutputStream.computeMessageSizeNoTag(CodedOutputStream.java:877)
	at com.google.protobuf.FieldSet.computeElementSizeNoTag(FieldSet.java:877)

This stack-trace is shorten by too deep stack. If you might want to see more deeply, would you change stack size of Thread (currently set as 1024KB) like 1024 * 128.

@ehsannas
Copy link
Contributor

Thanks @sk-takahiro-kurebayashi . This is very helpful. I'll look into this issue

@ehsannas ehsannas self-assigned this Feb 22, 2023
@ehsannas
Copy link
Contributor

Hi @sk-takahiro-kurebayashi , thank you for your thorough investigation. I've reviewed your suggested fix and test, and I think it's the right way forward. Would you like to make a pull-request and contribute to the project? :)

Since you've done all the leg work, we'd love to have your name on it! If not, let me know and I'll do the pull-request.

@sk-takahiro-kurebayashi
Copy link
Contributor Author

Hi @ehsannas, thank you for your consideration. I have made a new pull-request as #4715. Currently, pr-message check is blocking other automatic checkes. I need your help to resolve pr-message check. What I should do to be merge ready?

@ehsannas
Copy link
Contributor

Thanks @sk-takahiro-kurebayashi , nothing else is needed by your side. I'll do a code review and let you know if there's any action needed by you. Thanks.

@sk-takahiro-kurebayashi
Copy link
Contributor Author

Hi @ehsannas, thank you for your help!

ehsannas added a commit that referenced this issue Mar 8, 2023
* Adds a new test of StackOverflowError caused by deeply nested ServerTimestamps

See: #4702

* Keeps just only oldest previous value.

Omit history of server-timestamps to fix StackOverflowError.

See: #4702

* Fix formatting.

* Add changelog.

---------

Co-authored-by: Ehsan Nasiri <[email protected]>
@ehsannas
Copy link
Contributor

ehsannas commented Mar 8, 2023

Fixed by #4715

@ehsannas
Copy link
Contributor

Reopening until the new PR lands (#4771)

@ehsannas ehsannas reopened this Mar 13, 2023
@firebase firebase locked and limited conversation to collaborators Apr 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants