[M3devel] pickle bug..solved?.. not supposed to work?

Randy Coleburn rcoleburn at scires.com
Sun Dec 13 06:52:53 CET 2009


Jay:
 
I've done a lot with Pickles and with NetObj.
 
I switched to the v2 version a long time ago and never looked back.
 
IMO, we should switch over to v2 exclusively and consider v1 obsolete.  Perhaps some others should comment on this to see if they share my opinion.
 
Regards,
Randy

>>> Jay K <jay.krell at cornell.edu> 12/13/2009 12:34 AM >>>

https://projects.elego.de/cm3/ticket/1068 





I've only spent a few minutes here.

Trying to find the relative code and such.





The code is here:





C:\dev2\cm3.2\m3-comm\netobj\tests\perf\src



I found it by looking near the top of the stack in

the bug report -- NetObjTest.m3 -- and

then dir /s/b NetObjTest.m3.



or find . | grep NetObjTest.m3$ on Unix.





It appears that Pickle v1 and v2 are both

available in the same library.

There is INTERFACE Pickle and INTERFACE Pickle2.





It appears netobj can use either.



If you look at the stack in the bug, there is a lot of "v1" stuff.





We provide Quake functions:



readonly proc netobjv1(intf, type) is
...

end



readonly proc Netobjv1(intf, type) is
...

end



readonly proc netobjv2(intf, type) is
...

end



readonly proc netobj(intf, type) is
  netobjv1(intf, type)
end






v1 pickles cannot cross endian/wordsize boundaries.





I think the bug is not so much in the pickle code, nor in the netobj code,

but in the test code, or the running of it.



Tests involving v1 won't work crossing endian/wordsize boundaries.

V1 tests probably should still run, and maybe detect the mismatch

and just claim success?



And then v2 should get better coverage?





Any more bugs then?

I was procrastinating on this because I've never done anything with pickles
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091213/cf004a33/attachment-0002.html>


More information about the M3devel mailing list