CodedInputStream has total bytes limit: https://github.com/google/protobuf/blob/master/src/google/protobuf/io/coded_stream.h#L587
Make sure you don't hit this limit (if you do, use CodedInputStream::SetTotalBytesLimit to set a larger limit). On Sun, Nov 16, 2014 at 2:48 AM, Alexey Chernushev < [email protected]> wrote: > Hi! > I have problem with repeated double field in deserializing process. I want > to read 300 messages from protobuf file, but ReadRaw got failed in last > message (sometimes 10 before last, it depended on number of encoding type). > I've prepared little example where I am reproducing that error > > https://gist.github.com/alexeyche/d6af8a43d346edc12868 > > Could you please say, am I doing something wrong? > > $ protoc -I. --cpp_out=. ./time_series.proto > $ g++ main.cpp time_series.pb.cc -std=c++11 -L/usr/local/lib -lprotobuf > -I/usr/local/include > $ ./a.out synthetic_control_TRAIN out.pb > > ...reading and printing all messages and on 299 message... > > Can't do ReadRaw of message size 489 > terminate called without an active exception > > === > synthetic_control_TRAIN file you can get here > https://yadi.sk/d/gxZy8JSvcjiVD > > If ignore bad status of ReadRaw, then repeated field of last message will > be with almost zeros (e.g. 15e-17) in the end. Maybe it's memory leak? > > > my machine: > > $ protoc --version > libprotoc 2.6.1 > > $ g++ -v > Using built-in specs. > COLLECT_GCC=g++ > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro > 4.8.1-10ubuntu9' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs > --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr > --program-suffix=-4.8 --enable-shared --enable-linker-build-id > --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix > --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls > --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug > --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin > --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk > --enable-gtk-cairo > --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre > --enable-java-home > --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 > --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 > --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar > --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 > --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic > --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu > --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu9) > > $ uname -a > Linux alexeyche-Lenovo-G780 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 > 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
