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

Jay K jay.krell at cornell.edu
Sun Dec 13 06:34:21 CET 2009


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.

 

 

 - Jay

 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20091213/7cc31358/attachment-0001.html>


More information about the M3devel mailing list