We have a core dump here:

#0  0xf749b0d9 in std::string::size () from /usr/lib/libstdc++.so.6
#1  0x0822119c in bd::Header::ByteSize ()
#2  0x082323b3 in
google::protobuf::internal::WireFormat::MessageSizeNoVirtual<bd::Header> ()
#3  0x082257cd in bd::Request::ByteSize ()
#4  0x08233773 in
google::protobuf::internal::WireFormat::MessageSizeNoVirtual<bd::Request> ()
#5  0x082258b8 in bd::Data::ByteSize ()
#6  0x08233797 in
google::protobuf::internal::WireFormat::MessageSizeNoVirtual<bd::Data> ()
#7  0x0822598e in bd::Main::ByteSize ()

Question #1: Any clue what could cause this?  If bd::Request defines a
"repeated bd::Header" field and this core dump is already in
bd::Header::ByteSize, does that mean there must be at least one bd::Header
in the repeated list, or could it be empty still (never added anything)?

We are trying to track down the state of the data in the frame that has a
pointer to the protobuf message (which is named "bd::Main" i.e. "package bd;
message Main { ... }" in the proto).
We are trying in gdb to get to it, without success.  For example:

(gdb) p *pb_pip_thread_data->bd_pb_data_msg.main_msg_hnd
Attempt to dereference a generic pointer.
(gdb) p *(bd::Main *)pb_pip_thread_data->bd_pb_data_msg.main_msg_hnd
A syntax error in expression, near
`)pb_pip_thread_data->bd_pb_data_msg.main_msg_hnd'.

Question #2: How do we dereference the pointer to the message in GDB?  Note
that it is defined as a "void *" but we can't convince gdb to cast it
properly - any clues?

Thanks
--edan

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.

Reply via email to