<html><head><base href="x-msg://824/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Yes, v1 is there in case anyone has v1 pickles they want to decode.<div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; -webkit-text-decorations-in-effect: none; text-indent: 0px; -webkit-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div><span class="Apple-style-span" style="font-size: medium;"><font class="Apple-style-span" color="#0000FF" face="'Gill Sans'"><br></font></span></div></span></span></span></span></span></span></span></span></div></span></span></div><div><div>On 13 Dec 2009, at 00:50, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; ">I assume there is a need to keep the code around for compatibility?<br>You know -- to read existing files?<br>And to keep testing that?<br>  And write them at least so the tests can read them back?<br> <br> <br>But maybe we should take a read-only attitude?<br> <br> <br>And switch the quake netobj=netobj1 to netobj=netobj2?<br> <br> <br>It's tough..if you convert-upon-write, and people are<br>running old programs, you'll break their files.<br> <br> <br>It's also tough, you know, I think this stuff is too automatic.<br>I'm pretty sure we should change the Text internal representation,<br>but I'm also pretty sure the persistance (disk) representation<br>is automatically derived from the transient (memory)<br>representation and changing the second breaks the first.<br> <br> <br>You know, I suspect it is like those systems<br>that do:<br> <br> <br>struct foo a;<br>fwrite(&a, sizeof(a));<br> <br> <br>but just with endian/wordsize conversions and<br>hashes/typeid to do checks upon read, so it<br>won't crash if you change things, but it also won't<br>read back successfully.<br> <br> <br>Maybe the v1 limitations are good as well, in that maybe<br>it is faster, and sometimes the limitations don't matter???<br> <br> <br> - Jay<br><br> <br><hr id="stopSpelling">Date: Sun, 13 Dec 2009 00:52:53 -0500<br>From:<span class="Apple-converted-space"> </span><a href="mailto:rcoleburn@scires.com">rcoleburn@scires.com</a><br>To:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Subject: Re: [M3devel] pickle bug..solved?.. not supposed to work?<br><br><div>Jay:</div><div> </div><div>I've done a lot with Pickles and with NetObj.</div><div> </div><div>I switched to the v2 version a long time ago and never looked back.</div><div> </div><div>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.</div><div> </div><div>Regards,</div><div>Randy<br><br>>>> Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> 12/13/2009 12:34 AM >>><br><br><a href="https://projects.elego.de/cm3/ticket/1068">https://projects.elego.de/cm3/ticket/1068</a><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</div></div></span></blockquote></div><br></div></body></html>