[sldev] PowerPC weirdness continues

Ryan Williams rdw at lindenlab.com
Sat May 19 22:38:51 PDT 2007


Paul TBBle Hampson wrote:
> OK, I've been trying to work out why my local PowerPC build
> is stuffing up, yet at least one person has got a working
> PowerPC build on this list...
>
> Looking at ParcelOverlay again:
>
> {
>     ParcelOverlay Low Trusted Zerocoded
>     {
>         ParcelData      Single
>         {   SequenceID  S32             }   // 0...3, which piece of region
>         {   Data        Variable    2   }   // packed bit-field, (grids*grids)/N
>     }
> }
>
> Based on my understanding of the packet format, I'm expecting
>
> XX YY YY YY ff ff ZZ ZZ SE QU NC ID DL EN DATA...
>   

I'm just glancing over this, but I believe that the libsl folks 
discovered that the ordering of the variables in a block, and the 
ordering of blocks in a message, is determined by a hashtable 
ordering.   I.e. it is essentially random relative to the order 
specified in the template.  The reason this works at all is because the 
message templates are perfectly in sync, always, and the hash algorithm 
is always the same on all viewers.  One of the requirements of the 
message liberation project is to make the ordering consistent with the 
template, so once that is complete, this stuff will make more sense.
> Where XX is flags, YYYYYY is BE packet sequence number,
> ZZZZ is the message ID for ParcelOverlay, SEQUNCID is the
> value for SequenceID, DLEN is the LE length of the following sequence
> and then DATA... is the data.
>
> Going from the dumped packet at the end of this email:
> 40 00 00 0e ff ff 00 e4 00 04 c1 c1 81 81 c1 81 
>
> Sequence #0x0e (the next two were 0x0f and 0x10, so that's OK)
> ZZ = 0xe4, that's fine.
> Then I get the 2-bytes I expected for DLEN, (the other packets concurred)
> which is bizarre, since I'm expected four bytes of sequence ID here.
>
>   
This is explained if the hashtable ordering swapped SequenceID and Data 
relative to the template's ordering.  :-/  Hope that helps with your 
debugging.

-RYaN

> 1024 bytes of DATA follow, then four null bytes.
>
> So the length (1038) is correct for what I'm expecting.
>
> So, unless I'm missing something important, this packet dump is actually badly broken. >_<
>
> Oh well. Something else going wrong, earlier in the process. I've got to get a dump of the
> packet at the various stages it progresses through, see where the buffer's being broken, and
> if it's related to my problem.
>
> Here's the dumped packet: (The packet dump output could do with a once-over with the
> pretty-brush, BTW. ^_^)
>
> 2007-05-19T22:43:53Z WARNING: processParcelOverlay: Got parcel overlay size 4 expecting 1024 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: Packet Dump from:72.5.12.82:13005 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: Packet Size:1038
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 0PD:40 00 00 0e ff ff 00 e4 00 04 c1 c1 81 81 c1 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 1PD:81 81 c1 c1 81 81 c1 c1 81 81 c1 81 81 81 c1 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 2PD:81 81 c1 c1 81 81 c1 c1 81 81 c1 81 81 81 c1 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 3PD:81 81 c1 c1 81 81 c1 c1 81 81 c1 81 81 81 c1 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 4PD:81 81 c1 c1 81 81 c1 c1 81 81 c1 01 01 01 81 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 5PD:81 81 81 81 81 81 81 81 81 81 01 01 01 01 81 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 6PD:81 81 81 81 81 81 81 81 81 81 01 01 01 c1 81 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 7PD:81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 8PD:81 81 81 81 81 81 81 81 81 81 41 01 01 01 c1 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD: 9PD:81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:10PD:81 81 81 81 81 81 81 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:11PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:12PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:13PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:14PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:15PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:16PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:17PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:18PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01 
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:19PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:20PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:21PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:22PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:23PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:24PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:25PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:26PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:27PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:28PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:29PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:30PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:31PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:32PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:33PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:34PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:35PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:36PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:37PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:38PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:39PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:40PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:41PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:42PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:43PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:44PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:45PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:46PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 c1
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:47PD:81 81 81 81 81 41 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:48PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:49PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:50PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 41
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:51PD:01 01 01 01 01 41 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:52PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:53PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:54PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 41
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:55PD:01 01 01 01 01 41 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:56PD:01 01 01 01 01 01 01 01 01 01 41 01 01 01 41 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:57PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:58PD:01 01 01 01 01 01 01 41 01 01 01 01 01 41 01 41
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:59PD:01 01 01 01 01 41 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:60PD:01 01 01 01 01 01 01 01 01 01 41 01 01 c1 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:61PD:01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:62PD:01 01 01 01 01 01 c1 01 01 01 01 01 01 41 01 81
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:63PD:81 81 81 81 81 01 01 01 01 01 01 01 01 01 01 01
> 2007-05-19T22:43:53Z WARNING: dumpPacketToLog: PD:64PD:01 01 01 01 01 01 01 01 01 01 00 00 00 00
>
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Click here to unsubscribe or manage your list subscription:
> /index.html
>   



More information about the SLDev mailing list