1: 2009-08-31 (Mon) 18:45:00 iseki  |
Cur: 2009-08-31 (Mon) 18:52:51 iseki  |
| - | 19:03:35 - [CLIENT]: Client thread for Fumi Hax 751c1531-03b5-48a9-8f2d-51a0527be7ca crashed. Logging them out. | + | *** オブジェクトのリスト更新でクラッシュ [#uac991e5] |
| | + | - Error Log |
| | + | 19:03:35 - [CLIENT]: Client thread for Fumi Hax 751c1531-03b5-48a9-8f2d-51a0527be7ca crashed. Logging them out. |
| | 19:03:35 - System.NullReferenceException: Object reference not set to an instance of an object | | 19:03:35 - System.NullReferenceException: Object reference not set to an instance of an object |
| | at OpenMetaverse.Packets.ParcelObjectOwnersReplyPacket.get_Length () [0x00000] | | at OpenMetaverse.Packets.ParcelObjectOwnersReplyPacket.get_Length () [0x00000] |
| | at OpenSim.Region.ClientStack.LindenUDP.LLClientView.ClientLoop () [0x00000] | | at OpenSim.Region.ClientStack.LindenUDP.LLClientView.ClientLoop () [0x00000] |
| | at OpenSim.Region.ClientStack.LindenUDP.LLClientView.RunUserSession () [0x00000] | | at OpenSim.Region.ClientStack.LindenUDP.LLClientView.RunUserSession () [0x00000] |
| | + | |
| | + | - OpenSim/Region/ClientStack/LindenUDP/LLPacketHandler.cs |
| | + | - QueuePacket() の item.Length = packet.Length; で例外発生 |
| | + | - ParcelObjectOwnersReplyPacket には get_Length() が実装されていないと言うこと? |
| | + | - 原因不明だが,とりあえず,例外を catch して回避 |
| | + | private void QueuePacket( |
| | + | Packet packet, ThrottleOutPacketType throttlePacketType, |
| | + | Object id) |
| | + | { |
| | + | LLQueItem item = new LLQueItem(); |
| | + | item.Packet = packet; |
| | + | item.Incoming = false; |
| | + | item.throttleType = throttlePacketType; |
| | + | item.TickCount = Environment.TickCount; |
| | + | item.Identifier = id; |
| | + | item.Resends = 0; |
| | + | try { |
| | + | item.Length = packet.Length; |
| | + | } |
| | + | catch (Exception e) { |
| | + | item.Length = 0; |
| | + | } |
| | + | item.Sequence = packet.Header.Sequence; |
| | + | |
| | + | m_PacketQueue.Enqueue(item); |
| | + | m_PacketsSent++; |
| | + | } |