Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4737803
Votes 0
Synopsis Renderable composite does not work with Remote Imaging
Category jai:implementation
Reported Against 1.1.2-dev
Release Fixed
State 3-Accepted, bug
Priority: 3-Medium
Related Bugs
Submit Date 27-AUG-2002
Description
The attached program which performs Renderable composite with Remote Imaging across two servers hangs.
Work Around
N/A
Evaluation
---- START ----   xxxxx@xxxxx   2002-08-27 ----

This bug is related to RMIServerProxy not checking the parameters of an operation to see if any of them are images, in the renderable mode. In the rendered mode, RMIServerProxy checks the parameter block for the presence of any images, and if any are present, it either replaces them with serializable wrappers or with pointers to the corresponding remote object on the server. (RMIServerProxy: Line 211)

However in the Renderable mode, the RMIServerProxy constructor does not examine the parameter block for the presence of any images, and thus these cannot be dealt with correctly (RMIServerProxy: Lines 516 through 522). I believe this is what is causing the program to hang, though more investigation is required to pinpoint the exact line of code where the program is hanging and understand this behavior. Note that one of the reasons the RMIServerProxy constructor does not replace the images in the operation's parameter block is that this causes problems with the "renderable" operator, which is one of the most common operations used in renderable mode. The problem is that replacing the image (downSampler RenderedOp in the case of the "renderable" operator) would cause the RenderedOp to be rendered on the client and then serialized, which is not what should happen. The RenderedOp should be instantiated on the server instead. One solution that was brought up was to check whether the RenderedOp in the ParameterBlock has sufficient sources, if it does, serialize it, if not, instantiate it on the other side (Note that the downSampler RenderedOp does not have its sources set, this is done only when a rendering is requested). This solution could solve this problem and should be implemented after further investigation.

However the second problem is that there doesn't seem to be any obvious mechanism to replace RemoteRenderableOps that are created on the client, if these are parameters in the ParameterBlock. This is due to the fact that a RemoteRenderableOp does not keep any pointer to the RenderableOp that is created corresponding to it on the server. This issue needs to be further examined.

---- END ----   xxxxx@xxxxx   2002-08-27 ----
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang