New issue 225 by flio...@free.fr: Invalid file descriptor error only with
VC++ 2005-2008 (not 2010)
http://code.google.com/p/protobuf/issues/detail?id=225
What steps will reproduce the problem?
1. Compile "Messages.proto" with protoc (2.3.0).
2. Compile the resulting files along with "main.cpp" under VC++ 2005 or
2008.
3. Link statically against protobuf 2.3.0.
What is the expected output? What do you see instead?
The program should quietly quit but instead the following error is raised:
libprotobuf ERROR ..\src\google\protobuf\descriptor_database.cc:320]
Invalid file descriptor data passed to EncodedDescriptorDatabase::Add().
libprotobuf FATAL ..\src\google\protobuf\descriptor.cc:860] CHECK failed:
generated_database_->Add(encoded_file_descriptor, size):
This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
What version of the product are you using? On what operating system?
Protobuf 2.3.0 on Windows XP Pro SP2.
Please provide any additional information below.
Quotation marks inside default string value are necessary (but not enought)
to produce an invalid descriptor (see "Messages.proto").
Note that the error doesn't occur under VC++ 2010.
Attachments:
Messages.proto 143 bytes
main.cpp 214 bytes
Comment #1 on issue 225 by ken...@google.com: Invalid file descriptor error
only with VC++ 2005-2008 (not 2010)
http://code.google.com/p/protobuf/issues/detail?id=225
(No comment was entered for this change.)
Hmm, do you mean the question marks or the quotes?
Oups! It's the "question mark" of course. The sign of the Sphinx if you
prefer. ;)
Comment #4 on issue 225 by liuj...@google.com: Invalid file descriptor
error only with VC++ 2005-2008 (not 2010)
http://code.google.com/p/protobuf/issues/detail?id=225
Fixed in r362