Characters are now primitive. There shouldn’t be any need to change Character 
serialization though.

I tried to reproduce your case and I can’t. The only way I can get the 
primitive to fail is by supplying a negative value. I suspect that the problem 
happens beforehand, so that the byte being read is now at the wrong offset. Can 
you give me a runnable example?

Cheers,
Max

> On 15 Dec 2015, at 13:18, Norbert Hartl <norb...@hartl.name> wrote:
> 
> We have a test build for pharo5 that checks if we need to do stuff for future 
> migrations. Since yesterday it fails, of course. 
> I have a fueled out object graph stored as byte array in a method. The fuel 
> bytes are serialized using a non-spur image. Now when the spur image reads 
> the bytes I get an exception. Has this something to do with immediate 
> characters? Is there a way to fix that or will it just not be possible to 
> exchange objects between spur and non-spur using fuel?
> 
> thanks,
> 
> Norbert
> 
> 
> primitive #value: in Character class failed
> Stacktrace
> 
> Character class(Object)>>primitiveFailed:
> Character class(Object)>>primitiveFailed
> Character class>>value:
> Character class>>materializeFrom:
> FLHookPrimitiveCluster>>materializeInstanceWith:
> FLHookPrimitiveCluster(FLIteratingCluster)>>materializeInstancesStepWith:
> FLMaterialization>>clusterInstancesStep
> [ self clusterInstancesStep ] in FLMaterialization>>instancesStep
> SmallInteger(Integer)>>timesRepeat:
> FLMaterialization>>instancesStep
> FLMaterialization>>run
> [ :aDecoder | 
> (FLMaterialization with: aDecoder)
>       run;
>       yourself ] in FLMaterializer>>setDefaultMaterialization
> FLMaterializer>>materializeFrom:
> FLMaterializer class>>materializeFromByteArray:
> MAPExampleModels class>>readModelFromSelector:
> MAPExampleModels class>>readModelNamed:
> [ self readModelNamed: aString ] in MAPExampleModels class>>named:
> [ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut:
> Dictionary>>at:ifAbsent:
> Dictionary>>at:ifAbsentPut:
> MAPExampleModels class>>named:
> MAPTest>>model
> MAPTest>>tcapModule
> MAPTest>>testInsertSubscriberDataBitStringAccess
> [ testMethod perform: testMethod selector ] in Given>>produceReturnValueAt:
> [ self at: key put: aBlock value ] in Dictionary>>at:ifAbsentPut:
> Dictionary>>at:ifAbsent:
> Dictionary>>at:ifAbsentPut:
> Given>>produceReturnValueAt:
> MAPTest(Phexample)>>performTest
> 
> 

Reply via email to