My Oracle Support Banner

PDF Report Output Fails with REP-56048 or REP-536874228 when Using a GIF Image (Doc ID 987009.1)

Last updated on MAY 12, 2023

Applies to:

Oracle Reports Developer - Version 12.2.1.4.0 and later
Oracle Forms for OCI - Version 12.2.1.4.0 and later
Information in this document applies to any platform.

Symptoms

Running a PDF report that includes a GIF image file in the Layout Model and using the Oracle Reports parameter "outputimageformat=gif" is causing the report engine to crash (REP-56048) or to display REP-536874228 error message:

Example:
http://<hostname>:<port>/reports/rwservlet?server=<reports_server_name>&paramform=no&report=<report_name>.rdf&destype=cache&desformat=pdf&outputimageformat=gif&userid=<userid>/<password>@<tns_alias>
REP-56048: Engine rwEng-0 crashed., job Id

or


REP-536874228 : Internal error writing the image BandCombine: a row of the matrix does not have the correct number of entries, should be OpImage.getExpandedNumBands(source0.getSampleModel(), source0.getColorModel()) + 1.

Supplemental Detail REP-50125: An internal exception occurred: java.lang.NullPointerException.
REP-0002: Unable to retrieve a string from the Report Builder message file.
REP-536874228:

oracle.reports.RWException: IDL:oracle/reports/RWException:1.0
at oracle.reports.engine.EngineImpl.run(EngineImpl.java:553)
at oracle.reports.engine.EngineClassPOA._invoke(EngineClassPOA.java:104)
at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:637)
at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1682)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1213)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)


After enabling Reports trace, the following trace information is the last information recorded before the report engine crashes:
rwserver_diagnostic.log (Reports Server Trace file)
[2010-01-05T08:55:12.521-05:00] ... ConnectionImpl:runJob  Job queue for jobid = 117 is 0
[2010-01-05T08:55:12.522-05:00] ... ConnectionImpl:runJob  jobid = 117 is in current queue
[2010-01-05T08:55:12.522-05:00] ... ConnectionImpl:runJob  Calling findDuplicatedJob for jobid = 117
[2010-01-05T08:55:12.523-05:00] ... JobManager:findDuplicatedJob  Found no duplicated job for job 117
[2010-01-05T08:55:12.523-05:00] ... ConnectionImpl:runJob  No Duplicate jobs for jobid = 117
[2010-01-05T08:55:12.523-05:00] ... ConnectionImpl:runJob  Job 117 is Enqueued
[2010-01-05T08:55:12.523-05:00] ... JobManager:firstToRun  job 117 is first to run
[2010-01-05T08:55:12.524-05:00] ... JobManager.runJobLocal  Trying to get engine for Job 117
[2010-01-05T08:55:12.524-05:00] ... EngineManager:getIdleEngine  Target max engines = 2
[2010-01-05T08:55:12.524-05:00] ... EngineManager:getIdleEngine  rwEng-0 is used = true
[2010-01-05T08:55:12.524-05:00] ... EngineManager:getIdleEngine  rwEng-0 state is 1
[2010-01-05T08:55:12.524-05:00] ... EngineInfo:setState  Engine rwEng-0 state is: Reserved
[2010-01-05T08:55:12.525-05:00] ... JobManager.runJobLocal  Job 117 got Engine rwEng-0
[2010-01-05T08:55:12.525-05:00] ... JobManager:runJobInEngine  Job 117 calling setCommand on engine rwEng-0
[2010-01-05T08:55:12.534-05:00] ... EngineManager:updateEngineState  Engine rwEng-0 status is 3
[2010-01-05T08:55:12.534-05:00] ... EngineInfo:setState  Engine rwEng-0 state is: Running
[2010-01-05T08:55:12.546-05:00] ... EngineManager:updateEngineState  Engine rwEng-0 status is 5
[2010-01-05T08:55:12.547-05:00] ... EngineInfo:setState  Engine rwEng-0 state is: Idle
[2010-01-05T08:55:12.549-05:00] ... JobManager:runJobInEngine  Send job 117 to engine rwEng-0
[2010-01-05T08:55:12.553-05:00] ... EngineManager:updateEngineState  Engine rwEng-0 status is 3
[2010-01-05T08:55:12.553-05:00] ... EngineInfo:setState  Engine rwEng-0 state is: Running
[2010-01-05T08:55:12.821-05:00] ... JobManager:updateJobStatus  Job 117 status is: Report Report execution is initialized. is running.
[2010-01-05T08:55:12.821-05:00] ... JobManager:updateJobStatus  Finished updating job: 117
[2010-01-05T08:55:13.724-05:00] ... JobManager:updateJobStatus  Job 117 status is: Report Page 1 is formatting. is running.
[2010-01-05T08:55:13.725-05:00] ... JobManager:updateJobStatus  Finished updating job: 117
[2010-01-05T08:55:23.368-05:00] ... REP-50125 : org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe  [[
org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectionAbort(ORBUtilSystemException.java:2400)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectionAbort(ORBUtilSystemException.java:2418)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readBits(SocketOrChannelConnectionImpl.java:354)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.handleEvent(SocketOrChannelConnectionImpl.java:1124)
at com.sun.corba.se.impl.transport.SelectorImpl.run(SelectorImpl.java:288)
Caused by: org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 211  completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.ioexceptionWhenReadingConnection(ORBUtilSystemException.java:2484)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.ioexceptionWhenReadingConnection(ORBUtilSystemException.java:2502)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPHeader(MessageBase.java:116)
at com.sun.corba.se.impl.transport.CorbaContactInfoBase.createMessageMediator(CorbaContactInfoBase.java:150)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readBits(SocketOrChannelConnectionImpl.java:314)
... 2 more
Caused by: java.io.IOException: End-of-stream
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.readFully(SocketOrChannelConnectionImpl.java:602)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:521)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.readGIOPHeader(MessageBase.java:112)
rwEng-0_diagnostic.log (Reports Engine Trace file)
[2010-01-05T08:55:20.093-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] Branch:colorStore   End 
[2010-01-05T08:55:20.093-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] Branch:colorStore   End 
[2010-01-05T08:55:20.093-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] Branch:colorStore   End 
[2010-01-05T08:55:20.093-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] Branch:colorStore   End 
[2010-01-05T08:55:20.094-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] Branch:colorStore   End 
[2010-01-05T08:55:20.258-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] ImageView:createOutputImage   END 
[2010-01-05T08:55:20.258-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] ColorReducer:processImage   END [I@xxxxx
[2010-01-05T08:55:20.258-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFImageWriter:writeImage   Reduce the color in image to 256
[2010-01-05T08:55:20.294-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFImageWriter:writeImage   Convert it in to java image
[2010-01-05T08:55:20.294-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFImageWriter:writeImage   New Image created sun.awt.image.ToolkitImage@xxxxxx
[2010-01-05T08:55:21.634-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] ImageSource:setConvertedImage   Start 1
[2010-01-05T08:55:21.635-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFParser:parseImage  parsing the Image Stream
[2010-01-05T08:55:21.635-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFParser:parseImage  Extracting the Global Color Table for the Image
[2010-01-05T08:55:21.635-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFParser:parseImageSeparatorBlock  Parsing the Image Separator Block
[2010-01-05T08:55:21.635-05:00] ... [EngineName: rwEng-0] [SRC_METHOD: writeln] GIFParser:parseImageSeparatorBlock  Quit
If running the same report with desformat=HTML, then it runs fine.
If running the same report with desformat=PDF but no outputimageformat=gif parameter, then it fails with the following error:
REP-536870981: Internal error writing the image BandCombine: a row of the matrix does not have the correct number of entries, should be OpImage.getExpandedNumBands(source0.getSampleModel(), source0.getColorModel()) + 1.
REP-50125: An internal exception occurred: java.lang.NullPointerException.
REP-0002: Unable to retrieve a string from the Report Builder message file.
REP-536870981: 
** Different jvmOptions parameter values for the Reports Engine were tested, but the behavior was the same.

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.