The project I'm adding this to is rather large and includes about 10 other libs.
What I did was create a basic win32 console app and another win32 windowed app and incorporated my sample proto files. They both compiled and ran fine, so like I figured, the issue is less a software bug and more an environmental issue with my project, which is why I can get it to compile fine, just not run. Thanks for the offer though, I'm probably back to what I know I can get working in the time I have left. On Mon, Feb 23, 2009 at 1:35 PM, Kenton Varda <ken...@google.com> wrote: > From the stack trace it looks like s is not a valid pointer. I don't know > why that would be, though. If you could send me a small but complete demo > program (including VS project files) I could try to debug it. > > On Mon, Feb 23, 2009 at 11:08 AM, Tracey Wiedmeyer > <tracey.wiedme...@gmail.com> wrote: >> >> Here's the trace - It seems to be coming from this line consistently >> in stl_util-inl.h. >> >> inline void STLStringResizeUninitialized(string* s, size_t new_size) { >> s->resize(new_size); // <<<<< >> } >> >> Runner.exe!_CxxThrowException(void * pExceptionObject=0x0012ef48, >> const _s__ThrowInfo * pThrowInfo=0x01219618) Line 161 C++ >> Runner.exe!std::_String_base::_Xran() Line 18 + 0x2e bytes C++ >> >> >> Runner.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >> >::erase(unsigned int _Off=12, unsigned int _Count=4294967295) Line >> 1265 C++ >> >> >> Runner.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >> >::resize(unsigned int _Newsize=12, char _Ch=0) Line 1684 C++ >> >> >> Runner.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >> >::resize(unsigned int _Newsize=12) Line 1678 C++ >> Runner.exe!google::protobuf::STLStringResizeUninitialized() + 0x2a >> bytes >> Runner.exe!google::protobuf::io::CodedInputStream::ReadString() + >> 0x5f bytes >> Runner.exe!google::protobuf::internal::WireFormat::ReadString() + >> 0x67 bytes >> >> >> Runner.exe!google::protobuf::FileDescriptorProto::MergePartialFromCodedStream() >> + 0xa0 bytes >> Runner.exe!google::protobuf::Message::MergeFromCodedStream() + >> 0x55 bytes >> Runner.exe!google::protobuf::Message::ParseFromCodedStream() + >> 0x45 bytes >> >> Runner.exe!google::protobuf::Message::ParseFromBoundedZeroCopyStream() >> + 0x6d bytes >> Runner.exe!google::protobuf::Message::ParseFromArray() + 0x6b >> bytes >> >> Runner.exe!google::protobuf::DescriptorPool::InternalBuildGeneratedFile() >> + 0x1aa bytes >> Runner.exe!protobuf_BuildDesc_sample_2eproto() Line 72 C++ >> >> >> Runner.exe!StaticDescriptorInitializer_sample_2eproto::StaticDescriptorInitializer_sample_2eproto() >> Line 78 C++ >> Runner.exe!`dynamic initializer for >> 'static_descriptor_initializer_sample_2eproto_''() Line 79 + 0x13 >> bytes C++ >> Runner.exe!_initterm(void (void)* * pfbegin=0x01068c7c, void >> (void)* >> * pfend=0x01068f6c) Line 903 C >> Runner.exe!_cinit(int initFloatingPrecision=1) Line 307 + 0xf >> bytes C >> Runner.exe!__tmainCRTStartup() Line 249 + 0x7 bytes C >> Runner.exe!WinMainCRTStartup() Line 182 C >> kernel32.dll!760c4911() >> ntdll.dll!7771e4b6() >> ntdll.dll!7771e489() >> >> My .proto file looks like this - a real simple example >> //*********************************************** >> package mypack; >> >> message Guy { >> required string name = 1; >> } >> >> message People { >> repeated Guy guy = 1; >> } >> //*********************************************** >> >> Vista Ultimate / Visual Studio 08 Pro / Static linkage all around (/MTd) >> >> Thanks. >> >> On Mon, Feb 23, 2009 at 11:45 AM, Kenton Varda <ken...@google.com> wrote: >> > Not ringing any bells so far. Can you provide a stack trace for the >> > crash? >> > >> > On Sat, Feb 21, 2009 at 2:56 PM, <tracey.wiedme...@gmail.com> wrote: >> >> >> >> When debugging through the CRT the error starts during the static >> >> initializer functions >> >> >> >> StaticDescriptorInitializer_... >> >> >> >> Looks like some access faults but I can't tell what causes this. I am >> >> compiling and linking fine so I can only assume something else with >> >> the build process went wrong? A flag or directive missing? >> >> >> >> On Feb 21, 11:32 am, tracey.wiedme...@gmail.com wrote: >> >> > I've got a C++ program (.exe) that is compiled in Debug mode using / >> >> > MTd (multi-threaded debug). It compiles fine, and has been a working >> >> > program for some time (debug and release). I'm using Visual Studio >> >> > 2008 Pro on Vista Ultimate. >> >> > >> >> > I want to integrate protocol buffers into it, so I pulled down the >> >> > latest 2.0.3, and compiled libprotobuf in debug mode using /MTd. It >> >> > compiles fine, I choose "Link Library Dependencies=No" for the >> >> > project >> >> > properties. >> >> > >> >> > Then I created a small sample proto file and generated the c++ >> >> > source, >> >> > still good up to this point. I added my sample.pb.h and sample.pb.cc >> >> > into my project and added the libprotobuf header files to my >> >> > additional include path and libprotobuf.lib to the additional library >> >> > setting. >> >> > >> >> > Everything compiles fine, and links fine, so I actually get an debug >> >> > executable. However when I run the program I get an immediate fault, >> >> > which breaks to _crtdebugbreak(); >> >> > >> >> > If I compile both in release mode it seems to work fine, executable >> >> > runs without issue. >> >> > >> >> > I've gone through great lengths to make sure the compile and linkage >> >> > settings for my program and the protobuf library are the same. It >> >> > seems like I've made it through the hard part of compiling and >> >> > linking >> >> > so I'm hoping the collective brain can help me out of this. Any >> >> > ideas >> >> > on what to try from here, short of trying thrift, which I won't be >> >> > able to compile the compiler in visual studio anyway :) >> >> > >> >> > Thanks. >> >> >> >> >> > >> > > > -- Tracey Wiedmeyer P: 312.674.4769 M: 773.391.6098 tracey.wiedme...@incontextsolutions.net In Context Solutions, LLC 200 S. Wacker, Suite 3100 Chicago, IL 60606 www.incontextsolutions.net --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to protobuf@googlegroups.com To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/protobuf?hl=en -~----------~----~----~----~------~----~------~--~---