Re: [protobuf] Protobuf serializer corruption after a while

2013-09-30 Thread Marc Gravell
Build r668 went out earlier to both nuget and google-code. I guess the 666
build was doomed to have an evil bug hiding away in there somewhere.

Marc


On 29 September 2013 10:06, Marc Gravell marc.grav...@gmail.com wrote:

 Yikes. Bug. Basically, the position field wasn't being reset when used
 from the pool. This field is used for two main purposes:

 - error reporting (telling the user at what offset it glitched)
 - tracking sub-object ranges

 I suspect that because it didn't reset, the field overflowed. This won't
 impact error reporting, but will be really bad for sub-object ranges

 The fix is trivial, but I'm a bit stuck for a PC today (long story
 involving a failed house move, and a telco who cut my DSL despite being
 told not to).

 I will deploy a fix first thing Monday, when I have access to my build VM
 and something other than a Nexus 4.

 Marc
  On 29 Sep 2013 00:41, Slav Ivanyuk slav@gmail.com wrote:

 I'm trying to diagnose a bug where after a while system begins to
 experience issues deserializing messages after a while. Simply put,
 messages begin to come in as if the default constructor was called, but
 properties were not initialized. Sometimes I get Sub-message not read
 correctly. On restart it looks like everything goes back to normal. By
 after a while I mean after several thousands of serializations /
 deserializations happened.

 Several things changed in the system, but one of them was update of
 protobuf.net from 621 to 640.

 Once the problem begins, the only way to fix it is to restart the system.

 Is it even remotely imaginable the problem could be in protobuf due to
 the update? I'm going to roll back, but also trying to diagnose what's
 going on. Is there any way to diagnose the state of protobuf to try and
 figure out why the issue begins to happen?

 p.s. It seems like the problem begins to happen with deserializer, not
 serializer. But I'm not 100% sure.

 --
 You received this message because you are subscribed to the Google Groups
 Protocol Buffers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to protobuf+unsubscr...@googlegroups.com.
 To post to this group, send email to protobuf@googlegroups.com.
 Visit this group at http://groups.google.com/group/protobuf.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 
Regards,

Marc

-- 
You received this message because you are subscribed to the Google Groups 
Protocol Buffers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [protobuf] Protobuf serializer corruption after a while

2013-09-29 Thread Marc Gravell
Yikes. Bug. Basically, the position field wasn't being reset when used
from the pool. This field is used for two main purposes:

- error reporting (telling the user at what offset it glitched)
- tracking sub-object ranges

I suspect that because it didn't reset, the field overflowed. This won't
impact error reporting, but will be really bad for sub-object ranges

The fix is trivial, but I'm a bit stuck for a PC today (long story
involving a failed house move, and a telco who cut my DSL despite being
told not to).

I will deploy a fix first thing Monday, when I have access to my build VM
and something other than a Nexus 4.

Marc
 On 29 Sep 2013 00:41, Slav Ivanyuk slav@gmail.com wrote:

 I'm trying to diagnose a bug where after a while system begins to
 experience issues deserializing messages after a while. Simply put,
 messages begin to come in as if the default constructor was called, but
 properties were not initialized. Sometimes I get Sub-message not read
 correctly. On restart it looks like everything goes back to normal. By
 after a while I mean after several thousands of serializations /
 deserializations happened.

 Several things changed in the system, but one of them was update of
 protobuf.net from 621 to 640.

 Once the problem begins, the only way to fix it is to restart the system.

 Is it even remotely imaginable the problem could be in protobuf due to the
 update? I'm going to roll back, but also trying to diagnose what's going
 on. Is there any way to diagnose the state of protobuf to try and figure
 out why the issue begins to happen?

 p.s. It seems like the problem begins to happen with deserializer, not
 serializer. But I'm not 100% sure.

 --
 You received this message because you are subscribed to the Google Groups
 Protocol Buffers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to protobuf+unsubscr...@googlegroups.com.
 To post to this group, send email to protobuf@googlegroups.com.
 Visit this group at http://groups.google.com/group/protobuf.
 For more options, visit https://groups.google.com/groups/opt_out.


-- 
You received this message because you are subscribed to the Google Groups 
Protocol Buffers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/groups/opt_out.