[Glass] error upgrading stone: become is not allowed
Johan Brichau via Glass
glass at lists.gemtalksystems.com
Thu Apr 27 10:56:49 PDT 2017
Final info: when I remove the instance before starting the upgrade process, all works fine.
As the instance was only persistent because it was on the object log, I don’t need to try to keep it.
> On 27 Apr 2017, at 17:48, Johan Brichau <johan at yesplan.be> wrote:
>
> A bit more info… I did a lookup of the oops mentioned in the call of become:
>
> In the source 2.4 extent:
> The receiver object with oop 4489369089 does not exist
> The argument object with oop 148062465 is an instance of NPGsFileWrapper
>
> In the destination 3.2 extent (following the failed bulk migrate after application load):
> The receiver object with oop 4489369089 is an object anArray( #'switch')
> The argument object with oop 148062465 is still that instance of NPGsFileWrapper
>
> When I executed: SystemRepository findReferencePathToObject: (Object _objectForOop: 4489369089), I got:
> a ArgumentError occurred (error 2027), A committed object was expected rather than object anArray( #'switch'), which is either special or uncommitted.
>
>> On 27 Apr 2017, at 17:22, Johan Brichau <johan at yesplan.be> wrote:
>>
>> Hi,
>>
>> In the conversion of a Gemstone 2.4.4.1 stone to Gemstone 3.2, I hit an error in the final step when loading our application code:
>>
>> a ImproperOperation occurred (error 2426), become is not allowed on aNPGsFileWrapper, 'One object is a GsFile or RubySocket while the other is neither'
>> Error Category: 231169 [GemStone] Number: 2426 Arg Count: 2 Context : 1906733569 exception : 4489410561
>>
>> We indeed have a subclass of GsFile, called NPGsFileWrapper
>> Migrating the instances on application load seems to wrong, though both the old and new class are ‘NPGsFileWrapper’ (see stack context of the invocation of become: below)
>>
>> 5 NPGsFileWrapper (Object) >> become: @4 line 112 [methId 59070977]
>> receiver [4489369089 sz:6 cls: 4487621633 NPGsFileWrapper] aNPGsFileWrapper
>> anObject [148062465 sz:4 cls: 6802930945 NPGsFileWrapper] aNPGsFileWrapper
>> self [4489369089 sz:6 cls: 4487621633 NPGsFileWrapper] aNPGsFileWrapper
>> prot [10 sz:0 cls: 74241 SmallInteger] 1 == 0x1
>>
>> Any way to circumvent this issue in the upgrade?
>> Or do we need to move away from having instances of classes that are subclasses of GsFile before we attempt to upgrade?
>>
>> thx
>> Johan
>
More information about the Glass
mailing list