1: 2009-08-31 (月) 18:45:00 iseki  |
現: 2009-08-31 (月) 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++; |
| + | } |