alexandredavi opened a new issue, #8093:
URL: https://github.com/apache/camel-quarkus/issues/8093
### Bug description
My reference code is:
```java
definition
.process(new MergePdfFilesHeadersProcessor())
.to("pdf:merge")
.process(new MergePdfFilesOutputProcessor());
```
I am able to run the code but while creating the native image it will come
up with below error message.
```
Error: Unsupported features in 3 methods
Detailed message:
Error: An object of type 'java.awt.color.ICC_ColorSpace' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.color.ICC_ColorSpace'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.color.ICC_ColorSpace' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
------------------------------------------------------------------------------------------------------------------------
'--trace-object-instantiation=java.awt.color.ICC_ColorSpace'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.CIEXYZ
at
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:102)
parsing method
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:90)
reachable via the parsing context
at static root method.(Unknown Source)
Error: An object of type 'java.awt.image.ColorConvertOp' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.ColorConvertOp'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.ColorConvertOp'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.ColorConvertOp' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.ColorConvertOp'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.ColorConvertOp' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
reading field
org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.colorConvertOp of
constant
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK@47c593d9:
DeviceCMYK
reading static field
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK.INSTANCE
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:199)
parsing method
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:190)
reachable via the parsing context
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processOperator(PDDefaultAppearanceString.java:133)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processAppearanceStringOperators(PDDefaultAppearanceString.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.<init>(PDDefaultAppearanceString.java:87)
at
org.apache.pdfbox.pdmodel.interactive.form.PDVariableText.getDefaultAppearanceString(PDVariableText.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.<init>(AppearanceGeneratorHelper.java:117)
at
org.apache.pdfbox.pdmodel.interactive.form.PDListBox.constructAppearances(PDListBox.java:85)
at
org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm.refreshAppearances(PDAcroForm.java:344)
at
org.apache.pdfbox.pdmodel.fixup.processor.AcroFormGenerateAppearancesProcessor.process(AcroFormGenerateAppearancesProcessor.java:52)
at
org.apache.pdfbox.pdmodel.fixup.AcroFormDefaultFixup.apply(AcroFormDefaultFixup.java:56)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:132)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:113)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeAcroForm(PDFMergerUtility.java:1226)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:542)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:471)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:367)
at
org.apache.camel.component.pdf.PdfProducer.doMerge(PdfProducer.java:99)
at root method.(Unknown Source)
Error: An object of type 'java.awt.image.DirectColorModel' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.DirectColorModel'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.DirectColorModel'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.DirectColorModel' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.DirectColorModel'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.DirectColorModel' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.rendering.SoftMask.ARGB_COLOR_MODEL
at org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48)
parsing method
org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48) reachable via
the parsing context
at static root method.(Unknown Source)
com.oracle.svm.core.util.UserError$UserException: Unsupported features in 3
methods
Detailed message:
Error: An object of type 'java.awt.color.ICC_ColorSpace' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.color.ICC_ColorSpace'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.color.ICC_ColorSpace' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.color.ICC_ColorSpace'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.CIEXYZ
at
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:102)
parsing method
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:90)
reachable via the parsing context
at static root method.(Unknown Source)
Error: An object of type 'java.awt.image.ColorConvertOp' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.ColorConvertOp'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.ColorConvertOp'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.ColorConvertOp' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.ColorConvertOp'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.ColorConvertOp' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
reading field
org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.colorConvertOp of
constant
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK@47c593d9:
DeviceCMYK
reading static field
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK.INSTANCE
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:199)
parsing method
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:190)
reachable via the parsing context
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processOperator(PDDefaultAppearanceString.java:133)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processAppearanceStringOperators(PDDefaultAppearanceString.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.<init>(PDDefaultAppearanceString.java:87)
at
org.apache.pdfbox.pdmodel.interactive.form.PDVariableText.getDefaultAppearanceString(PDVariableText.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.<init>(AppearanceGeneratorHelper.java:117)
at
org.apache.pdfbox.pdmodel.interactive.form.PDListBox.constructAppearances(PDListBox.java:85)
at
org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm.refreshAppearances(PDAcroForm.java:344)
at
org.apache.pdfbox.pdmodel.fixup.processor.AcroFormGenerateAppearancesProcessor.process(AcroFormGenerateAppearancesProcessor.java:52)
at
org.apache.pdfbox.pdmodel.fixup.AcroFormDefaultFixup.apply(AcroFormDefaultFixup.java:56)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:132)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:113)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeAcroForm(PDFMergerUtility.java:1226)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:542)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:471)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:367)
at
org.apache.camel.component.pdf.PdfProducer.doMerge(PdfProducer.java:99)
at root method.(Unknown Source)
Error: An object of type 'java.awt.image.DirectColorModel' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.DirectColorModel'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.DirectColorModel'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.DirectColorModel' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.DirectColorModel'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.DirectColorModel' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.rendering.SoftMask.ARGB_COLOR_MODEL
at org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48)
parsing method
org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48) reachable via
the parsing context
at static root method.(Unknown Source)
at
org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:248)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:814)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)
Caused by:
com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported
features in 3 methods
Detailed message:
Error: An object of type 'java.awt.color.ICC_ColorSpace' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.color.ICC_ColorSpace'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.color.ICC_ColorSpace' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.color.ICC_ColorSpace'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.color.ICC_ColorSpace' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.CIEXYZ
at
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:102)
parsing method
org.apache.pdfbox.pdmodel.graphics.color.PDCIEDictionaryBasedColorSpace.convXYZtoRGB(PDCIEDictionaryBasedColorSpace.java:90)
reachable via the parsing context
at static root method.(Unknown Source)
Error: An object of type 'java.awt.image.ColorConvertOp' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.ColorConvertOp'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.ColorConvertOp'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.ColorConvertOp' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.ColorConvertOp'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.ColorConvertOp' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
reading field
org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.colorConvertOp of
constant
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK@47c593d9:
DeviceCMYK
reading static field
org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK.INSTANCE
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:199)
parsing method
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processSetFontColor(PDDefaultAppearanceString.java:190)
reachable via the parsing context
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processOperator(PDDefaultAppearanceString.java:133)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.processAppearanceStringOperators(PDDefaultAppearanceString.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.PDDefaultAppearanceString.<init>(PDDefaultAppearanceString.java:87)
at
org.apache.pdfbox.pdmodel.interactive.form.PDVariableText.getDefaultAppearanceString(PDVariableText.java:105)
at
org.apache.pdfbox.pdmodel.interactive.form.AppearanceGeneratorHelper.<init>(AppearanceGeneratorHelper.java:117)
at
org.apache.pdfbox.pdmodel.interactive.form.PDListBox.constructAppearances(PDListBox.java:85)
at
org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm.refreshAppearances(PDAcroForm.java:344)
at
org.apache.pdfbox.pdmodel.fixup.processor.AcroFormGenerateAppearancesProcessor.process(AcroFormGenerateAppearancesProcessor.java:52)
at
org.apache.pdfbox.pdmodel.fixup.AcroFormDefaultFixup.apply(AcroFormDefaultFixup.java:56)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:132)
at
org.apache.pdfbox.pdmodel.PDDocumentCatalog.getAcroForm(PDDocumentCatalog.java:113)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeAcroForm(PDFMergerUtility.java:1226)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.appendDocument(PDFMergerUtility.java:542)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.legacyMergeDocuments(PDFMergerUtility.java:471)
at
org.apache.pdfbox.multipdf.PDFMergerUtility.mergeDocuments(PDFMergerUtility.java:367)
at
org.apache.camel.component.pdf.PdfProducer.doMerge(PdfProducer.java:99)
at root method.(Unknown Source)
Error: An object of type 'java.awt.image.DirectColorModel' was found in the
image heap. This type, however, is marked for initialization at image run time
for the following reason: classes are initialized at run time by default.
This is not allowed for correctness reasons: All objects that are stored in
the image heap must be initialized at build time.
You now have two options to resolve this:
1) If it is intended that objects of type 'java.awt.image.DirectColorModel'
are persisted in the image heap, add
'--initialize-at-build-time=java.awt.image.DirectColorModel'
to the native-image arguments. Note that initializing new types can store
additional objects to the heap. It is advised to check the static fields of
'java.awt.image.DirectColorModel' to see if they are safe for build-time
initialization, and that they do not contain any sensitive data that should
not become part of the image.
2) If these objects should not be stored in the image heap, you can use
'--trace-object-instantiation=java.awt.image.DirectColorModel'
to find classes that instantiate these objects. Once you found such a class,
you can mark it explicitly for run time initialization with
'--initialize-at-run-time=<culprit>'
to prevent the instantiation of the object.
If you are seeing this message after enabling '--strict-image-heap', this
means that some objects ended up in the image heap without their type being
marked with --initialize-at-build-time.
To fix this, include
'--initialize-at-build-time=java.awt.image.DirectColorModel' in your
configuration. If the classes do not originate from your code, it is advised to
update all library or framework dependencies to the latest version before
addressing this error.
Please address this problem to be prepared for future releases of GraalVM.
The following detailed trace displays from which field in the code the
object was reached.
Trace: Object was reached by
trying to constant fold static field
org.apache.pdfbox.rendering.SoftMask.ARGB_COLOR_MODEL
at org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48)
parsing method
org.apache.pdfbox.rendering.SoftMask.access$000(SoftMask.java:48) reachable via
the parsing context
at static root method.(Unknown Source)
at
org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
at
org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:809)
... 6 more
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]