NumberFormatException при getMailMerge().execute


#1

Добрый день.

Мы готовим документ выгрузки с большим количеством данных, при вызове метода
mainTemplate.getMailMerge().execute() память и приложение зависает и после выкидывает

java.lang.OutOfMemoryError: GC overhead limit exceeded
	at com.aspose.words.zzZLW.zzW1(Unknown Source)
	at com.aspose.words.zzZLW.zzW2(Unknown Source)
	at com.aspose.words.zzZLR.zzW(Unknown Source)
	at com.aspose.words.zzZLZ.zzS(Unknown Source)
	at com.aspose.words.zzZLY.zzZ(Unknown Source)
	at com.aspose.words.zzVZ.zzZ(Unknown Source)
	at com.aspose.words.zzYZ6.zzZ(Unknown Source)
	at com.aspose.words.zzX.zzY(Unknown Source)
	at com.aspose.words.zzX.zzQ(Unknown Source)
	at com.aspose.words.zzVZ.zzZ(Unknown Source)
	at com.aspose.words.zzYZ6.zzZ(Unknown Source)
	at com.aspose.words.zzXK.zztA(Unknown Source)
	at com.aspose.words.zzXK.zzY(Unknown Source)
	at com.aspose.words.zzZ8A.zzZvi(Unknown Source)
	at com.aspose.words.zzZ8A.zzS(Unknown Source)
	at com.aspose.words.zzZ7M.zzJ(Unknown Source)
	at com.aspose.words.zzYX7.zzn(Unknown Source)
	at com.aspose.words.zz99.zzJ(Unknown Source)
	at com.aspose.words.zz9A.zz5g(Unknown Source)
	at com.aspose.words.zzZN0.zzZ(Unknown Source)
	at com.aspose.words.Document.updatePageLayout(Unknown Source)
	at com.aspose.words.zz4L.perform(Unknown Source)
	at com.aspose.words.zz4M.zzMb(Unknown Source)
	at com.aspose.words.zz1M.zzYY(Unknown Source)
	at com.aspose.words.zz1M.zzZ(Unknown Source)
	at com.aspose.words.zz1M.zzZG(Unknown Source)
	at com.aspose.words.Range.updateFields(Unknown Source)
	at com.aspose.words.Document.updateFields(Unknown Source)

Посмотрели потребление памяти:
image.png (7.6 KB)

Дебагом заметили, что огромное количество(от 3Gb до 6Gb) ошибок NumberFormatException выкидывает метод
FieldFormat#zzZ(zzWA var1,String[] var2), который почему-то пытается все значения переменной var2 прогнать через BigDecimal.

Документ имеет поля:

{ MERGEFIELD Column1 * MERGEFORMAT}

Хотелось бы узнать, почему все значения полей проходят через BigDecimal, хотя значения полей все String? Когда можно будет ждать исправления и в какой версии? Что необходимо сделать чтобы данная ситуация не воспроизводилась?

Увеличение памяти не помогает, т.к. данных огромное количество, при этом Apache POI с этим количеством справляется.
Java 8 (181)
Aspose-words 18.2


#2

@napronice

o обеспечить своевременный и точный ответ, пожалуйста, приложите следующие ресурсы для тестирования:

  • Ваш входной документ Word.
  • Пожалуйста, приложите выходной файл Word, который показывает нежелательное поведение.
  • Пожалуйста, приложите ожидаемый выходной файл Word, который показывает желаемое поведение.
  • Пожалуйста, создайте простое Java-приложение (исходный код без ошибок компиляции), которое поможет нам воспроизвести вашу проблему с нашей стороны, и приложите его здесь для тестирования

Как только вы подготовите эти данные, мы начнем расследование вашей проблемы и предоставим вам дополнительную информацию. Спасибо за ваше сотрудничество.

PS: Чтобы прикрепить эти ресурсы, пожалуйста, заархивируйте и загрузите их.