<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
I seem to have quite a knack for placing periods<BR>
in column 76 by accident. This was truncated right at the end.<BR>
 <BR>
 - Jay<BR><BR>
 <BR>> From: jay.krell@cornell.edu<BR>> To: m3devel@elegosoft.com<BR>> Date: Sun, 13 Dec 2009 05:34:21 +0000<BR>> Subject: [M3devel] pickle bug..solved?.. not supposed to work?<BR>> <BR>> <BR>> https://projects.elego.de/cm3/ticket/1068<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> I've only spent a few minutes here.<BR>> <BR>> Trying to find the relative code and such.<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> The code is here:<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> C:\dev2\cm3.2\m3-comm\netobj\tests\perf\src<BR>> <BR>> <BR>> <BR>> I found it by looking near the top of the stack in<BR>> <BR>> the bug report -- NetObjTest.m3 -- and<BR>> <BR>> then dir /s/b NetObjTest.m3.<BR>> <BR>> <BR>> <BR>> or find . | grep NetObjTest.m3$ on Unix.<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> It appears that Pickle v1 and v2 are both<BR>> <BR>> available in the same library.<BR>> <BR>> There is INTERFACE Pickle and INTERFACE Pickle2.<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> It appears netobj can use either.<BR>> <BR>> <BR>> <BR>> If you look at the stack in the bug, there is a lot of "v1" stuff.<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> We provide Quake functions:<BR>> <BR>> <BR>> <BR>> readonly proc netobjv1(intf, type) is<BR>> ...<BR>> <BR>> end<BR>> <BR>> <BR>> <BR>> readonly proc Netobjv1(intf, type) is<BR>> ...<BR>> <BR>> end<BR>> <BR>> <BR>> <BR>> readonly proc netobjv2(intf, type) is<BR>> ...<BR>> <BR>> end<BR>> <BR>> <BR>> <BR>> readonly proc netobj(intf, type) is<BR>> netobjv1(intf, type)<BR>> end<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> <BR>> v1 pickles cannot cross endian/wordsize boundaries.<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> I think the bug is not so much in the pickle code, nor in the netobj code,<BR>> <BR>> but in the test code, or the running of it.<BR>> <BR>> <BR>> <BR>> Tests involving v1 won't work crossing endian/wordsize boundaries.<BR>> <BR>> V1 tests probably should still run, and maybe detect the mismatch<BR>> <BR>> and just claim success?<BR>> <BR>> <BR>> <BR>> And then v2 should get better coverage?<BR>> <BR>> <BR>> <BR>> <BR>> <BR>> Any more bugs then?<BR>> <BR>> I was procrastinating on this because I've never done anything with pickles<BR>                                           </body>
</html>