In some cases with unconnected classes, attempting to unstub a stubbed
object may encounter the error "Message not understood - instancesAreForwarders".
This bug is exposed by bug 40703, the Singletrip traversal fixes, introduced
the GemStone/S 64 Bit version 2.4.4 server release.
Creating class connectors for all classes will avoid this bug.
The following method change in GBS 7.3 fixes the problem:
GbxObjectReplication >> updateTypeOfClientObject "Make an existing stub into a replicate or forwarder if appropriate." clientObject zzzisStub ifTrue: [currentReport isHeaderOnly ifFalse: [self delegate nowExported. "Server has added to export set if full report" clientObject unstubEmptyFromReport: currentReport class: clientClass inSession: session. ^self]. "Class of header-only report may not be mapped if clientObject is an UnknownStub" (clientClass ~~ notCachedToken and: [clientClass instancesAreForwarders]) ifTrue: ["Header-only report for stub which needs to become a forwarder and be identity clamped." "This can happen. If an unknown stub is created from a header-only report for an instance of an unmapped class. If the class is later mapped, and the client class answers true to #instancesAreForwarders, the class will get added to the class clamps. All subsequent reports will then be header-only, and should result in the stub becoming a forwarder." clientObject asForwarder]]
Last updated: 7/1/10